@redsift/charts 11.6.0-muiv5-alpha.13 → 11.6.0-muiv5-alpha.14
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/_internal/BarChart2.js +2 -2
- package/_internal/Legend3.js +1 -1
- package/_internal/LineChart2.js +2 -2
- package/_internal/PieChart2.js +2 -2
- package/_internal/ScatterPlot2.js +2 -2
- package/_internal/ScatterPlot2.js.map +1 -1
- package/index.d.ts +11 -36
- package/index.js +2 -2
- package/package.json +2 -2
package/_internal/BarChart2.js
CHANGED
|
@@ -2,15 +2,15 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { forwardRef, useRef, createContext, useContext, useEffect, useMemo } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { useTheme, useMessageFormatter, Flexbox, Text, isComponent, RedsiftColorGreenD1, RedsiftColorRedD1, RedsiftColorNeutralBlack, useId } from '@redsift/design-system';
|
|
5
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
6
|
+
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
5
7
|
import { scaleLinear, sum, scaleBand, extent, scaleUtc, scalePoint, utcParse, scaleLog } from 'd3';
|
|
6
8
|
import styled, { css } from 'styled-components';
|
|
7
9
|
import { C as ChartContainer, a as ChartContainerTitle, b as ChartContainerDescription } from './ChartContainer2.js';
|
|
8
|
-
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
9
10
|
import { A as Axis, a as AxisVariant, g as getAxisType } from './Axis2.js';
|
|
10
11
|
import { u as useFormatCategoricalData } from './useFormatCategoricalData.js';
|
|
11
12
|
import { a as BarOrientation, B as Bar, b as BarDirection } from './Bar2.js';
|
|
12
13
|
import { L as Legend } from './Legend3.js';
|
|
13
|
-
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
14
14
|
import { L as LegendItem } from './LegendItem2.js';
|
|
15
15
|
|
|
16
16
|
/**
|
package/_internal/Legend3.js
CHANGED
|
@@ -4,8 +4,8 @@ import classNames from 'classnames';
|
|
|
4
4
|
import { sum } from 'd3';
|
|
5
5
|
import styled from 'styled-components';
|
|
6
6
|
import { baseContainer } from '@redsift/design-system';
|
|
7
|
-
import { L as LegendItem } from './LegendItem2.js';
|
|
8
7
|
import { L as LegendVariant } from './legend2.js';
|
|
8
|
+
import { L as LegendItem } from './LegendItem2.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Component style.
|
package/_internal/LineChart2.js
CHANGED
|
@@ -2,15 +2,15 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { forwardRef, useRef, useEffect } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { useTheme, useMessageFormatter, Flexbox, useId } from '@redsift/design-system';
|
|
5
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
6
|
+
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
5
7
|
import styled from 'styled-components';
|
|
6
8
|
import { C as ChartContainer } from './ChartContainer2.js';
|
|
7
9
|
import { scaleLinear, extent, scaleTime, scalePoint, line } from 'd3';
|
|
8
|
-
import { C as ChartSize, g as getSortingMethod, i as isValidDate, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
9
10
|
import { A as Axis, a as AxisVariant } from './Axis2.js';
|
|
10
11
|
import { L as Line } from './Line2.js';
|
|
11
12
|
import { D as Dot, a as DotVariant } from './Dot2.js';
|
|
12
13
|
import { L as Legend } from './Legend3.js';
|
|
13
|
-
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Component's labels variant.
|
package/_internal/PieChart2.js
CHANGED
|
@@ -2,13 +2,13 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { forwardRef, useRef, useEffect } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { Theme, useTheme, useMessageFormatter, useId } from '@redsift/design-system';
|
|
5
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
6
|
+
import { C as ChartSize, m as mergeLegends, g as getSortingMethod, a as ColorTheme } from './theme.js';
|
|
5
7
|
import styled, { css } from 'styled-components';
|
|
6
8
|
import { C as ChartContainer } from './ChartContainer2.js';
|
|
7
9
|
import { arc, pie, sum } from 'd3';
|
|
8
10
|
import { e as empty } from './scheme.js';
|
|
9
|
-
import { C as ChartSize, m as mergeLegends, g as getSortingMethod, a as ColorTheme } from './theme.js';
|
|
10
11
|
import { A as Arcs } from './Arcs2.js';
|
|
11
|
-
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
12
12
|
import { u as useFormatCategoricalData } from './useFormatCategoricalData.js';
|
|
13
13
|
import { L as Legend } from './Legend3.js';
|
|
14
14
|
|
|
@@ -2,15 +2,15 @@ import { _ as _objectWithoutProperties, a as _extends, b as _objectSpread2 } fro
|
|
|
2
2
|
import React__default, { useRef, useEffect, useState, forwardRef } from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { useTheme, useMessageFormatter, Flexbox, Button, Text, useId } from '@redsift/design-system';
|
|
5
|
+
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
6
|
+
import { C as ChartSize, g as getSortingMethod, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
5
7
|
import styled from 'styled-components';
|
|
6
8
|
import { C as ChartContainer } from './ChartContainer2.js';
|
|
7
9
|
import { brush, select, zoom, interpolateRound, scaleLinear, min, extent, descending, scaleSqrt, max } from 'd3';
|
|
8
|
-
import { C as ChartSize, g as getSortingMethod, u as useColor, m as mergeLegends, a as ColorTheme } from './theme.js';
|
|
9
10
|
import { A as Axis, a as AxisVariant } from './Axis2.js';
|
|
10
11
|
import { Popover } from '@redsift/popovers';
|
|
11
12
|
import { D as Dot } from './Dot2.js';
|
|
12
13
|
import { L as Legend } from './Legend3.js';
|
|
13
|
-
import { L as LegendVariant, T as TooltipVariant } from './legend2.js';
|
|
14
14
|
|
|
15
15
|
const getRoundedIntermediaryPoint = (selection, scaleX, scaleY) => {
|
|
16
16
|
if (!selection) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterPlot2.js","sources":["../../src/hooks/useBrush.tsx","../../src/hooks/useZoom.tsx","../../src/components/ScatterPlot/types.ts","../../src/components/ScatterPlot/styles.ts","../../src/components/ScatterPlot/LoadingScatterPlot.tsx","../../src/components/ScatterPlot/utils.ts","../../src/components/ScatterPlot/EmptyScatterPlot.tsx","../../src/components/ScatterPlot/intl/index.ts","../../../icons/src/components/mdi/mdiChevronDown.ts","../../../icons/src/components/mdi/mdiChevronRight.ts","../../../icons/src/components/mdi/mdiMouse.ts","../../src/components/ScatterPlot/RenderedScatterPlot.tsx","../../src/components/ScatterPlot/ScatterPlot.tsx"],"sourcesContent":["import { MutableRefObject, useEffect, useRef } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n brush as d3brush,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseBrushProps {\n brushRef: MutableRefObject<d3BrushBehavior<unknown> | undefined>;\n svgRef: MutableRefObject<SVGSVGElement | SVGGElement | undefined>;\n extent?: [[number, number], [number, number]];\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n isBrushable?: boolean;\n isGridded?: boolean;\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n}\n\nconst getRoundedIntermediaryPoint = (\n selection: [[number, number], [number, number]],\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n) => {\n if (!selection) {\n return null;\n }\n\n const xTicks = scaleX.ticks(20);\n const xDelta = xTicks[1] - xTicks[0];\n const yTicks = scaleY.ticks(20);\n const yDelta = yTicks[1] - yTicks[0];\n\n return [\n [\n scaleX(\n Math.round(scaleX.invert(selection[0][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n scaleY(\n Math.round(scaleY.invert(selection[0][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n [\n scaleX(\n Math.round(scaleX.invert(selection[1][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n\n scaleY(\n Math.round(scaleY.invert(selection[1][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n ] as [[number, number], [number, number]];\n};\n\nexport const useBrush = ({\n brushRef: propsBrushRef,\n svgRef,\n extent,\n scaleX,\n scaleY,\n isBrushable,\n isGridded,\n onBrush,\n onBrushEnd,\n}: UseBrushProps) => {\n const brushRef = propsBrushRef || useRef<d3BrushBehavior<unknown>>();\n\n useEffect(() => {\n if (svgRef.current && isBrushable) {\n brushRef.current = d3brush()\n .extent(extent!)\n .keyModifiers(false)\n .filter((event) => event.shiftKey)\n .on('brush', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n if (isGridded) {\n const selection = getRoundedIntermediaryPoint(\n event.selection,\n scaleX,\n scaleY\n );\n d3select(svgRef.current).call(\n brushRef.current.move as any,\n selection\n );\n onBrush?.(selection, scaleX, scaleY);\n } else {\n onBrush?.(event.selection, scaleX, scaleY);\n }\n })\n .on('end', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n onBrushEnd?.(event.selection, scaleX, scaleY);\n });\n d3select(svgRef.current).call(brushRef.current as any);\n }\n });\n};\n","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport {\n zoom as d3zoom,\n interpolateRound as d3interpolateRound,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseZoomProps {\n svgRef: MutableRefObject<SVGSVGElement | undefined>;\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n defaultTransform?: { k: number; x: number; y: number };\n size?: any;\n onZoom?: () => void;\n}\n\nexport const useZoom = ({\n svgRef,\n scaleX,\n scaleY,\n defaultTransform = { k: 1, x: 0, y: 0 },\n size,\n onZoom,\n}: UseZoomProps) => {\n const zx = useRef<d3ScaleLinear<number, number>>(scaleX);\n const zy = useRef<d3ScaleLinear<number, number>>(scaleY);\n const [transform, setTransform] = useState(defaultTransform);\n\n useEffect(() => {\n if (svgRef.current) {\n const zoom = d3zoom()\n .filter((event) => !event.shiftKey)\n .scaleExtent([1 / 2 ** 3, 2 ** 3])\n .on('zoom', (event) => {\n onZoom?.();\n zx.current = event.transform\n .rescaleX(scaleX)\n .interpolate(d3interpolateRound);\n zy.current = event.transform\n .rescaleY(scaleY)\n .interpolate(d3interpolateRound);\n setTransform(event.transform);\n });\n d3select(svgRef.current).call(zoom as any);\n }\n }, [svgRef.current, size]);\n\n return { transform, scaleX: zx.current, scaleY: zy.current };\n};\n","import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n TooltipVariant,\n DotDatum,\n CoordinatesCategoryData,\n ChartAxesProps,\n MarginProps,\n Statistics,\n} from '../../types';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { MutableRefObject, ReactElement, ReactNode } from 'react';\nimport { DotProps } from '../Dot';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { LegendProps } from '../Legend';\nimport { SortingMethod } from '../../utils';\nimport { AnchorProps } from '../DataPoint';\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 ScatterPlotLegendVariant = {\n none: 'none',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n custom: 'custom',\n} as const;\nexport type ScatterPlotLegendVariant = ValueOf<typeof ScatterPlotLegendVariant>;\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, ChartAxesProps {\n /** Dataset to use to generate the chart. */\n data?: CoordinatesCategoryData;\n /** Method used to define the anchor props to use when the dot is a navigation link. */\n getDotAnchorProps?: (datum: DotDatum) => AnchorProps;\n /** Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. */\n dotRole?: DotProps['role'];\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Whether the Control Keys panel is displayed or not. */\n hideControlKeyPanel?: boolean;\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 point labels. */\n labelDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Method modifying what's displayed within the legend when the legendVariant is \"custom\". */\n legendDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to \"custom\", use `legendDecorator` to customize it. */\n legendVariant?: ScatterPlotLegendVariant;\n /** Props to forward to the Legend block. Can be used to make the legend selectable. */\n legendProps?: Omit<LegendProps, 'data' | 'ref' | 'variant' | 'width'> & {\n extraLegendItems?: Statistics;\n };\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Custom margins, used to give more space for axes labels and legend for instance. */\n margins?: MarginProps;\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. For a navigation link, please use `getDotAnchorProps` instead. */\n onDotClick?: (datum: DotDatum) => void;\n /** ScatterPlot size. */\n size?: ChartSize | ScatterPlotDimensions;\n /** Define how to sort categories. */\n sortingMethod?: SortingMethod;\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 colorTheme?: ChartTheme;\n /** Method modifying what's displayed within the tooltip when the tooltipVariant is \"custom\". */\n tooltipDecorator?: (\n data: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n /** Variant. */\n variant?: ScatterPlotVariant;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledScatterPlotProps = ScatterPlotProps & {};\n","import styled from 'styled-components';\nimport { StyledScatterPlotProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledScatterPlot = styled(ChartContainer)<StyledScatterPlotProps>``;\n\nexport const StyledScatterPlotEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $theme: Theme;\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-poppins);\n color: ${({ $theme }) => `var(--redsift-color-${$theme}-components-text-primary)`};\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';\nimport { SortingMethod, getSortingMethod } from '../../utils';\n\nexport const sizeToDimension = (size: ChartSize | ScatterPlotDimensions): 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 = (value: number, scale: d3ScaleLinear<number, number, never>) => {\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, sortingMethod: SortingMethod) => {\n const counts = arr.reduce(\n (prev, curr) => ((prev[curr.key[2] as string] = ++(prev[curr.key[2] as string] as number) || 1), prev),\n {} as Record<string, number>\n );\n\n return Object.keys(counts)\n .map((key) => ({ key: key, value: counts[key] as number }))\n .sort(getSortingMethod(sortingMethod));\n};\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear } from 'd3';\n\nimport { AnyScale, JSONArray } from '../../types';\nimport { ScatterPlotProps } from './types';\nimport { StyledScatterPlot, StyledScatterPlotEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\nimport { useTheme } from '@redsift/design-system';\n\nexport const EmptyScatterPlot = forwardRef<HTMLDivElement, ScatterPlotProps>((props, ref) => {\n const { className, data: propsData, emptyComponent, localeText, size, ...forwardedProps } = props;\n const theme = useTheme();\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 {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n {emptyComponent ?? (\n <>\n <StyledScatterPlotEmptyText $maxWidth={width} $textSize={chartDimensions.fontSize / 2} $theme={theme}>\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={d3scaleLinear().domain([]).range([0, chartWidth]) as AnyScale}\n x={0}\n y={height}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledScatterPlot>\n );\n});\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","export const mdiChevronDown: string =\n 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z';\n","export const mdiChevronRight: string =\n 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z';\n","export const mdiMouse: string =\n 'M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z';\n","import React, { forwardRef, RefObject, useEffect, useRef, useState } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n descending as d3descending,\n extent as d3extent,\n max as d3max,\n min as d3min,\n scaleLinear as d3scaleLinear,\n scaleSqrt as d3scaleSqrt,\n select as d3select,\n} from 'd3';\n\nimport { Button, Flexbox, Text, useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { AnyScale, DotDatum, JSONArray, LegendItemDatum, LegendVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { StyledScatterPlot } from './styles';\nimport { useZoom, useColor, useBrush } from '../../hooks';\nimport { Axis, AxisVariant } from '../Axis';\nimport { Legend } from '../Legend';\nimport { Dot } from '../Dot';\nimport { BASE_NUMBER_OF_TICKS, countBy, group, sizeToDimension } from './utils';\nimport { mdiChevronDown, mdiChevronRight, mdiMouse } from '@redsift/icons';\nimport { Popover } from '@redsift/popovers';\nimport { mergeLegends, getSortingMethod } from '../../utils';\n\ninterface RenderedScatterPlotProps extends Required<Pick<ScatterPlotProps, 'data'>>, Omit<ScatterPlotProps, 'data'> {}\n\nexport const RenderedScatterPlot = forwardRef<HTMLDivElement, RenderedScatterPlotProps>((props, ref) => {\n const {\n isBrushable,\n className,\n data: propsData,\n dotRole,\n disableAnimations,\n getDotAnchorProps,\n hideControlKeyPanel,\n id,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n margins: propsMargins,\n onBrush,\n onBrushEnd,\n onDotClick,\n size,\n sortingMethod,\n colorTheme,\n tooltipDecorator,\n tooltipVariant,\n xAxisVariant,\n xAxisPlacement,\n xAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n yAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n variant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<JSONArray>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const data = propsData.filter(\n (datum) =>\n datum.value &&\n typeof datum.key[0] === 'number' &&\n !Number.isNaN(datum.key[0]) &&\n typeof datum.key[1] === 'number' &&\n !Number.isNaN(datum.key[1])\n );\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = {\n top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n ...propsMargins,\n };\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 = data[0] && data[0].key.length >= 3 && data[0].key[2] !== null && data[0].key[2] !== undefined;\n const countsByCategory = hasCategory ? countBy(data, sortingMethod!) : undefined;\n const colorScale = useColor({\n data: countsByCategory || data,\n colorTheme: colorTheme!,\n category: 'key',\n theme,\n });\n\n const svgRef = useRef<SVGSVGElement>();\n const brushRef = useRef<d3BrushBehavior<unknown>>();\n const svgBrushRef = useRef<SVGGElement>();\n const { scaleX, scaleY, transform } = useZoom({\n svgRef,\n scaleX: extendedScaleX,\n scaleY: extendedScaleY,\n size,\n onZoom: () => {\n if (brushRef.current && svgBrushRef.current) {\n brushRef.current.clear(d3select(svgBrushRef.current));\n\n onBrushEnd?.(null);\n }\n },\n });\n useBrush({\n brushRef,\n svgRef: svgBrushRef,\n extent: [\n [0, 0],\n [chartWidth, chartHeight],\n ],\n scaleX,\n scaleY,\n isBrushable,\n isGridded: variant === ScatterPlotVariant.gridded,\n onBrush,\n onBrushEnd,\n });\n\n const circles =\n variant === ScatterPlotVariant.gridded\n ? group(data, scaleX, scaleY).sort((a, b) => {\n if (a.y !== b.y) {\n return b.y - a.y;\n }\n if (a.x !== b.x) {\n return a.x - b.x;\n }\n return d3descending(a.points.length, b.points.length);\n })\n : data.map((d) => ({\n category: d.key[2] ?? 'default',\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(...countsByCategory.map((d) => d.key.length + String(d.value).length)) * 8 + 32\n }px`;\n }\n\n const [isKeyPanelOpen, setIsKeyPanelOpen] = useState(false);\n\n const categories: string[] = [];\n // const pivotedTable = circles.reduce((acc, item) => {\n // const { x, category, y } = item;\n // if (!categories.includes(category)) {\n // categories.push(category);\n // }\n // const formattedKey = xAxisTickFormat ? xAxisTickFormat(x as any) : x.toString();\n\n // let entry = acc.find((e) => e.key === formattedKey);\n // if (!entry) {\n // entry = { key: formattedKey };\n // acc.push(entry);\n // }\n\n // entry[category] = y;\n\n // return acc;\n // }, [] as Array<Record<string, string | number | null | undefined> & { key: string }>);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n return (\n <StyledScatterPlot\n mode={typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={\n hasCategory\n ? format('definition-with-categories', {\n categoryLength: categories.length,\n circleLength: circles.length,\n })\n : format('definition', { circleLength: circles.length })\n }\n xAxisDefinition={format('x-axis-definition', {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: scaleX.domain()[0],\n end: scaleX.domain()[1],\n })}\n yAxisDefinition={format('y-axis-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: scaleY.domain()[0],\n end: scaleY.domain()[1],\n })}\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <Flexbox flexDirection=\"column\" alignItems=\"center\" gap=\"8\">\n {!hideControlKeyPanel ? (\n <Flexbox width={width} position=\"absolute\">\n <Flexbox\n flexDirection=\"column\"\n alignItems=\"flex-end\"\n position=\"absolute\"\n top={`${margins.top + 16}px`}\n right={`${margins.right + 16}px`}\n >\n <Popover placement=\"bottom-end\" isOpen={isKeyPanelOpen} onOpen={setIsKeyPanelOpen}>\n <Popover.Trigger>\n <Button\n variant=\"secondary\"\n leftIcon={mdiMouse}\n rightIcon={isKeyPanelOpen ? mdiChevronDown : mdiChevronRight}\n color=\"grey\"\n style={{\n border: '1px solid var(--redsift-color-neutral-mid-grey)',\n gap: '4px',\n }}\n />\n </Popover.Trigger>\n <Popover.Content>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\">\n <Text margin=\"8px 16px 0\" fontSize=\"13px\">\n Zoom - Mouse wheel\n </Text>\n <Text margin=\"0 16px\" fontSize=\"13px\">\n Pan - Left click and drag\n </Text>\n <Text margin=\"0 16px 8px\" fontSize=\"13px\">\n Select - Hold shift, left click and drag\n </Text>\n </Flexbox>\n </Popover.Content>\n </Popover>\n </Flexbox>\n </Flexbox>\n ) : null}\n <svg ref={svgRef as RefObject<SVGSVGElement>} width={width} height={height}>\n <g ref={svgBrushRef as RefObject<SVGGElement>} transform={`translate(${margins.left},${margins.top})`} />\n <g transform={`translate(${margins.left},${margins.top})`}>\n <g>\n {circles.map((circle, index) => {\n const scaleXDomain = scaleX.domain();\n const scaleYDomain = scaleY.domain();\n\n if (\n circle.x! < scaleXDomain[0] ||\n circle.x! > scaleXDomain[1] ||\n circle.y! < scaleYDomain[0] ||\n circle.y! > scaleYDomain[1]\n ) {\n return null;\n }\n\n const to = {\n ...circle,\n data: {\n ...circle.data,\n percent: circle.category\n ? circle.data.value / countsByCategory?.find(({ key }) => key === circle.category)?.value!\n : undefined,\n },\n r:\n variant === ScatterPlotVariant.gridded\n ? globalSize!(circle.points.length) / (transform.k < 1 ? transform.k : 1)\n : 4,\n };\n\n return (\n <Dot\n color={colorScale?.(circle.category!)}\n data={to}\n dataset={circles}\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 tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n />\n );\n })}\n </g>\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n {['bottom', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['top', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"top\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={0}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['left', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"left\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n {['right', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"right\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={chartWidth}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n </svg>\n </Flexbox>\n {hasCategory && legendVariant !== ScatterPlotLegendVariant.none ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, countsByCategory!).sort(getSortingMethod(sortingMethod!))\n : countsByCategory!\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === ScatterPlotLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === ScatterPlotLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === ScatterPlotLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n width={legendWidth.current}\n legendDecorator={\n legendDecorator\n ? (datum: LegendItemDatum, props) => legendDecorator(datum as unknown as DotDatum, props)\n : undefined\n }\n {...forwardedLegendProps}\n />\n ) : null}\n </StyledScatterPlot>\n );\n});\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useId } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { LoadingScatterPlot } from './LoadingScatterPlot';\nimport { EmptyScatterPlot } from './EmptyScatterPlot';\nimport { RenderedScatterPlot } from './RenderedScatterPlot';\nimport { AxisVariant } from '../Axis';\n\nconst COMPONENT_NAME = 'ScatterPlot';\nconst CLASSNAME = 'redsift-scatterplot';\n\nexport const ScatterPlot: Comp<ScatterPlotProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n colorTheme = ColorTheme.default,\n data: propsData,\n dotRole,\n emptyComponent,\n hideControlKeyPanel = false,\n id: propsId,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n onBrush,\n onBrushEnd,\n onDotClick,\n size = ChartSize.medium,\n sortingMethod = 'desc-value',\n tooltipDecorator,\n tooltipVariant = TooltipVariant.none,\n variant = ScatterPlotVariant.default,\n xAxisPlacement = 'bottom',\n xAxisVariant = AxisVariant.default,\n yAxisPlacement = 'left',\n yAxisVariant = AxisVariant.default,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? ScatterPlotLegendVariant.externalLabel;\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 hideControlKeyPanel={hideControlKeyPanel}\n localeText={localeText}\n size={size}\n sortingMethod={sortingMethod}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedScatterPlot\n className={classNames(ScatterPlot.className, className)}\n colorTheme={colorTheme}\n data={propsData}\n dotRole={dotRole}\n hideControlKeyPanel={hideControlKeyPanel}\n id={id}\n isDotSelected={isDotSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n localeText={localeText}\n onBrush={onBrush}\n onBrushEnd={onBrushEnd}\n onDotClick={onDotClick}\n size={size}\n sortingMethod={sortingMethod}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n variant={variant}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n});\nScatterPlot.className = CLASSNAME;\nScatterPlot.displayName = COMPONENT_NAME;\n"],"names":["getRoundedIntermediaryPoint","selection","scaleX","scaleY","xTicks","ticks","xDelta","yTicks","yDelta","Math","round","invert","useBrush","_ref","brushRef","propsBrushRef","svgRef","extent","isBrushable","isGridded","onBrush","onBrushEnd","useRef","useEffect","current","d3brush","keyModifiers","filter","event","shiftKey","on","sourceEvent","d3select","call","move","useZoom","defaultTransform","k","x","y","size","onZoom","zx","zy","transform","setTransform","useState","zoom","d3zoom","scaleExtent","rescaleX","interpolate","d3interpolateRound","rescaleY","ScatterPlotVariant","default","gridded","ScatterPlotLegendVariant","none","externalLabel","externalLabelValue","externalLabelPercent","custom","StyledScatterPlot","styled","ChartContainer","StyledScatterPlotEmptyText","div","$maxWidth","_ref2","$theme","_ref3","$textSize","_ref4","LoadingScatterPlot","forwardRef","props","ref","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","sizeToDimension","ChartSize","small","width","height","fontSize","medium","large","BASE_NUMBER_OF_TICKS","getClosestLineIndex","value","scale","delta","index","roundValue","group","data","groupDict","forEach","d","i","rx","key","j","ry","category","points","push","Object","values","countBy","arr","sortingMethod","counts","reduce","prev","curr","keys","map","sort","getSortingMethod","EmptyScatterPlot","propsData","emptyComponent","localeText","theme","useTheme","cache","chartDimensions","margins","top","left","right","bottom","chartWidth","Fragment","emptyChartText","Axis","position","length","d3scaleLinear","domain","range","tickValues","enUS","frFR","mdiChevronDown","mdiChevronRight","mdiMouse","RenderedScatterPlot","dotRole","disableAnimations","getDotAnchorProps","hideControlKeyPanel","id","isDotSelected","labelDecorator","legendDecorator","legendVariant","legendProps","propsMargins","onDotClick","colorTheme","tooltipDecorator","tooltipVariant","xAxisVariant","xAxisPlacement","xAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","yAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","variant","format","useMessageFormatter","intlMessages","datum","Number","isNaN","_objectSpread","AxisVariant","tickValue","chartHeight","minSize","d3min","extendedScaleX","d3extent","gap","nice","extendedScaleY","hasCategory","undefined","countsByCategory","colorScale","useColor","svgBrushRef","clear","circles","a","b","d3descending","_d$key$","globalSize","d3scaleSqrt","max","d3max","legendWidth","String","isKeyPanelOpen","setIsKeyPanelOpen","categories","extraLegendItems","forwardedLegendProps","_excluded2","mode","definition","categoryLength","circleLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","Flexbox","flexDirection","alignItems","Popover","placement","isOpen","onOpen","Trigger","Button","leftIcon","rightIcon","color","style","border","Content","Text","margin","circle","_countsByCategory$fin","scaleXDomain","scaleYDomain","to","percent","find","r","Dot","dataset","isSelected","Boolean","onClick","role","includes","tickPadding","tickRotation","tickSize","tickFormat","Legend","mergeLegends","LegendVariant","label","COMPONENT_NAME","CLASSNAME","ScatterPlot","ColorTheme","propsId","propsLegendVariant","TooltipVariant","_id","useId","classNames","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScatterPlot2.js","sources":["../../src/hooks/useBrush.tsx","../../src/hooks/useZoom.tsx","../../src/components/ScatterPlot/types.ts","../../src/components/ScatterPlot/styles.ts","../../src/components/ScatterPlot/LoadingScatterPlot.tsx","../../src/components/ScatterPlot/utils.ts","../../src/components/ScatterPlot/EmptyScatterPlot.tsx","../../src/components/ScatterPlot/intl/index.ts","../../../icons/dist/generated/mdiChevronDown.js","../../../icons/dist/generated/mdiChevronRight.js","../../../icons/dist/generated/mdiMouse.js","../../src/components/ScatterPlot/RenderedScatterPlot.tsx","../../src/components/ScatterPlot/ScatterPlot.tsx"],"sourcesContent":["import { MutableRefObject, useEffect, useRef } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n brush as d3brush,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseBrushProps {\n brushRef: MutableRefObject<d3BrushBehavior<unknown> | undefined>;\n svgRef: MutableRefObject<SVGSVGElement | SVGGElement | undefined>;\n extent?: [[number, number], [number, number]];\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n isBrushable?: boolean;\n isGridded?: boolean;\n onBrush?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n onBrushEnd?: (\n selection: [[number, number], [number, number]] | null,\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n ) => void;\n}\n\nconst getRoundedIntermediaryPoint = (\n selection: [[number, number], [number, number]],\n scaleX: d3ScaleLinear<number, number>,\n scaleY: d3ScaleLinear<number, number>\n) => {\n if (!selection) {\n return null;\n }\n\n const xTicks = scaleX.ticks(20);\n const xDelta = xTicks[1] - xTicks[0];\n const yTicks = scaleY.ticks(20);\n const yDelta = yTicks[1] - yTicks[0];\n\n return [\n [\n scaleX(\n Math.round(scaleX.invert(selection[0][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n scaleY(\n Math.round(scaleY.invert(selection[0][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n [\n scaleX(\n Math.round(scaleX.invert(selection[1][0]) / xDelta) * xDelta -\n xDelta / 2\n ),\n\n scaleY(\n Math.round(scaleY.invert(selection[1][1]) / yDelta) * yDelta -\n yDelta / 2\n ),\n ],\n ] as [[number, number], [number, number]];\n};\n\nexport const useBrush = ({\n brushRef: propsBrushRef,\n svgRef,\n extent,\n scaleX,\n scaleY,\n isBrushable,\n isGridded,\n onBrush,\n onBrushEnd,\n}: UseBrushProps) => {\n const brushRef = propsBrushRef || useRef<d3BrushBehavior<unknown>>();\n\n useEffect(() => {\n if (svgRef.current && isBrushable) {\n brushRef.current = d3brush()\n .extent(extent!)\n .keyModifiers(false)\n .filter((event) => event.shiftKey)\n .on('brush', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n if (isGridded) {\n const selection = getRoundedIntermediaryPoint(\n event.selection,\n scaleX,\n scaleY\n );\n d3select(svgRef.current).call(\n brushRef.current.move as any,\n selection\n );\n onBrush?.(selection, scaleX, scaleY);\n } else {\n onBrush?.(event.selection, scaleX, scaleY);\n }\n })\n .on('end', (event) => {\n if (!event.sourceEvent || !brushRef.current || !svgRef.current)\n return;\n\n onBrushEnd?.(event.selection, scaleX, scaleY);\n });\n d3select(svgRef.current).call(brushRef.current as any);\n }\n });\n};\n","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport {\n zoom as d3zoom,\n interpolateRound as d3interpolateRound,\n ScaleLinear as d3ScaleLinear,\n select as d3select,\n} from 'd3';\n\nexport interface UseZoomProps {\n svgRef: MutableRefObject<SVGSVGElement | undefined>;\n scaleX: d3ScaleLinear<number, number>;\n scaleY: d3ScaleLinear<number, number>;\n defaultTransform?: { k: number; x: number; y: number };\n size?: any;\n onZoom?: () => void;\n}\n\nexport const useZoom = ({\n svgRef,\n scaleX,\n scaleY,\n defaultTransform = { k: 1, x: 0, y: 0 },\n size,\n onZoom,\n}: UseZoomProps) => {\n const zx = useRef<d3ScaleLinear<number, number>>(scaleX);\n const zy = useRef<d3ScaleLinear<number, number>>(scaleY);\n const [transform, setTransform] = useState(defaultTransform);\n\n useEffect(() => {\n if (svgRef.current) {\n const zoom = d3zoom()\n .filter((event) => !event.shiftKey)\n .scaleExtent([1 / 2 ** 3, 2 ** 3])\n .on('zoom', (event) => {\n onZoom?.();\n zx.current = event.transform\n .rescaleX(scaleX)\n .interpolate(d3interpolateRound);\n zy.current = event.transform\n .rescaleY(scaleY)\n .interpolate(d3interpolateRound);\n setTransform(event.transform);\n });\n d3select(svgRef.current).call(zoom as any);\n }\n }, [svgRef.current, size]);\n\n return { transform, scaleX: zx.current, scaleY: zy.current };\n};\n","import {\n ChartDimensions,\n ChartSize,\n ChartTheme,\n TooltipVariant,\n DotDatum,\n CoordinatesCategoryData,\n ChartAxesProps,\n MarginProps,\n Statistics,\n} from '../../types';\nimport { Theme, ValueOf } from '@redsift/design-system';\nimport { ChartContainerProps } from '../ChartContainer';\nimport { MutableRefObject, ReactElement, ReactNode } from 'react';\nimport { DotProps } from '../Dot';\nimport { ScaleLinear as d3ScaleLinear } from 'd3';\nimport { LegendProps } from '../Legend';\nimport { SortingMethod } from '../../utils';\nimport { AnchorProps } from '../DataPoint';\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 ScatterPlotLegendVariant = {\n none: 'none',\n externalLabel: 'externalLabel',\n externalLabelValue: 'externalLabelValue',\n externalLabelPercent: 'externalLabelPercent',\n custom: 'custom',\n} as const;\nexport type ScatterPlotLegendVariant = ValueOf<typeof ScatterPlotLegendVariant>;\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, ChartAxesProps {\n /** Dataset to use to generate the chart. */\n data?: CoordinatesCategoryData;\n /** Method used to define the anchor props to use when the dot is a navigation link. */\n getDotAnchorProps?: (datum: DotDatum) => AnchorProps;\n /** Dot role. If an onClick is provided, the dots will have the role `button`. For a navigation link, please use `getDotAnchorProps` instead. */\n dotRole?: DotProps['role'];\n /** Component to use if the chart is empty (replacing the default one). */\n emptyComponent?: ReactNode;\n /** Whether the Control Keys panel is displayed or not. */\n hideControlKeyPanel?: boolean;\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 point labels. */\n labelDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Method modifying what's displayed within the legend when the legendVariant is \"custom\". */\n legendDecorator?: (\n datum: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Define whether the labels should be displayed inside or outside the charts and if they should contain raw or percentage values. If set to \"custom\", use `legendDecorator` to customize it. */\n legendVariant?: ScatterPlotLegendVariant;\n /** Props to forward to the Legend block. Can be used to make the legend selectable. */\n legendProps?: Omit<LegendProps, 'data' | 'ref' | 'variant' | 'width'> & {\n extraLegendItems?: Statistics;\n };\n /** Labels and texts. */\n localeText?: LocaleText;\n /** Custom margins, used to give more space for axes labels and legend for instance. */\n margins?: MarginProps;\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. For a navigation link, please use `getDotAnchorProps` instead. */\n onDotClick?: (datum: DotDatum) => void;\n /** ScatterPlot size. */\n size?: ChartSize | ScatterPlotDimensions;\n /** Define how to sort categories. */\n sortingMethod?: SortingMethod;\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 colorTheme?: ChartTheme;\n /** Method modifying what's displayed within the tooltip when the tooltipVariant is \"custom\". */\n tooltipDecorator?: (\n data: DotDatum,\n props?: { index?: number; isSelected?: boolean; color?: string }\n ) => string | ReactElement;\n /** Tooltip variant. */\n tooltipVariant?: TooltipVariant;\n /** Variant. */\n variant?: ScatterPlotVariant;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledScatterPlotProps = ScatterPlotProps & {};\n","import styled from 'styled-components';\nimport { StyledScatterPlotProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledScatterPlot = styled(ChartContainer)<StyledScatterPlotProps>``;\n\nexport const StyledScatterPlotEmptyText = styled.div<{\n $maxWidth: number;\n $textSize: number;\n $theme: Theme;\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-poppins);\n color: ${({ $theme }) => `var(--redsift-color-${$theme}-components-text-primary)`};\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';\nimport { SortingMethod, getSortingMethod } from '../../utils';\n\nexport const sizeToDimension = (size: ChartSize | ScatterPlotDimensions): 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 = (value: number, scale: d3ScaleLinear<number, number, never>) => {\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, sortingMethod: SortingMethod) => {\n const counts = arr.reduce(\n (prev, curr) => ((prev[curr.key[2] as string] = ++(prev[curr.key[2] as string] as number) || 1), prev),\n {} as Record<string, number>\n );\n\n return Object.keys(counts)\n .map((key) => ({ key: key, value: counts[key] as number }))\n .sort(getSortingMethod(sortingMethod));\n};\n","import React, { forwardRef, RefObject, useEffect, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear } from 'd3';\n\nimport { AnyScale, JSONArray } from '../../types';\nimport { ScatterPlotProps } from './types';\nimport { StyledScatterPlot, StyledScatterPlotEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\nimport { useTheme } from '@redsift/design-system';\n\nexport const EmptyScatterPlot = forwardRef<HTMLDivElement, ScatterPlotProps>((props, ref) => {\n const { className, data: propsData, emptyComponent, localeText, size, ...forwardedProps } = props;\n const theme = useTheme();\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 {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n {emptyComponent ?? (\n <>\n <StyledScatterPlotEmptyText $maxWidth={width} $textSize={chartDimensions.fontSize / 2} $theme={theme}>\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={d3scaleLinear().domain([]).range([0, chartWidth]) as AnyScale}\n x={0}\n y={height}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledScatterPlot>\n );\n});\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","export const mdiChevronDown =\n 'M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z';\n","export const mdiChevronRight =\n 'M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z';\n","export const mdiMouse =\n 'M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z';\n","import React, { forwardRef, RefObject, useEffect, useRef, useState } from 'react';\nimport {\n BrushBehavior as d3BrushBehavior,\n descending as d3descending,\n extent as d3extent,\n max as d3max,\n min as d3min,\n scaleLinear as d3scaleLinear,\n scaleSqrt as d3scaleSqrt,\n select as d3select,\n} from 'd3';\n\nimport { Button, Flexbox, Text, useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { AnyScale, DotDatum, JSONArray, LegendItemDatum, LegendVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { StyledScatterPlot } from './styles';\nimport { useZoom, useColor, useBrush } from '../../hooks';\nimport { Axis, AxisVariant } from '../Axis';\nimport { Legend } from '../Legend';\nimport { Dot } from '../Dot';\nimport { BASE_NUMBER_OF_TICKS, countBy, group, sizeToDimension } from './utils';\nimport { mdiChevronDown, mdiChevronRight, mdiMouse } from '@redsift/icons';\nimport { Popover } from '@redsift/popovers';\nimport { mergeLegends, getSortingMethod } from '../../utils';\n\ninterface RenderedScatterPlotProps extends Required<Pick<ScatterPlotProps, 'data'>>, Omit<ScatterPlotProps, 'data'> {}\n\nexport const RenderedScatterPlot = forwardRef<HTMLDivElement, RenderedScatterPlotProps>((props, ref) => {\n const {\n isBrushable,\n className,\n data: propsData,\n dotRole,\n disableAnimations,\n getDotAnchorProps,\n hideControlKeyPanel,\n id,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n margins: propsMargins,\n onBrush,\n onBrushEnd,\n onDotClick,\n size,\n sortingMethod,\n colorTheme,\n tooltipDecorator,\n tooltipVariant,\n xAxisVariant,\n xAxisPlacement,\n xAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n yAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n variant,\n ...forwardedProps\n } = props;\n\n const cache = useRef<JSONArray>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const data = propsData.filter(\n (datum) =>\n datum.value &&\n typeof datum.key[0] === 'number' &&\n !Number.isNaN(datum.key[0]) &&\n typeof datum.key[1] === 'number' &&\n !Number.isNaN(datum.key[1])\n );\n\n useEffect(() => {\n cache.current = data;\n });\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = {\n top: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n left: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n right: yAxisVariant === AxisVariant.default || yAxisVariant === AxisVariant.tickValue ? 48 : 8,\n bottom: xAxisVariant === AxisVariant.default || xAxisVariant === AxisVariant.tickValue ? 24 : 8,\n ...propsMargins,\n };\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 = data[0] && data[0].key.length >= 3 && data[0].key[2] !== null && data[0].key[2] !== undefined;\n const countsByCategory = hasCategory ? countBy(data, sortingMethod!) : undefined;\n const colorScale = useColor({\n data: countsByCategory || data,\n colorTheme: colorTheme!,\n category: 'key',\n theme,\n });\n\n const svgRef = useRef<SVGSVGElement>();\n const brushRef = useRef<d3BrushBehavior<unknown>>();\n const svgBrushRef = useRef<SVGGElement>();\n const { scaleX, scaleY, transform } = useZoom({\n svgRef,\n scaleX: extendedScaleX,\n scaleY: extendedScaleY,\n size,\n onZoom: () => {\n if (brushRef.current && svgBrushRef.current) {\n brushRef.current.clear(d3select(svgBrushRef.current));\n\n onBrushEnd?.(null);\n }\n },\n });\n useBrush({\n brushRef,\n svgRef: svgBrushRef,\n extent: [\n [0, 0],\n [chartWidth, chartHeight],\n ],\n scaleX,\n scaleY,\n isBrushable,\n isGridded: variant === ScatterPlotVariant.gridded,\n onBrush,\n onBrushEnd,\n });\n\n const circles =\n variant === ScatterPlotVariant.gridded\n ? group(data, scaleX, scaleY).sort((a, b) => {\n if (a.y !== b.y) {\n return b.y - a.y;\n }\n if (a.x !== b.x) {\n return a.x - b.x;\n }\n return d3descending(a.points.length, b.points.length);\n })\n : data.map((d) => ({\n category: d.key[2] ?? 'default',\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(...countsByCategory.map((d) => d.key.length + String(d.value).length)) * 8 + 32\n }px`;\n }\n\n const [isKeyPanelOpen, setIsKeyPanelOpen] = useState(false);\n\n const categories: string[] = [];\n // const pivotedTable = circles.reduce((acc, item) => {\n // const { x, category, y } = item;\n // if (!categories.includes(category)) {\n // categories.push(category);\n // }\n // const formattedKey = xAxisTickFormat ? xAxisTickFormat(x as any) : x.toString();\n\n // let entry = acc.find((e) => e.key === formattedKey);\n // if (!entry) {\n // entry = { key: formattedKey };\n // acc.push(entry);\n // }\n\n // entry[category] = y;\n\n // return acc;\n // }, [] as Array<Record<string, string | number | null | undefined> & { key: string }>);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n return (\n <StyledScatterPlot\n mode={typeof onDotClick === 'function' || typeof getDotAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={\n hasCategory\n ? format('definition-with-categories', {\n categoryLength: categories.length,\n circleLength: circles.length,\n })\n : format('definition', { circleLength: circles.length })\n }\n xAxisDefinition={format('x-axis-definition', {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: scaleX.domain()[0],\n end: scaleX.domain()[1],\n })}\n yAxisDefinition={format('y-axis-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: scaleY.domain()[0],\n end: scaleY.domain()[1],\n })}\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <Flexbox flexDirection=\"column\" alignItems=\"center\" gap=\"8\">\n {!hideControlKeyPanel ? (\n <Flexbox width={width} position=\"absolute\">\n <Flexbox\n flexDirection=\"column\"\n alignItems=\"flex-end\"\n position=\"absolute\"\n top={`${margins.top + 16}px`}\n right={`${margins.right + 16}px`}\n >\n <Popover placement=\"bottom-end\" isOpen={isKeyPanelOpen} onOpen={setIsKeyPanelOpen}>\n <Popover.Trigger>\n <Button\n variant=\"secondary\"\n leftIcon={mdiMouse}\n rightIcon={isKeyPanelOpen ? mdiChevronDown : mdiChevronRight}\n color=\"grey\"\n style={{\n border: '1px solid var(--redsift-color-neutral-mid-grey)',\n gap: '4px',\n }}\n />\n </Popover.Trigger>\n <Popover.Content>\n <Flexbox flexDirection=\"column\" alignItems=\"flex-start\">\n <Text margin=\"8px 16px 0\" fontSize=\"13px\">\n Zoom - Mouse wheel\n </Text>\n <Text margin=\"0 16px\" fontSize=\"13px\">\n Pan - Left click and drag\n </Text>\n <Text margin=\"0 16px 8px\" fontSize=\"13px\">\n Select - Hold shift, left click and drag\n </Text>\n </Flexbox>\n </Popover.Content>\n </Popover>\n </Flexbox>\n </Flexbox>\n ) : null}\n <svg ref={svgRef as RefObject<SVGSVGElement>} width={width} height={height}>\n <g ref={svgBrushRef as RefObject<SVGGElement>} transform={`translate(${margins.left},${margins.top})`} />\n <g transform={`translate(${margins.left},${margins.top})`}>\n <g>\n {circles.map((circle, index) => {\n const scaleXDomain = scaleX.domain();\n const scaleYDomain = scaleY.domain();\n\n if (\n circle.x! < scaleXDomain[0] ||\n circle.x! > scaleXDomain[1] ||\n circle.y! < scaleYDomain[0] ||\n circle.y! > scaleYDomain[1]\n ) {\n return null;\n }\n\n const to = {\n ...circle,\n data: {\n ...circle.data,\n percent: circle.category\n ? circle.data.value / countsByCategory?.find(({ key }) => key === circle.category)?.value!\n : undefined,\n },\n r:\n variant === ScatterPlotVariant.gridded\n ? globalSize!(circle.points.length) / (transform.k < 1 ? transform.k : 1)\n : 4,\n };\n\n return (\n <Dot\n color={colorScale?.(circle.category!)}\n data={to}\n dataset={circles}\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 tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n />\n );\n })}\n </g>\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n {['bottom', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"bottom\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['top', 'both'].includes(xAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"top\"\n length={chartWidth}\n scale={scaleX as AnyScale}\n x={0}\n y={0}\n tickValues={xAxisTickValues ?? 8}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation}\n tickSize={xAxisTickSize}\n tickFormat={xAxisTickFormat}\n variant={xAxisVariant}\n />\n ) : null}\n {['left', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"left\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n {['right', 'both'].includes(yAxisPlacement!) ? (\n <Axis\n disableAnimations={disableAnimations}\n position=\"right\"\n length={chartHeight}\n scale={scaleY as AnyScale}\n x={chartWidth}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 8}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n </svg>\n </Flexbox>\n {hasCategory && legendVariant !== ScatterPlotLegendVariant.none ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, countsByCategory!).sort(getSortingMethod(sortingMethod!))\n : countsByCategory!\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === ScatterPlotLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === ScatterPlotLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === ScatterPlotLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n width={legendWidth.current}\n legendDecorator={\n legendDecorator\n ? (datum: LegendItemDatum, props) => legendDecorator(datum as unknown as DotDatum, props)\n : undefined\n }\n {...forwardedLegendProps}\n />\n ) : null}\n </StyledScatterPlot>\n );\n});\n","import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp, useId } from '@redsift/design-system';\n\nimport { ChartSize, ColorTheme, TooltipVariant } from '../../types';\nimport { ScatterPlotLegendVariant, ScatterPlotProps, ScatterPlotVariant } from './types';\nimport { LoadingScatterPlot } from './LoadingScatterPlot';\nimport { EmptyScatterPlot } from './EmptyScatterPlot';\nimport { RenderedScatterPlot } from './RenderedScatterPlot';\nimport { AxisVariant } from '../Axis';\n\nconst COMPONENT_NAME = 'ScatterPlot';\nconst CLASSNAME = 'redsift-scatterplot';\n\nexport const ScatterPlot: Comp<ScatterPlotProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n className,\n colorTheme = ColorTheme.default,\n data: propsData,\n dotRole,\n emptyComponent,\n hideControlKeyPanel = false,\n id: propsId,\n isDotSelected,\n labelDecorator,\n legendDecorator,\n legendVariant: propsLegendVariant,\n localeText = { emptyChartText: 'No Data' },\n onBrush,\n onBrushEnd,\n onDotClick,\n size = ChartSize.medium,\n sortingMethod = 'desc-value',\n tooltipDecorator,\n tooltipVariant = TooltipVariant.none,\n variant = ScatterPlotVariant.default,\n xAxisPlacement = 'bottom',\n xAxisVariant = AxisVariant.default,\n yAxisPlacement = 'left',\n yAxisVariant = AxisVariant.default,\n ...forwardedProps\n } = props;\n const [_id] = useId();\n const id = propsId ?? _id;\n\n const legendVariant = propsLegendVariant ?? ScatterPlotLegendVariant.externalLabel;\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 hideControlKeyPanel={hideControlKeyPanel}\n localeText={localeText}\n size={size}\n sortingMethod={sortingMethod}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n }\n\n return (\n <RenderedScatterPlot\n className={classNames(ScatterPlot.className, className)}\n colorTheme={colorTheme}\n data={propsData}\n dotRole={dotRole}\n hideControlKeyPanel={hideControlKeyPanel}\n id={id}\n isDotSelected={isDotSelected}\n labelDecorator={labelDecorator}\n legendDecorator={legendDecorator}\n legendVariant={legendVariant}\n localeText={localeText}\n onBrush={onBrush}\n onBrushEnd={onBrushEnd}\n onDotClick={onDotClick}\n size={size}\n sortingMethod={sortingMethod}\n tooltipDecorator={tooltipDecorator}\n tooltipVariant={tooltipVariant}\n variant={variant}\n xAxisPlacement={xAxisPlacement}\n xAxisVariant={xAxisVariant}\n yAxisPlacement={yAxisPlacement}\n yAxisVariant={yAxisVariant}\n {...forwardedProps}\n ref={ref}\n />\n );\n});\nScatterPlot.className = CLASSNAME;\nScatterPlot.displayName = COMPONENT_NAME;\n"],"names":["getRoundedIntermediaryPoint","selection","scaleX","scaleY","xTicks","ticks","xDelta","yTicks","yDelta","Math","round","invert","useBrush","_ref","brushRef","propsBrushRef","svgRef","extent","isBrushable","isGridded","onBrush","onBrushEnd","useRef","useEffect","current","d3brush","keyModifiers","filter","event","shiftKey","on","sourceEvent","d3select","call","move","useZoom","defaultTransform","k","x","y","size","onZoom","zx","zy","transform","setTransform","useState","zoom","d3zoom","scaleExtent","rescaleX","interpolate","d3interpolateRound","rescaleY","ScatterPlotVariant","default","gridded","ScatterPlotLegendVariant","none","externalLabel","externalLabelValue","externalLabelPercent","custom","StyledScatterPlot","styled","ChartContainer","StyledScatterPlotEmptyText","div","$maxWidth","_ref2","$theme","_ref3","$textSize","_ref4","LoadingScatterPlot","forwardRef","props","ref","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","_extends","sizeToDimension","ChartSize","small","width","height","fontSize","medium","large","BASE_NUMBER_OF_TICKS","getClosestLineIndex","value","scale","delta","index","roundValue","group","data","groupDict","forEach","d","i","rx","key","j","ry","category","points","push","Object","values","countBy","arr","sortingMethod","counts","reduce","prev","curr","keys","map","sort","getSortingMethod","EmptyScatterPlot","propsData","emptyComponent","localeText","theme","useTheme","cache","chartDimensions","margins","top","left","right","bottom","chartWidth","Fragment","emptyChartText","Axis","position","length","d3scaleLinear","domain","range","tickValues","enUS","frFR","mdiChevronDown","mdiChevronRight","mdiMouse","RenderedScatterPlot","dotRole","disableAnimations","getDotAnchorProps","hideControlKeyPanel","id","isDotSelected","labelDecorator","legendDecorator","legendVariant","legendProps","propsMargins","onDotClick","colorTheme","tooltipDecorator","tooltipVariant","xAxisVariant","xAxisPlacement","xAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","yAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","variant","format","useMessageFormatter","intlMessages","datum","Number","isNaN","_objectSpread","AxisVariant","tickValue","chartHeight","minSize","d3min","extendedScaleX","d3extent","gap","nice","extendedScaleY","hasCategory","undefined","countsByCategory","colorScale","useColor","svgBrushRef","clear","circles","a","b","d3descending","_d$key$","globalSize","d3scaleSqrt","max","d3max","legendWidth","String","isKeyPanelOpen","setIsKeyPanelOpen","categories","extraLegendItems","forwardedLegendProps","_excluded2","mode","definition","categoryLength","circleLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","Flexbox","flexDirection","alignItems","Popover","placement","isOpen","onOpen","Trigger","Button","leftIcon","rightIcon","color","style","border","Content","Text","margin","circle","_countsByCategory$fin","scaleXDomain","scaleYDomain","to","percent","find","r","Dot","dataset","isSelected","Boolean","onClick","role","includes","tickPadding","tickRotation","tickSize","tickFormat","Legend","mergeLegends","LegendVariant","label","COMPONENT_NAME","CLASSNAME","ScatterPlot","ColorTheme","propsId","propsLegendVariant","TooltipVariant","_id","useId","classNames","displayName"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -112,10 +112,7 @@ declare const Axis: Comp<AxisProps, SVGGElement>;
|
|
|
112
112
|
/**
|
|
113
113
|
* Component style.
|
|
114
114
|
*/
|
|
115
|
-
declare const StyledAxis: styled_components.StyledComponent<_react_spring_web.AnimatedComponent<"g">, any,
|
|
116
|
-
$theme: Theme;
|
|
117
|
-
$color?: string | undefined;
|
|
118
|
-
}, never>;
|
|
115
|
+
declare const StyledAxis: styled_components.StyledComponent<_react_spring_web.AnimatedComponent<"g">, any, StyledAxisProps, never>;
|
|
119
116
|
|
|
120
117
|
type ChartAxesProps = {
|
|
121
118
|
/** String to Date. */
|
|
@@ -422,8 +419,8 @@ declare const successDangerScheme: {
|
|
|
422
419
|
};
|
|
423
420
|
declare const getColorScale: ({ colorTheme, domain, isEmpty, theme, }: {
|
|
424
421
|
colorTheme: ChartTheme;
|
|
425
|
-
domain?: string[]
|
|
426
|
-
isEmpty?: boolean
|
|
422
|
+
domain?: string[];
|
|
423
|
+
isEmpty?: boolean;
|
|
427
424
|
theme: Theme;
|
|
428
425
|
}) => ScaleOrdinal<string, string>;
|
|
429
426
|
|
|
@@ -486,9 +483,7 @@ declare const DataPoint: Comp<DataPointProps<any>, SVGGElement>;
|
|
|
486
483
|
/**
|
|
487
484
|
* Component style.
|
|
488
485
|
*/
|
|
489
|
-
declare const StyledDataPoint: styled_components.StyledComponent<_react_spring_web.AnimatedComponent<"g">, any,
|
|
490
|
-
$clickable: boolean;
|
|
491
|
-
}, never>;
|
|
486
|
+
declare const StyledDataPoint: styled_components.StyledComponent<_react_spring_web.AnimatedComponent<"g">, any, StyledDataPointProps, never>;
|
|
492
487
|
|
|
493
488
|
/**
|
|
494
489
|
* Component props.
|
|
@@ -509,12 +504,7 @@ declare const Arc: Comp<ArcProps, SVGGElement>;
|
|
|
509
504
|
/**
|
|
510
505
|
* Component style.
|
|
511
506
|
*/
|
|
512
|
-
declare const StyledArc: styled_components.StyledComponent<_redsift_design_system.Comp<DataPointProps<any>, SVGGElement>, any,
|
|
513
|
-
$clickable: boolean;
|
|
514
|
-
} & Omit<ArcProps, "createArc"> & {
|
|
515
|
-
$hasStroke: boolean | undefined;
|
|
516
|
-
$theme: Theme;
|
|
517
|
-
}, never>;
|
|
507
|
+
declare const StyledArc: styled_components.StyledComponent<_redsift_design_system.Comp<DataPointProps<any>, SVGGElement>, any, StyledArcProps, never>;
|
|
518
508
|
|
|
519
509
|
/**
|
|
520
510
|
* Component props.
|
|
@@ -581,11 +571,7 @@ declare const Bar: Comp<BarProps, SVGGElement>;
|
|
|
581
571
|
/**
|
|
582
572
|
* Component style.
|
|
583
573
|
*/
|
|
584
|
-
declare const StyledBar: styled_components.StyledComponent<_redsift_design_system.Comp<DataPointProps<any>, SVGGElement>, any,
|
|
585
|
-
$clickable: boolean;
|
|
586
|
-
} & Omit<BarProps, "scale" | "scalePosition"> & {
|
|
587
|
-
$theme: Theme;
|
|
588
|
-
}, never>;
|
|
574
|
+
declare const StyledBar: styled_components.StyledComponent<_redsift_design_system.Comp<DataPointProps<any>, SVGGElement>, any, StyledBarProps, never>;
|
|
589
575
|
|
|
590
576
|
/**
|
|
591
577
|
* Component props.
|
|
@@ -638,12 +624,8 @@ declare const ChartContainerDescription: Comp<ComponentProps<'div'>, HTMLDivElem
|
|
|
638
624
|
/**
|
|
639
625
|
* Component style.
|
|
640
626
|
*/
|
|
641
|
-
declare const StyledChartContainer: styled_components.StyledComponent<"div", any,
|
|
642
|
-
|
|
643
|
-
}, never>;
|
|
644
|
-
declare const StyledChartContainerTitle: styled_components.StyledComponent<_redsift_design_system.Comp<_redsift_design_system.FlexboxProps, HTMLDivElement>, any, Omit<ChartContainerProps, "theme"> & {
|
|
645
|
-
$theme: Theme;
|
|
646
|
-
}, never>;
|
|
627
|
+
declare const StyledChartContainer: styled_components.StyledComponent<"div", any, StyledChartContainerProps, never>;
|
|
628
|
+
declare const StyledChartContainerTitle: styled_components.StyledComponent<_redsift_design_system.Comp<_redsift_design_system.FlexboxProps, HTMLDivElement>, any, StyledChartContainerProps, never>;
|
|
647
629
|
declare const StyledChartContainerCaption: styled_components.StyledComponent<"p", any, Omit<StyledChartContainerProps, "onReset">, never>;
|
|
648
630
|
|
|
649
631
|
/**
|
|
@@ -702,9 +684,7 @@ declare const Legend: Comp<LegendProps, HTMLUListElement>;
|
|
|
702
684
|
/**
|
|
703
685
|
* Component style.
|
|
704
686
|
*/
|
|
705
|
-
declare const StyledLegend: styled_components.StyledComponent<"ul", any,
|
|
706
|
-
$width?: string | number | undefined;
|
|
707
|
-
}, never>;
|
|
687
|
+
declare const StyledLegend: styled_components.StyledComponent<"ul", any, StyledLegendProps, never>;
|
|
708
688
|
|
|
709
689
|
type FormatMessage = (key: string, variables?: {
|
|
710
690
|
[key: string]: any;
|
|
@@ -879,7 +859,7 @@ declare const BarChart: Comp<BarChartProps, HTMLDivElement> & {
|
|
|
879
859
|
GroupedTooltip: React$1.FC<{
|
|
880
860
|
dateFormatter: (date: Date) => string;
|
|
881
861
|
categories: string[];
|
|
882
|
-
categoryDecorator?: (
|
|
862
|
+
categoryDecorator?: (category: string) => string;
|
|
883
863
|
categoryColor: (category: string) => string;
|
|
884
864
|
datum: BarDatum;
|
|
885
865
|
groupedData: ComputedBarProps[] | undefined;
|
|
@@ -931,12 +911,7 @@ declare const Dot: Comp<DotProps, SVGGElement>;
|
|
|
931
911
|
/**
|
|
932
912
|
* Component style.
|
|
933
913
|
*/
|
|
934
|
-
declare const StyledDot: styled_components.StyledComponent<_redsift_design_system.Comp<DataPointProps<any>, SVGGElement>, any,
|
|
935
|
-
$clickable: boolean;
|
|
936
|
-
} & Omit<DotProps, "scaleX" | "scaleY"> & {
|
|
937
|
-
$variant: DotVariant | undefined;
|
|
938
|
-
$theme: _redsift_design_system.Theme;
|
|
939
|
-
}, never>;
|
|
914
|
+
declare const StyledDot: styled_components.StyledComponent<_redsift_design_system.Comp<DataPointProps<any>, SVGGElement>, any, StyledDotProps, never>;
|
|
940
915
|
|
|
941
916
|
/**
|
|
942
917
|
* Component props.
|
package/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { a as LabelVariant, L as LegendVariant, T as TooltipVariant } from './_internal/legend2.js';
|
|
2
2
|
export { C as ChartSize, a as ColorTheme, g as getSortingMethod, i as isValidDate, m as mergeLegends, u as useColor } from './_internal/theme.js';
|
|
3
|
+
export { e as empty, g as getColorScale, m as monochrome, s as scheme, a as successDangerScheme } from './_internal/scheme.js';
|
|
3
4
|
export { S as ScatterPlot, c as ScatterPlotLegendVariant, b as ScatterPlotVariant, d as StyledScatterPlot, e as StyledScatterPlotEmptyText, u as useBrush, a as useZoom } from './_internal/ScatterPlot2.js';
|
|
4
5
|
export { u as useFormatCategoricalData } from './_internal/useFormatCategoricalData.js';
|
|
5
|
-
export { a as LabelVariant, L as LegendVariant, T as TooltipVariant } from './_internal/legend2.js';
|
|
6
6
|
export { A as Arc, S as StyledArc } from './_internal/Arc2.js';
|
|
7
7
|
export { A as Arcs, S as StyledArcs } from './_internal/Arcs2.js';
|
|
8
8
|
export { A as Axis, b as AxisPosition, a as AxisVariant, S as StyledAxis, g as getAxisType } from './_internal/Axis2.js';
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"test": "yarn test:unit && yarn test:storybook"
|
|
31
31
|
},
|
|
32
32
|
"types": "types.d.ts",
|
|
33
|
-
"version": "11.6.0-muiv5-alpha.
|
|
33
|
+
"version": "11.6.0-muiv5-alpha.14",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@emotion/react": "^11.10.4",
|
|
36
36
|
"@emotion/styled": "^11.10.4",
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"react-dom": ">=17",
|
|
95
95
|
"styled-components": "^5.3.5"
|
|
96
96
|
},
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "ccafa1b24a2a12d94313e9d845f8d9b32fa8446b"
|
|
98
98
|
}
|