@redsift/charts 7.8.0 → 8.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/scheme.ts","../src/components/HorizontalBarChart/types.ts","../src/components/HorizontalBarChart/styles.ts","../src/components/HorizontalBarChart/HorizontalBarChartBar.tsx","../src/components/HorizontalBarChart/HorizontalBarChartAxisBottom.tsx","../src/components/HorizontalBarChart/HorizontalBarChart.tsx","../src/components/PieChart/types.ts","../src/components/PieChart/styles.ts","../src/components/PieChart/PieChartArc.tsx","../src/components/PieChart/PieChart.tsx"],"sourcesContent":["import { PieArcDatum as D3PieArcDatum } from 'd3-shape';\nimport { 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 type Datum = {\n name: string;\n value: number;\n};\n\nexport type PieArcDatum = D3PieArcDatum<Datum>;\n\nexport const ColorTheme = {\n default: 'default',\n dark: 'dark',\n darker: 'darker',\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","import {\n scaleOrdinal as d3scaleOrdinal,\n ScaleOrdinal as d3ScaleOrdinal,\n} from 'd3';\nimport { ColorTheme, SuccessDangerColorTheme } from './types';\n\nimport {\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorCyanDark,\n RedsiftDataVizColorCyanDarker,\n RedsiftDataVizColorCyanDefault,\n RedsiftDataVizColorCyanLight,\n RedsiftDataVizColorCyanLighter,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorGreyDark,\n RedsiftDataVizColorGreyDarker,\n RedsiftDataVizColorGreyDefault,\n RedsiftDataVizColorGreyLight,\n RedsiftDataVizColorGreyLighter,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorYellowLighter,\n} from '@redsift/design-system';\n\nexport const monochrome = RedsiftDataVizColorBlueDefault;\n\nexport const scheme = {\n default: [\n RedsiftDataVizColorPurpleDefault,\n RedsiftDataVizColorBlueDefault,\n RedsiftDataVizColorGreenDefault,\n RedsiftDataVizColorRedDefault,\n RedsiftDataVizColorPinkDefault,\n RedsiftDataVizColorCyanDefault,\n RedsiftDataVizColorOrangeDefault,\n RedsiftDataVizColorYellowDefault,\n RedsiftDataVizColorBrownDefault,\n RedsiftDataVizColorGreyDefault,\n ],\n dark: [\n RedsiftDataVizColorPurpleDark,\n RedsiftDataVizColorBlueDark,\n RedsiftDataVizColorGreenDark,\n RedsiftDataVizColorRedDark,\n RedsiftDataVizColorPinkDark,\n RedsiftDataVizColorCyanDark,\n RedsiftDataVizColorOrangeDark,\n RedsiftDataVizColorYellowDark,\n RedsiftDataVizColorBrownDark,\n RedsiftDataVizColorGreyDark,\n ],\n darker: [\n RedsiftDataVizColorPurpleDarker,\n RedsiftDataVizColorBlueDarker,\n RedsiftDataVizColorGreenDarker,\n RedsiftDataVizColorRedDarker,\n RedsiftDataVizColorPinkDarker,\n RedsiftDataVizColorCyanDarker,\n RedsiftDataVizColorOrangeDarker,\n RedsiftDataVizColorYellowDarker,\n RedsiftDataVizColorBrownDarker,\n RedsiftDataVizColorGreyDarker,\n ],\n light: [\n RedsiftDataVizColorPurpleLight,\n RedsiftDataVizColorBlueLight,\n RedsiftDataVizColorGreenLight,\n RedsiftDataVizColorRedLight,\n RedsiftDataVizColorPinkLight,\n RedsiftDataVizColorCyanLight,\n RedsiftDataVizColorOrangeLight,\n RedsiftDataVizColorYellowLight,\n RedsiftDataVizColorBrownLight,\n RedsiftDataVizColorGreyLight,\n ],\n lighter: [\n RedsiftDataVizColorPurpleLighter,\n RedsiftDataVizColorBlueLighter,\n RedsiftDataVizColorGreenLighter,\n RedsiftDataVizColorRedLighter,\n RedsiftDataVizColorPinkLighter,\n RedsiftDataVizColorCyanLighter,\n RedsiftDataVizColorOrangeLighter,\n RedsiftDataVizColorYellowLighter,\n RedsiftDataVizColorBrownLighter,\n RedsiftDataVizColorGreyLighter,\n ],\n monochrome: [monochrome],\n empty: [RedsiftDataVizColorGreyDark],\n};\n\nexport const successDangerScheme = {\n success: RedsiftDataVizColorGreenDark,\n warning: RedsiftDataVizColorOrangeDark,\n danger: RedsiftDataVizColorRedDark,\n neutral: RedsiftDataVizColorGreyDark,\n};\n\nexport const getColorScale = (\n theme: ColorTheme | SuccessDangerColorTheme,\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(scheme[theme]);\n } else if (typeof theme === 'object') {\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 }\n\n return d3colors;\n};\n","import { ColorTheme, Datum, SuccessDangerColorTheme } from '../../types';\nimport { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\n\n/**\n * Component size.\n */\nexport const HorizontalBarChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type HorizontalBarChartSize = ValueOf<typeof HorizontalBarChartSize>;\n\n/**\n * Component theme.\n */\nexport const HorizontalBarChartTheme = ColorTheme;\nexport type HorizontalBarChartTheme = ValueOf<typeof HorizontalBarChartTheme>;\n\n/**\n * Tooltip label variant.\n */\nexport const HorizontalBarChartTooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type HorizontalBarChartTooltipVariant = ValueOf<\n typeof HorizontalBarChartTooltipVariant\n>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\n/**\n * Component props.\n */\nexport interface HorizontalBarChartProps extends ComponentProps<'div'> {\n /** Whether the x axis labels are rotated or not. */\n areXLabelsRotated?: boolean;\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Caption. */\n caption?: string;\n /** Dataset to use to generate the chart, should be a list of objects containing a name and a value. */\n data: Datum[];\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Method to be called on a click on a bar. */\n onBarClick?: (data: Datum) => 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 /** HorizontalBarChart size. */\n size?: HorizontalBarChartSize;\n /** Bar role. Used to indicate that bars are to be considered buttons or links. If an onClick is provided, the bars will have the role `button` unless specifically set to `link` with this prop. */\n barRole?: 'button' | 'link';\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?: HorizontalBarChartTheme | SuccessDangerColorTheme;\n /** Title. */\n title?: string;\n /** Tooltip variant. */\n tooltipVariant?: HorizontalBarChartTooltipVariant;\n}\n\nexport type StyledHorizontalBarChartProps = Omit<\n HorizontalBarChartProps,\n 'data'\n> & {};\n\nexport interface HorizontalBarChartBarProps extends ComponentProps<'g'> {\n chartId: string;\n color: string;\n data: Datum;\n gap: number;\n height: number;\n index: number;\n isEmpty: boolean;\n onClick?: () => void;\n role?: HorizontalBarChartProps['barRole'];\n showTooltip: boolean;\n tooltipLabelOnly: boolean;\n tooltipPercent: number | null;\n width: number;\n}\n\nexport type StyledHorizontalBarChartBarProps = Omit<\n HorizontalBarChartBarProps,\n | 'chartId'\n | 'color'\n | 'data'\n | 'gap'\n | 'height'\n | 'index'\n | 'isEmpty'\n | 'showTooltip'\n | 'tooltipPercent'\n | 'tooltipLabelOnly'\n | 'width'\n> & {\n $clickable: boolean;\n};\n\nexport interface HorizontalBarChartAxisBottomProps extends ComponentProps<'g'> {\n areXLabelsRotated: boolean;\n chartHeight: number;\n d3scale: d3ScaleLinear<number, number>;\n}\n\nexport type StyledHorizontalBarChartAxisBottomProps = Omit<\n HorizontalBarChartAxisBottomProps,\n 'areXLabelsRotated' | 'chartHeight' | 'd3scale'\n> & {};\n","import styled, { css } from 'styled-components';\nimport { Flexbox } from '@redsift/design-system';\nimport {\n StyledHorizontalBarChartProps,\n StyledHorizontalBarChartBarProps,\n} from './types';\n\n/**\n * Component style.\n */\nexport const StyledHorizontalBarChart = styled.div<StyledHorizontalBarChartProps>`\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-horizontal-barchart__container {\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\n .redsift-horizontal-barchart-container__chart {\n position: relative;\n }\n }\n\n svg {\n display: block;\n\n g {\n margin: 8px;\n }\n }\n`;\n\nexport const StyledHorizontalBarChartTitle = styled(\n Flexbox\n)<StyledHorizontalBarChartProps>`\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n`;\n\nexport const StyledHorizontalBarChartCaption = styled.p<StyledHorizontalBarChartProps>`\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\nexport const StyledHorizontalBarChartEmptyText = 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\nexport const StyledHorizontalBarChartBar = styled.g<StyledHorizontalBarChartBarProps>`\n rect {\n fill-opacity: 0.9;\n }\n\n ${({ $clickable }) =>\n $clickable\n ? css`\n cursor: pointer;\n\n &:hover,\n &:focus {\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 : ''}}\n`;\n\nexport const StyledHorizontalBarChartAxisBottom = styled.g`\n line.grid-line {\n fill: none;\n stroke: #ccc;\n shape-rendering: crispEdges;\n }\n\n text {\n font-family: var(--redsift-typography-font-family-source-code-pro);\n font-size: 10px;\n }\n`;\n","import React, { forwardRef, KeyboardEventHandler, RefObject } from 'react';\n\nimport { Comp, Number, Text } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { HorizontalBarChartBarProps } from './types';\nimport { StyledHorizontalBarChartBar } from './styles';\n\nconst COMPONENT_NAME = 'HorizontalBarChartBar';\nconst CLASSNAME = 'redsift-horizontal-barchart-bar';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartBarProps> = {};\n\nexport const HorizontalBarChartBar: Comp<\n HorizontalBarChartBarProps,\n SVGGElement\n> = forwardRef((props, ref) => {\n const {\n chartId,\n color,\n data,\n gap,\n height,\n index,\n isEmpty,\n onClick,\n role,\n showTooltip,\n tooltipLabelOnly,\n tooltipPercent,\n width,\n ...forwardedProps\n } = props;\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();\n }\n }\n };\n\n const Bar = (\n <StyledHorizontalBarChartBar\n {...forwardedProps}\n ref={ref as RefObject<SVGGElement>}\n aria-label={\n showTooltip && !isEmpty ? `${data.name}: ${data.value}` : undefined\n }\n aria-labelledby={\n !showTooltip && !isEmpty\n ? `id${chartId}__slice-${index}-title`\n : undefined\n }\n id={`id${chartId}__slice-${index}`}\n className={`row _${index}`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n transform={`translate(0,${gap * (index + 1) + height * index})`}\n $clickable={Boolean(onClick)}\n >\n <rect height={height} width={width} fill={color} />\n <text x=\"10\" y={height / 2} dy=\"0.35em\" aria-hidden={true}>\n {data.name}\n </text>\n {!showTooltip && !isEmpty && (\n <title>{`${data.name}: ${data.value}`}</title>\n )}\n </StyledHorizontalBarChartBar>\n );\n\n if (showTooltip) {\n return (\n <Tooltip placement=\"right\">\n <Tooltip.Trigger>{Bar}</Tooltip.Trigger>\n <Tooltip.Content>\n {tooltipLabelOnly ? (\n <Text variant=\"caption\">{data.name}</Text>\n ) : tooltipPercent !== null ? (\n <Text variant=\"caption\">\n {data.name} -{' '}\n <Number\n value={tooltipPercent}\n type=\"percent\"\n variant=\"caption\"\n maximumFractionDigits={2}\n />\n </Text>\n ) : (\n <Text variant=\"caption\">\n {data.name} -{' '}\n <Number\n value={data.value}\n variant=\"caption\"\n maximumFractionDigits={2}\n />\n </Text>\n )}\n </Tooltip.Content>\n </Tooltip>\n );\n }\n\n return Bar;\n});\nHorizontalBarChartBar.className = CLASSNAME;\nHorizontalBarChartBar.defaultProps = DEFAULT_PROPS;\nHorizontalBarChartBar.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { HorizontalBarChartAxisBottomProps } from './types';\nimport { StyledHorizontalBarChartAxisBottom } from './styles';\nimport { select, axisBottom } from 'd3';\n\nconst COMPONENT_NAME = 'HorizontalBarChartAxisBottom';\nconst CLASSNAME = 'redsift-horizontal-barchart-axis-bottom';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartAxisBottomProps> = {};\n\nexport const HorizontalBarChartAxisBottom: Comp<\n HorizontalBarChartAxisBottomProps,\n SVGGElement\n> = forwardRef((props, ref) => {\n const { areXLabelsRotated, chartHeight, d3scale, ...forwardedProps } = props;\n\n const axisRef = (ref || useRef<SVGGElement>()) as RefObject<SVGGElement>;\n\n useEffect(() => {\n if (axisRef.current) {\n select(axisRef.current).call(axisBottom(d3scale).ticks(5));\n\n select(axisRef.current)\n .selectAll('g.tick')\n .select('line.grid-line')\n .remove();\n\n select(axisRef.current)\n .selectAll('g.tick')\n .append('line')\n .attr('class', 'grid-line')\n .attr('x1', 0)\n .attr('y1', 0)\n .attr('x2', 0)\n .attr('y2', () => -chartHeight);\n\n if (areXLabelsRotated) {\n select(axisRef.current)\n .attr('text-anchor', 'end')\n .selectAll('text')\n .attr('transform', 'translate(-6,5) rotate(-45)');\n }\n }\n }, [d3scale]);\n\n return (\n <StyledHorizontalBarChartAxisBottom\n className=\"axis\"\n {...forwardedProps}\n ref={axisRef}\n />\n );\n});\nHorizontalBarChartAxisBottom.className = CLASSNAME;\nHorizontalBarChartAxisBottom.defaultProps = DEFAULT_PROPS;\nHorizontalBarChartAxisBottom.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useId } from 'react';\nimport { scaleLinear as d3scaleLinear, sum as d3sum } from 'd3';\n\nimport { Comp } from '@redsift/design-system';\n\nimport { ChartDimensions, Datum } from '../../types';\nimport { getColorScale } from '../../scheme';\nimport {\n HorizontalBarChartProps,\n HorizontalBarChartSize,\n HorizontalBarChartTheme,\n HorizontalBarChartTooltipVariant,\n} from './types';\nimport {\n StyledHorizontalBarChart,\n StyledHorizontalBarChartCaption,\n StyledHorizontalBarChartEmptyText,\n StyledHorizontalBarChartTitle,\n} from './styles';\nimport { HorizontalBarChartBar } from './HorizontalBarChartBar';\nimport { HorizontalBarChartAxisBottom } from './HorizontalBarChartAxisBottom';\n\nconst COMPONENT_NAME = 'HorizontalBarChart';\nconst CLASSNAME = 'redsift-horizontal-barchart';\nconst DEFAULT_PROPS: Partial<HorizontalBarChartProps> = {\n others: true,\n size: HorizontalBarChartSize.medium,\n theme: HorizontalBarChartTheme.default,\n tooltipVariant: HorizontalBarChartTooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nconst sizeToDimension = (size: HorizontalBarChartSize): ChartDimensions => {\n switch (size) {\n case HorizontalBarChartSize.small:\n return { width: 300, height: 200 };\n case HorizontalBarChartSize.large:\n return { width: 500, height: 400 };\n case HorizontalBarChartSize.medium:\n default:\n return { width: 400, height: 300 };\n }\n};\n\nconst sizeToFontSize = (size: HorizontalBarChartSize | undefined): number => {\n switch (size) {\n case HorizontalBarChartSize.small:\n return 30;\n case HorizontalBarChartSize.large:\n return 38;\n case HorizontalBarChartSize.medium:\n default:\n return 34;\n }\n};\n\nexport const HorizontalBarChart: Comp<HorizontalBarChartProps, HTMLDivElement> =\n forwardRef((props, ref) => {\n const id = useId();\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n areXLabelsRotated,\n caping,\n caption,\n className,\n data: propData,\n onBarClick,\n others,\n size,\n barRole,\n theme,\n title,\n tooltipVariant,\n localeText,\n ...forwardedProps\n } = props;\n const { emptyChartText } = {\n ...DEFAULT_PROPS.localeText,\n ...localeText,\n };\n const isEmpty = propData.every((d) => d.value === 0);\n let data = propData.sort((a, b) => (a.value < b.value ? 1 : -1));\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n data = data.slice(0, caping);\n } else {\n data = data.reduce<Datum[]>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n name: 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 if (isEmpty) {\n data = [];\n }\n\n // Get charts dimensions based on the selected size.\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width - 16;\n const height = chartDimensions.height;\n const chartHeight = height - 48 - (areXLabelsRotated ? 30 : 0);\n const margins = { top: 16, left: 16, right: 16, bottom: 32 };\n const numberOfRows = data.length;\n const gap = 5;\n\n // Set color scheme.\n const d3colors = getColorScale(theme!, isEmpty);\n\n // Initialize the chart.\n const scaleX = d3scaleLinear()\n .domain([0, Math.max(...data.map(({ value }) => value))])\n .range([0, width - 32]);\n const barHeight = (chartHeight - (numberOfRows + 1) * gap) / numberOfRows;\n\n const total = d3sum(data, (d) => d.value);\n return (\n <StyledHorizontalBarChart\n {...forwardedProps}\n ref={ref as RefObject<HTMLDivElement>}\n className={className}\n >\n {title ? (\n <StyledHorizontalBarChartTitle\n className={`${HorizontalBarChart.className}__title`}\n alignItems=\"center\"\n id={`id${id}__title`}\n >\n {title}\n </StyledHorizontalBarChartTitle>\n ) : null}\n <div className={`${HorizontalBarChart.className}__container`}>\n <div\n className={`${HorizontalBarChart.className}-container__chart`}\n aria-label={\n ariaLabel\n ? ariaLabel\n : ariaLabelledby || title\n ? undefined\n : 'Horizontal Bar Chart'\n }\n aria-labelledby={\n ariaLabelledby\n ? ariaLabelledby\n : title\n ? `id${id}__title`\n : undefined\n }\n >\n {isEmpty ? (\n <StyledHorizontalBarChartEmptyText\n $maxWidth={width}\n $textSize={sizeToFontSize(size) / 2}\n >\n <span>{emptyChartText}</span>\n </StyledHorizontalBarChartEmptyText>\n ) : null}\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <HorizontalBarChartAxisBottom\n areXLabelsRotated={!!areXLabelsRotated}\n chartHeight={chartHeight}\n d3scale={scaleX}\n transform={`translate(0,${chartHeight})`}\n />\n {data.map(({ value, name }, index) => {\n const percent = value / total;\n return (\n <HorizontalBarChartBar\n chartId={id}\n color={d3colors(name)}\n data={{ value, name }}\n gap={gap}\n height={barHeight}\n index={index}\n isEmpty={isEmpty}\n key={`row _${index}`}\n onClick={\n onBarClick ? () => onBarClick(data[index]) : undefined\n }\n role={barRole}\n showTooltip={\n tooltipVariant !==\n HorizontalBarChartTooltipVariant.none && !isEmpty\n }\n tooltipLabelOnly={\n tooltipVariant == HorizontalBarChartTooltipVariant.label\n }\n tooltipPercent={\n tooltipVariant ===\n HorizontalBarChartTooltipVariant.percent\n ? percent\n : null\n }\n width={Math.abs(scaleX(value))}\n />\n );\n })}\n </g>\n </svg>\n </div>\n </div>\n {caption ? (\n <StyledHorizontalBarChartCaption\n className={`${HorizontalBarChart.className}__caption`}\n >\n {caption}\n </StyledHorizontalBarChartCaption>\n ) : null}\n </StyledHorizontalBarChart>\n );\n });\nHorizontalBarChart.className = CLASSNAME;\nHorizontalBarChart.defaultProps = DEFAULT_PROPS;\nHorizontalBarChart.displayName = COMPONENT_NAME;\n","import { ColorTheme, Datum, SuccessDangerColorTheme } from '../../types';\nimport { ComponentProps } from 'react';\nimport { ValueOf } from '@redsift/design-system';\n\n/**\n * Component size.\n */\nexport const PieChartSize = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n} as const;\nexport type PieChartSize = ValueOf<typeof PieChartSize>;\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\n/**\n * Component theme.\n */\nexport const PieChartTheme = ColorTheme;\nexport type PieChartTheme = ValueOf<typeof PieChartTheme>;\n\n/**\n * Tooltip label variant.\n */\nexport const PieChartTooltipVariant = {\n none: 'none',\n label: 'label',\n value: 'value',\n percent: 'percent',\n};\nexport type PieChartTooltipVariant = ValueOf<typeof PieChartTooltipVariant>;\n\ninterface LocaleText {\n emptyChartText: string;\n}\n\n/**\n * Component props.\n */\nexport interface PieChartProps extends ComponentProps<'div'> {\n /** Number of categories to use, the rest being put into a new category called \"Others\". */\n caping?: number;\n /** Caption. */\n caption?: string;\n /** Dataset to use to generate the chart, should be a list of objects containing a name and a value. */\n data: Datum[];\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?: (data: Datum) => 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?: PieChartSize;\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?: 'button' | 'link';\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?: PieChartTheme | SuccessDangerColorTheme;\n /** Title. */\n title?: string;\n /** PieChart variant. */\n variant?: PieChartVariant;\n /** Tooltip variant. */\n tooltipVariant?: PieChartTooltipVariant;\n}\n\nexport type StyledPieChartProps = Omit<PieChartProps, 'data'> & {};\n\nexport interface PieChartArcProps extends ComponentProps<'g'> {\n chartId: string;\n color: string;\n data: Datum;\n index: number;\n onClick?: () => void;\n path: string;\n role?: PieChartProps['sliceRole'];\n spaced?: boolean;\n showTooltip: boolean;\n tooltipPercent: number | null;\n tooltipLabelOnly: boolean;\n isEmpty: boolean;\n}\n\nexport type StyledPieChartArcProps = Omit<\n PieChartArcProps,\n | 'chartId'\n | 'color'\n | 'data'\n | 'index'\n | 'path'\n | 'spaced'\n | 'showTooltip'\n | 'tooltipPercent'\n | 'tooltipLabelOnly'\n | 'isEmpty'\n> & {\n $spaced: boolean;\n $clickable: boolean;\n};\n","import styled, { css } from 'styled-components';\nimport { Flexbox } from '@redsift/design-system';\nimport { StyledPieChartProps, StyledPieChartArcProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledPieChart = styled.div<StyledPieChartProps>`\n margin: 8px;\n padding: 8px;\n color: var(--redsift-color-neutral-black);\n\n .redsift-piechart__container {\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\n .redsift-piechart-container__chart {\n position: relative;\n }\n }\n svg {\n display: block;\n }\n`;\n\nexport const StyledPieChartTitle = styled(Flexbox)<StyledPieChartProps>`\n font-family: var(--redsift-typography-h4-font-family);\n font-size: var(--redsift-typography-h4-font-size);\n font-weight: var(--redsift-typography-h4-font-weight);\n line-height: var(--redsift-typography-h4-line-height);\n`;\n\nexport const StyledPieChartCaption = styled.p<StyledPieChartProps>`\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\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\nexport const StyledPieChartLabel = styled.li<{ $color: string }>`\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n max-width: 262px;\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\nexport const StyledPieChartArc = styled.g<StyledPieChartArcProps>`\n ${({ $spaced }) =>\n $spaced\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 opacity: 0.8;\n outline: none;\n }\n\n &:focus-visible {\n path {\n stroke: var(--redsift-color-default-primary);\n stroke-width: 4px;\n paint-order: stroke;\n }\n }\n `\n : ''}}\n`;\n","import React, { forwardRef, KeyboardEventHandler, RefObject } from 'react';\n\nimport { Comp, Number, Text } from '@redsift/design-system';\nimport { Tooltip } from '@redsift/popovers';\n\nimport { PieChartArcProps } from './types';\nimport { StyledPieChartArc } from './styles';\n\nconst COMPONENT_NAME = 'PieChartArc';\nconst CLASSNAME = 'redsift-piechart-arc';\nconst DEFAULT_PROPS: Partial<PieChartArcProps> = {};\n\nexport const PieChartArc: Comp<PieChartArcProps, SVGGElement> = forwardRef(\n (props, ref) => {\n const {\n chartId,\n color,\n data,\n index,\n onClick,\n path,\n role,\n spaced,\n showTooltip,\n tooltipPercent,\n tooltipLabelOnly,\n isEmpty,\n ...forwardedProps\n } = props;\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();\n }\n }\n };\n\n const Arc = (\n <StyledPieChartArc\n {...forwardedProps}\n ref={ref as RefObject<SVGGElement>}\n aria-label={\n showTooltip && !isEmpty ? `${data.name}: ${data.value}` : undefined\n }\n aria-labelledby={\n !showTooltip && !isEmpty\n ? `id${chartId}__slice-${index}-title`\n : undefined\n }\n className={`pie-slice _${index}`}\n id={`id${chartId}__slice-${index}`}\n onClick={onClick}\n onKeyDown={onKeyDown}\n role={role ? role : onClick ? 'button' : undefined}\n tabIndex={onClick ? 0 : undefined}\n $clickable={Boolean(onClick)}\n $spaced={Boolean(spaced)}\n >\n <path d={path} fill={color} />\n {!showTooltip && !isEmpty ? (\n <title\n id={`id${chartId}__slice-${index}-title`}\n >{`${data.name}: ${data.value}`}</title>\n ) : null}\n </StyledPieChartArc>\n );\n\n if (showTooltip) {\n return (\n <Tooltip placement=\"right\">\n <Tooltip.Trigger>{Arc}</Tooltip.Trigger>\n <Tooltip.Content>\n {tooltipLabelOnly ? (\n <Text variant=\"caption\">{data.name}</Text>\n ) : tooltipPercent !== null ? (\n <Text variant=\"caption\">\n {data.name} -{' '}\n <Number\n maximumFractionDigits={2}\n type=\"percent\"\n value={tooltipPercent}\n variant=\"caption\"\n />\n </Text>\n ) : (\n <Text variant=\"caption\">\n {data.name} -{' '}\n <Number\n maximumFractionDigits={2}\n value={data.value}\n variant=\"caption\"\n />\n </Text>\n )}\n </Tooltip.Content>\n </Tooltip>\n );\n }\n\n return Arc;\n }\n);\nPieChartArc.className = CLASSNAME;\nPieChartArc.defaultProps = DEFAULT_PROPS;\nPieChartArc.displayName = COMPONENT_NAME;\n","import React, { forwardRef, RefObject, useId } from 'react';\nimport { arc as d3arc, pie as d3pie, sum as d3sum } from 'd3';\n\nimport { Comp, Number, Text } from '@redsift/design-system';\n\nimport { ChartDimensions, Datum, PieArcDatum } from '../../types';\nimport { getColorScale } from '../../scheme';\nimport {\n PieChartLabelVariant,\n PieChartProps,\n PieChartSize,\n PieChartTheme,\n PieChartTooltipVariant,\n PieChartVariant,\n} from './types';\nimport {\n StyledPieChartCenterText,\n StyledPieChart,\n StyledPieChartCaption,\n StyledPieChartLabel,\n StyledPieChartTitle,\n StyledPieChartEmptyText,\n} from './styles';\nimport { PieChartArc } from './PieChartArc';\n\nconst COMPONENT_NAME = 'PieChart';\nconst CLASSNAME = 'redsift-piechart';\nconst DEFAULT_PROPS: Partial<PieChartProps> = {\n labelVariant: PieChartLabelVariant.none,\n others: true,\n size: PieChartSize.medium,\n theme: PieChartTheme.default,\n variant: PieChartVariant.plain,\n tooltipVariant: PieChartTooltipVariant.value,\n localeText: {\n emptyChartText: 'No Data',\n },\n};\n\nconst sizeToDimension = (size: PieChartSize): ChartDimensions => {\n switch (size) {\n case PieChartSize.small:\n return { width: 200, height: 200 };\n case PieChartSize.large:\n return { width: 300, height: 300 };\n case PieChartSize.medium:\n default:\n return { width: 240, height: 240 };\n }\n};\n\nconst sizeToSmallFontSize = (size: PieChartSize | undefined): number => {\n switch (size) {\n case PieChartSize.small:\n return 13;\n case PieChartSize.large:\n return 18;\n case PieChartSize.medium:\n default:\n return 14;\n }\n};\n\nconst sizeToFontSize = (size: PieChartSize | undefined): number => {\n switch (size) {\n case PieChartSize.small:\n return 30;\n case PieChartSize.large:\n return 38;\n case PieChartSize.medium:\n default:\n return 34;\n }\n};\n\nconst sizeToInnerRadius = (size: PieChartSize): number => {\n switch (size) {\n case PieChartSize.small:\n return 55;\n case PieChartSize.large:\n return 80;\n case PieChartSize.medium:\n default:\n return 65;\n }\n};\n\nexport const PieChart: Comp<PieChartProps, HTMLDivElement> = forwardRef(\n (props, ref) => {\n const id = useId();\n\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n caping,\n caption,\n className,\n data: propData,\n labelVariant,\n onSliceClick,\n others,\n size,\n sliceRole,\n text,\n middleText,\n subtext,\n theme,\n title,\n variant,\n tooltipVariant,\n localeText,\n ...forwardedProps\n } = props;\n const { emptyChartText } = {\n ...DEFAULT_PROPS.localeText,\n ...localeText,\n };\n const isEmpty = propData.every((d) => d.value === 0);\n const isDonut =\n variant === PieChartVariant.donut ||\n variant === PieChartVariant.spacedDonut;\n let data = propData.sort((a, b) => (a.value < b.value ? 1 : -1));\n if (caping) {\n if (typeof others === 'boolean' && !others) {\n data = data.slice(0, caping);\n } else {\n data = data.reduce<Datum[]>((acc, curr, index) => {\n if (index < caping) {\n acc[index] = curr;\n } else if (index === caping) {\n acc[index] = {\n name: 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 if (isEmpty) {\n data = [\n {\n name: emptyChartText as string,\n value: 100,\n },\n ];\n }\n\n // Get charts dimensions based on the selected size.\n const chartDimensions = sizeToDimension(size!);\n const externalRadiusPadding = 8;\n const innerRadius = sizeToInnerRadius(size!);\n\n // Set color scheme.\n const d3colors = getColorScale(theme!, isEmpty);\n\n // Initialize the chart.\n const createPie = d3pie<Datum>()\n .value((d) => d.value)\n .sort(null);\n const createArc = d3arc<PieArcDatum>()\n .innerRadius(isDonut ? innerRadius : 0)\n .outerRadius(chartDimensions.width / 2 - externalRadiusPadding);\n const pieData = createPie(data);\n const total = d3sum(data, (d) => d.value);\n return (\n <StyledPieChart\n {...forwardedProps}\n ref={ref as RefObject<HTMLDivElement>}\n className={className}\n >\n {title ? (\n <StyledPieChartTitle\n className={`${PieChart.className}__title`}\n alignItems=\"center\"\n id={`id${id}__title`}\n >\n {title}\n </StyledPieChartTitle>\n ) : null}\n <div className={`${PieChart.className}__container`}>\n <div\n className={`${PieChart.className}-container__chart`}\n aria-label={\n ariaLabel\n ? ariaLabel\n : ariaLabelledby || title\n ? undefined\n : 'Pie Chart'\n }\n aria-labelledby={\n ariaLabelledby\n ? ariaLabelledby\n : title\n ? `id${id}__title`\n : undefined\n }\n >\n {text && !isEmpty ? (\n <StyledPieChartCenterText\n $maxWidth={innerRadius * 2}\n $textSize={sizeToFontSize(size)}\n $smallTextSize={sizeToSmallFontSize(size)}\n >\n {subtext ? <b>{text}</b> : <span>{text}</span>}\n {middleText ? <b>{middleText}</b> : null}\n <span>{subtext}</span>\n </StyledPieChartCenterText>\n ) : null}\n {isEmpty ? (\n <StyledPieChartEmptyText\n $maxWidth={innerRadius * 2}\n $textSize={sizeToFontSize(size) / 2}\n $isDonut={isDonut}\n >\n <span>{emptyChartText}</span>\n </StyledPieChartEmptyText>\n ) : null}\n <svg width={chartDimensions.width} height={chartDimensions.height}>\n <g\n transform={`translate(${chartDimensions.width / 2} ${\n chartDimensions.height / 2\n })`}\n >\n <g className=\"pie-slice-group\">\n {pieData.map((datum, index) => {\n const percent = datum.data.value / total;\n return (\n <PieChartArc\n chartId={id}\n color={d3colors(datum.data.name)}\n data={datum.data}\n isEmpty={isEmpty}\n index={index}\n key={`pie-slice _${index}`}\n onClick={\n onSliceClick\n ? () => onSliceClick(data[index])\n : undefined\n }\n showTooltip={\n tooltipVariant !== PieChartTooltipVariant.none &&\n !isEmpty\n }\n role={sliceRole}\n tooltipLabelOnly={\n tooltipVariant == PieChartTooltipVariant.label\n }\n tooltipPercent={\n tooltipVariant === PieChartTooltipVariant.percent\n ? percent\n : null\n }\n path={createArc(datum) as string}\n spaced={\n variant === PieChartVariant.spaced ||\n variant === PieChartVariant.spacedDonut\n }\n />\n );\n })}\n </g>\n {labelVariant === PieChartLabelVariant.internal && !isEmpty ? (\n <g className=\"pie-label-group\">\n {pieData\n .filter((datum) => {\n const value = datum.data.value;\n return value > 0 && value / total >= 0.1;\n })\n .map((datum, index) => (\n <text\n className={`pie-slice pie-label _${index}`}\n key={`pie-slice pie-label _${index}`}\n textAnchor=\"middle\"\n transform={`translate(${createArc.centroid(datum)})`}\n >\n {datum.data.name}\n </text>\n ))}\n </g>\n ) : null}\n </g>\n </svg>\n </div>\n {labelVariant !== PieChartLabelVariant.none &&\n labelVariant !== PieChartLabelVariant.internal ? (\n <ul>\n {data.map(({ name, value }: Datum, index) => (\n <StyledPieChartLabel\n key={`pie-external-label _${index}`}\n $color={d3colors(name)}\n >\n <div />\n {labelVariant === PieChartLabelVariant.externalLabelValue ? (\n <>\n <Number\n as=\"b\"\n maximumFractionDigits={2}\n value={value}\n variant=\"inherit\"\n />\n <Text variant=\"caption\">{name}</Text>\n </>\n ) : labelVariant ===\n PieChartLabelVariant.externalLabelPercent ? (\n <>\n <Number\n as=\"b\"\n maximumFractionDigits={2}\n type=\"percent\"\n value={value / total}\n variant=\"inherit\"\n />\n <Text variant=\"caption\">{name}</Text>\n </>\n ) : (\n <Text variant=\"caption\">{name}</Text>\n )}\n </StyledPieChartLabel>\n ))}\n </ul>\n ) : null}\n </div>\n {caption ? (\n <StyledPieChartCaption className={`${PieChart.className}__caption`}>\n {caption}\n </StyledPieChartCaption>\n ) : null}\n </StyledPieChart>\n );\n }\n);\nPieChart.className = CLASSNAME;\nPieChart.defaultProps = DEFAULT_PROPS;\nPieChart.displayName = COMPONENT_NAME;\n"],"names":["ColorTheme","default","dark","darker","monochrome","RedsiftDataVizColorBlueDefault","scheme","RedsiftDataVizColorPurpleDefault","RedsiftDataVizColorGreenDefault","RedsiftDataVizColorRedDefault","RedsiftDataVizColorPinkDefault","RedsiftDataVizColorCyanDefault","RedsiftDataVizColorOrangeDefault","RedsiftDataVizColorYellowDefault","RedsiftDataVizColorBrownDefault","RedsiftDataVizColorGreyDefault","RedsiftDataVizColorPurpleDark","RedsiftDataVizColorBlueDark","RedsiftDataVizColorGreenDark","RedsiftDataVizColorRedDark","RedsiftDataVizColorPinkDark","RedsiftDataVizColorCyanDark","RedsiftDataVizColorOrangeDark","RedsiftDataVizColorYellowDark","RedsiftDataVizColorBrownDark","RedsiftDataVizColorGreyDark","RedsiftDataVizColorPurpleDarker","RedsiftDataVizColorBlueDarker","RedsiftDataVizColorGreenDarker","RedsiftDataVizColorRedDarker","RedsiftDataVizColorPinkDarker","RedsiftDataVizColorCyanDarker","RedsiftDataVizColorOrangeDarker","RedsiftDataVizColorYellowDarker","RedsiftDataVizColorBrownDarker","RedsiftDataVizColorGreyDarker","light","RedsiftDataVizColorPurpleLight","RedsiftDataVizColorBlueLight","RedsiftDataVizColorGreenLight","RedsiftDataVizColorRedLight","RedsiftDataVizColorPinkLight","RedsiftDataVizColorCyanLight","RedsiftDataVizColorOrangeLight","RedsiftDataVizColorYellowLight","RedsiftDataVizColorBrownLight","RedsiftDataVizColorGreyLight","lighter","RedsiftDataVizColorPurpleLighter","RedsiftDataVizColorBlueLighter","RedsiftDataVizColorGreenLighter","RedsiftDataVizColorRedLighter","RedsiftDataVizColorPinkLighter","RedsiftDataVizColorCyanLighter","RedsiftDataVizColorOrangeLighter","RedsiftDataVizColorYellowLighter","RedsiftDataVizColorBrownLighter","RedsiftDataVizColorGreyLighter","empty","successDangerScheme","success","warning","danger","neutral","getColorScale","theme","isEmpty","d3colors","d3scaleOrdinal","domain","range","unknown","HorizontalBarChartSize","small","medium","large","HorizontalBarChartTheme","HorizontalBarChartTooltipVariant","none","label","value","percent","StyledHorizontalBarChart","styled","div","StyledHorizontalBarChartTitle","Flexbox","StyledHorizontalBarChartCaption","p","StyledHorizontalBarChartEmptyText","$maxWidth","$textSize","StyledHorizontalBarChartBar","g","$clickable","css","StyledHorizontalBarChartAxisBottom","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","HorizontalBarChartBar","forwardRef","props","ref","chartId","color","data","gap","height","index","onClick","role","showTooltip","tooltipLabelOnly","tooltipPercent","width","forwardedProps","_excluded","onKeyDown","event","stopPropagation","code","preventDefault","Bar","name","undefined","Boolean","Number","className","defaultProps","displayName","HorizontalBarChartAxisBottom","areXLabelsRotated","chartHeight","d3scale","axisRef","useRef","useEffect","current","select","call","axisBottom","ticks","selectAll","remove","append","attr","others","size","tooltipVariant","localeText","emptyChartText","sizeToDimension","sizeToFontSize","HorizontalBarChart","id","useId","ariaLabel","ariaLabelledby","caping","caption","propData","onBarClick","barRole","title","every","d","sort","a","b","slice","reduce","acc","curr","chartDimensions","margins","top","left","right","bottom","numberOfRows","length","scaleX","d3scaleLinear","Math","max","map","barHeight","total","d3sum","abs","PieChartSize","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","internal","externalLabel","externalLabelValue","externalLabelPercent","PieChartTheme","PieChartTooltipVariant","StyledPieChart","StyledPieChartTitle","StyledPieChartCaption","StyledPieChartCenterText","$smallTextSize","StyledPieChartEmptyText","$isDonut","StyledPieChartLabel","li","$color","StyledPieChartArc","$spaced","PieChartArc","path","Arc","labelVariant","variant","sizeToSmallFontSize","sizeToInnerRadius","PieChart","onSliceClick","sliceRole","text","middleText","subtext","isDonut","externalRadiusPadding","innerRadius","createPie","d3pie","createArc","d3arc","outerRadius","pieData","datum","filter","centroid"],"mappings":"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"}
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/core/DataPoint/styles.ts","../src/core/DataPoint/DataPoint.tsx","../src/core/Arc/styles.ts","../src/config.ts","../src/core/Arc/Arc.tsx","../src/core/Arcs/styles.ts","../src/core/Arcs/Arcs.tsx","../src/core/Axis/types.ts","../src/core/Axis/styles.ts","../src/core/Axis/computeTicks.ts","../src/core/Axis/Axis.tsx","../src/core/Bar/types.ts","../src/core/Bar/styles.ts","../src/core/Bar/Bar.tsx","../src/core/ChartContainer/intl/index.ts","../src/core/ChartContainer/styles.ts","../src/core/ChartContainer/ChartContainer.tsx","../src/core/Legend/styles.ts","../src/core/Legend/Legend.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/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/core/Dot/styles.ts","../src/core/Dot/Dot.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 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 svgRef,\n extent,\n scaleX,\n scaleY,\n isBrushable,\n isGridded,\n onBrush,\n onBrushEnd,\n}: UseBrushProps) => {\n const brush = useRef<d3BrushBehavior<unknown>>();\n\n useEffect(() => {\n if (svgRef.current && isBrushable) {\n brush.current = d3brush()\n .extent(extent!)\n .keyModifiers(false)\n .filter((event) => event.shiftKey)\n .on('brush', (event) => {\n if (!event.sourceEvent || !brush.current || !svgRef.current) return;\n\n if (isGridded) {\n const selection = getRoundedIntermediaryPoint(\n event.selection,\n scaleX,\n scaleY\n );\n d3select(svgRef.current).call(brush.current.move as any, selection);\n onBrush?.(selection, scaleX, scaleY);\n } else {\n onBrush?.(event.selection, scaleX, scaleY);\n }\n })\n .on('end', (event) => {\n if (!event.sourceEvent || !brush.current || !svgRef.current) return;\n\n onBrushEnd?.(event.selection, scaleX, scaleY);\n });\n d3select(svgRef.current).call(brush.current as any);\n }\n });\n\n return { brush };\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 { useRef } 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 colorScaleRef = useRef<d3ScaleOrdinal<string, string>>();\n\n if (!colorScaleRef.current && data !== undefined) {\n colorScaleRef.current = getColorScale(\n theme,\n data.map((d) => d[category] as string)\n );\n }\n\n return colorScaleRef.current;\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]);\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 onZoom?: () => void;\n}\n\nexport const useZoom = ({\n svgRef,\n scaleX,\n scaleY,\n defaultTransform = { k: 1, x: 0, y: 0 },\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]);\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&&gt(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 { StyledDataPointProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledDataPoint = styled.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 {...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 tabIndex={onClick ? 0 : 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 opacity: 0.8;\n outline: none;\n }\n\n &:focus-visible {\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 {\n color,\n data,\n isSelected: propsIsSelected,\n onClick,\n previousData,\n role,\n } = props;\n\n const { className, createArc, hasStroke, ...forwardedProps } = 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 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 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 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 /** 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 }\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 } 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 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 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 {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 <animated.text\n dominantBaseline={textBaseline}\n textAnchor={textAlign}\n transform={transitionProps.textTransform}\n >\n {`${tick.value}`}\n </animated.text>\n </animated.g>\n );\n })}\n <animated.line\n className={`${Axis.className}__line`}\n x1={0}\n x2={\n config.immediate ? (axis === 'x' ? length : 0) : animatedProps.lineX2\n }\n y1={0}\n y2={\n config.immediate ? (axis === 'x' ? 0 : length) : animatedProps.lineY2\n }\n />\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 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 : ''}}\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 previousData,\n role,\n } = props;\n\n const {\n className,\n gap,\n height,\n orientation,\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 } 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\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 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 onPress={onReset}\n >\n {stringFormatter.format('reset')}\n </Button>\n ) : null}\n </StyledChartContainerTitle>\n ) : null}\n\n {children ? (\n <div\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, { 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\nexport const StyledLabel = styled.li<{ $color: string }>`\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","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport { sum as d3sum } from 'd3';\n\nimport { Comp, Number, Text } from '@redsift/design-system';\n\nimport { LegendProps } from './types';\nimport { StyledLabel, StyledLegend } from './styles';\nimport { LabelVariant } from '../../types';\n\nconst COMPONENT_NAME = 'Legend';\nconst CLASSNAME = 'redsift-chart-legend';\nconst DEFAULT_PROPS: Partial<LegendProps> = {\n variant: LabelVariant.label,\n};\n\nexport const Legend: Comp<LegendProps, HTMLUListElement> = forwardRef(\n (props, ref) => {\n const { className, data, variant, width, ...forwardedProps } = 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(({ key, value, color }, index) => (\n <StyledLabel key={`pie-external-label _${index}`} $color={color}>\n <div />\n {variant === LabelVariant.value ? (\n <>\n <Number\n as=\"b\"\n maximumFractionDigits={2}\n value={value}\n variant=\"inherit\"\n />\n <Text variant=\"caption\">{key}</Text>\n </>\n ) : variant === LabelVariant.percent ? (\n <>\n <Number\n as=\"b\"\n maximumFractionDigits={2}\n type=\"percent\"\n value={value / total}\n variant=\"inherit\"\n />\n <Text variant=\"caption\">{key}</Text>\n </>\n ) : (\n <Text variant=\"caption\">{key}</Text>\n )}\n </StyledLabel>\n ))}\n </StyledLegend>\n );\n }\n);\nLegend.className = CLASSNAME;\nLegend.defaultProps = DEFAULT_PROPS;\nLegend.displayName = COMPONENT_NAME;\n","import styled from 'styled-components';\nimport { StyledBarChartProps } from './types';\nimport { ChartContainer } from '../../core/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 '../../core/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, { forwardRef, RefObject, useEffect, useRef } 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 '../../core/Bar';\nimport { Axis } from '../../core/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 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 scaleRef = useRef<d3ScaleLinear<number, number>>();\n if (!scaleRef.current) {\n scaleRef.current = d3scaleLinear()\n .domain([0, Math.max(...data.map(({ value }) => value))])\n .range([0, chartWidth]);\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={scaleRef.current as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={4}\n tickRotation={areXLabelsRotated ? -45 : 0}\n />\n {data.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 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={scaleRef.current!}\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 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 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 {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n ArcDatum,\n TooltipVariant,\n CategoryData,\n} from '../../types';\nimport { ValueOf } from '@redsift/design-system';\nimport { ArcProps } from '../../core/Arc';\nimport { ChartContainerProps } from '../../core/ChartContainer';\nimport { 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 /** 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 '../../core/ChartContainer';\n\n/**\n * Component style.\n */\nexport const StyledPieChart = styled(ChartContainer)<StyledPieChartProps>``;\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 '../../core/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 '../../core/Arcs';\nimport { useFormatCategoricalData } from '../../hooks';\nimport { Legend } from '../../core/Legend';\nimport { sizeToDimension } from './utils';\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 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 {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.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 tooltipVariant={tooltipVariant}\n transform={`translate(${width / 2} ${height / 2})`}\n role={sliceRole}\n />\n </svg>\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 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 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 '../../core/ChartContainer';\nimport { MutableRefObject, ReactNode } from 'react';\nimport { DotProps } from '../../core/Dot';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\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 /** 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}\n\nexport type StyledScatterPlotProps = ScatterPlotProps & {};\n","import styled from 'styled-components';\nimport { StyledScatterPlotProps } from './types';\nimport { ChartContainer } from '../../core/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 '../../core/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 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 React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport {\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} 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 '../../core/Axis';\nimport { Legend } from '../../core/Legend';\nimport { Dot } from '../../core/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 onBrush,\n onBrushEnd,\n onDotClick,\n size,\n theme,\n tooltipVariant,\n variant,\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 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].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 { scaleX, scaleY, transform } = useZoom({\n svgRef,\n scaleX: extendedScaleX,\n scaleY: extendedScaleY,\n });\n const svgBrushRef = useRef<SVGGElement>();\n useBrush({\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 <defs>\n <clipPath id={`${id}-clip`}>\n <rect width={chartWidth} height={chartHeight} x=\"0\" y=\"0\"></rect>\n </clipPath>\n </defs>\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <g clipPath={`url(#${id}-clip)`}>\n {circles.map((group, index) => {\n const to = {\n ...group,\n data: {\n ...group.data,\n percent: group.category\n ? group.data.value /\n countsByCategory?.find(\n ({ key }) => key === group.category\n )?.value!\n : undefined,\n },\n r:\n variant === ScatterPlotVariant.gridded\n ? globalSize!(group.points.length) / transform.k\n : 4,\n };\n\n return (\n <Dot\n color={colorScale?.(group.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 />\n <Axis\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={8}\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 />\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';\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};\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","svgRef","extent","isBrushable","isGridded","onBrush","onBrushEnd","brush","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","colorScaleRef","undefined","map","d","useFormatCategoricalData","caping","others","computedData","useMemo","sort","a","b","value","key","slice","reduce","acc","curr","index","colorScale","useZoom","defaultTransform","k","x","y","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","DataPoint","forwardRef","props","ref","children","className","id","propsId","isSelected","propsIsSelected","labelDecorator","onClick","role","tooltipVariant","forwardedProps","_excluded","useId","text","hasText","tooltipValue","hasValue","showTooltip","isSelectable","isDeselected","onKeyDown","stopPropagation","code","preventDefault","DataPointComponent","React","classNames","selected","deselected","e","Boolean","Number","StyledArc","$hasStroke","css","$clickable","config","duration","easing","easings","easeInOutQuad","reset","immediate","COMPONENT_NAME","CLASSNAME","DEFAULT_PROPS","color","previousData","startAngle","endAngle","padAngle","Arc","createArc","hasStroke","interpolator","d3interpolate","animatedProps","useSpring","_objectSpread","to","next","t","from","animated","defaultProps","displayName","StyledArcs","Arcs","arcs","hasLabels","arc","arcIndex","arcId","arcLabelDecorator","centroid","AxisPosition","top","right","bottom","left","StyledAxis","getScaleTicks","scale","spec","Array","isArray","isFinite","floor","centerScale","bandwidth","offset","computeTicks","axis","ticksPosition","tickValues","tickSize","tickPadding","tickRotation","position","line","lineX","lineY","textX","textY","isRTL","document","dir","translate","textAlign","textBaseline","Date","valueOf","legendOffset","legendPosition","getAxisType","Axis","length","legend","axisRef","lineX2","lineY2","legendNode","legendX","legendY","legendRotation","textAnchor","dominantBaseline","transition","useTransition","tick","initial","opacity","textTransform","enter","update","leave","transitionProps","_state","tickIndex","BarOrientation","horizontal","vertical","StyledBar","gap","height","orientation","width","Bar","enUS","frFR","StyledChartContainer","div","baseStyling","StyledChartContainerTitle","Flexbox","StyledChartContainerCaption","ChartContainer","propsAriaLabel","propsAriaLabelledby","caption","title","onReset","warnIfNoAccessibleLabelFound","stringFormatter","useLocalizedStringFormatter","intlMessages","ariaLabel","ariaLabelledby","format","StyledLegend","ul","$width","StyledLabel","li","$color","variant","Legend","total","d3sum","StyledBarChart","StyledBarChartEmptyText","$maxWidth","$textSize","sizeToDimension","size","fontSize","EmptyBarChart","emptyComponent","localeText","chartDimensions","margins","chartHeight","chartWidth","scaleRef","d3scaleLinear","emptyChartText","LoadingBarChart","RenderedBarChart","areXLabelsRotated","propsData","isBarSelected","onBarClick","barRole","cache","numberOfRows","max","barHeight","datum","BarChart","PieChartVariant","plain","spaced","donut","spacedDonut","PieChartLabelVariant","internal","externalLabel","externalLabelValue","externalLabelPercent","StyledPieChart","StyledPieChartCenterText","$smallTextSize","StyledPieChartEmptyText","$isDonut","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","StyledDot","Dot","r","RenderedScatterPlot","dotRole","isDotSelected","onDotClick","minSize","d3min","extendedScaleX","d3extent","nice","extendedScaleY","hasCategory","countsByCategory","svgBrushRef","circles","d3descending","globalSize","d3scaleSqrt","d3max","legendWidth","String","find","ScatterPlot"],"mappings":"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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,CAAC,CAAC,CAAC,IAAI,CAAC,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"}