@redsift/charts 11.5.0-muiv5 → 11.6.0-muiv5-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/_virtual/_rollupPluginBabelHelpers.js +93 -0
- package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/components/Arc/Arc.d.ts +6 -0
- package/components/Arc/Arc.js +74 -0
- package/components/Arc/Arc.js.map +1 -0
- package/components/Arc/styles.d.ts +17 -0
- package/components/Arc/styles.js +49 -0
- package/components/Arc/styles.js.map +1 -0
- package/components/Arc/types.d.ts +20 -0
- package/components/Arcs/Arcs.d.ts +6 -0
- package/components/Arcs/Arcs.js +90 -0
- package/components/Arcs/Arcs.js.map +1 -0
- package/components/Arcs/styles.d.ts +9 -0
- package/components/Arcs/styles.js +9 -0
- package/components/Arcs/styles.js.map +1 -0
- package/components/Arcs/types.d.ts +17 -0
- package/components/Axis/Axis.d.ts +7 -0
- package/components/Axis/Axis.js +211 -0
- package/components/Axis/Axis.js.map +1 -0
- package/components/Axis/computeTicks.js +117 -0
- package/components/Axis/computeTicks.js.map +1 -0
- package/components/Axis/styles.d.ts +14 -0
- package/components/Axis/styles.js +51 -0
- package/components/Axis/styles.js.map +1 -0
- package/components/Axis/types.d.ts +89 -0
- package/components/Axis/types.js +24 -0
- package/components/Axis/types.js.map +1 -0
- package/components/Bar/Bar.d.ts +6 -0
- package/components/Bar/Bar.js +95 -0
- package/components/Bar/Bar.js.map +1 -0
- package/components/Bar/styles.d.ts +16 -0
- package/components/Bar/styles.js +66 -0
- package/components/Bar/styles.js.map +1 -0
- package/components/Bar/types.d.ts +46 -0
- package/components/Bar/types.js +18 -0
- package/components/Bar/types.js.map +1 -0
- package/components/BarChart/BarChart.d.ts +29 -0
- package/components/BarChart/BarChart.js +141 -0
- package/components/BarChart/BarChart.js.map +1 -0
- package/components/BarChart/BarChartBars.js +168 -0
- package/components/BarChart/BarChartBars.js.map +1 -0
- package/components/BarChart/BarChartSection.js +139 -0
- package/components/BarChart/BarChartSection.js.map +1 -0
- package/components/BarChart/EmptyBarChart.js +57 -0
- package/components/BarChart/EmptyBarChart.js.map +1 -0
- package/components/BarChart/LoadingBarChart.js +18 -0
- package/components/BarChart/LoadingBarChart.js.map +1 -0
- package/components/BarChart/RenderedLinearBarChart.js +549 -0
- package/components/BarChart/RenderedLinearBarChart.js.map +1 -0
- package/components/BarChart/RenderedOrdinalBarChart.js +236 -0
- package/components/BarChart/RenderedOrdinalBarChart.js.map +1 -0
- package/components/BarChart/context.js +13 -0
- package/components/BarChart/context.js.map +1 -0
- package/components/BarChart/intl/en-US.json.js +17 -0
- package/components/BarChart/intl/en-US.json.js.map +1 -0
- package/components/BarChart/intl/fr-FR.json.js +17 -0
- package/components/BarChart/intl/fr-FR.json.js.map +1 -0
- package/components/BarChart/intl/index.js +10 -0
- package/components/BarChart/intl/index.js.map +1 -0
- package/components/BarChart/styles.d.ts +19 -0
- package/components/BarChart/styles.js +71 -0
- package/components/BarChart/styles.js.map +1 -0
- package/components/BarChart/types.d.ts +177 -0
- package/components/BarChart/types.js +17 -0
- package/components/BarChart/types.js.map +1 -0
- package/components/BarChart/utils.js +69 -0
- package/components/BarChart/utils.js.map +1 -0
- package/components/ChartContainer/ChartContainer.d.ts +9 -0
- package/components/ChartContainer/ChartContainer.js +167 -0
- package/components/ChartContainer/ChartContainer.js.map +1 -0
- package/components/ChartContainer/context.js +6 -0
- package/components/ChartContainer/context.js.map +1 -0
- package/components/ChartContainer/intl/en-US.json.js +14 -0
- package/components/ChartContainer/intl/en-US.json.js.map +1 -0
- package/components/ChartContainer/intl/fr-FR.json.js +14 -0
- package/components/ChartContainer/intl/fr-FR.json.js.map +1 -0
- package/components/ChartContainer/intl/index.js +10 -0
- package/components/ChartContainer/intl/index.js.map +1 -0
- package/components/ChartContainer/styles.d.ts +17 -0
- package/components/ChartContainer/styles.js +76 -0
- package/components/ChartContainer/styles.js.map +1 -0
- package/components/ChartContainer/types.d.ts +48 -0
- package/components/DataPoint/DataPoint.d.ts +6 -0
- package/components/DataPoint/DataPoint.js +104 -0
- package/components/DataPoint/DataPoint.js.map +1 -0
- package/components/DataPoint/styles.d.ts +12 -0
- package/components/DataPoint/styles.js +10 -0
- package/components/DataPoint/styles.js.map +1 -0
- package/components/DataPoint/types.d.ts +60 -0
- package/components/Dot/Dot.d.ts +6 -0
- package/components/Dot/Dot.js +55 -0
- package/components/Dot/Dot.js.map +1 -0
- package/components/Dot/styles.d.ts +16 -0
- package/components/Dot/styles.js +49 -0
- package/components/Dot/styles.js.map +1 -0
- package/components/Dot/types.d.ts +30 -0
- package/components/Dot/types.js +14 -0
- package/components/Dot/types.js.map +1 -0
- package/components/Legend/Legend.d.ts +6 -0
- package/components/Legend/Legend.js +73 -0
- package/components/Legend/Legend.js.map +1 -0
- package/components/Legend/styles.d.ts +11 -0
- package/components/Legend/styles.js +15 -0
- package/components/Legend/styles.js.map +1 -0
- package/components/Legend/types.d.ts +44 -0
- package/components/LegendItem/LegendItem.js +96 -0
- package/components/LegendItem/LegendItem.js.map +1 -0
- package/components/LegendItem/styles.js +63 -0
- package/components/LegendItem/styles.js.map +1 -0
- package/components/LegendItem/types.d.ts +20 -0
- package/components/Line/Line.d.ts +6 -0
- package/components/Line/Line.js +55 -0
- package/components/Line/Line.js.map +1 -0
- package/components/Line/styles.d.ts +9 -0
- package/components/Line/styles.js +9 -0
- package/components/Line/styles.js.map +1 -0
- package/components/Line/types.d.ts +21 -0
- package/components/LineChart/EmptyLineChart.js +58 -0
- package/components/LineChart/EmptyLineChart.js.map +1 -0
- package/components/LineChart/LineChart.d.ts +6 -0
- package/components/LineChart/LineChart.js +96 -0
- package/components/LineChart/LineChart.js.map +1 -0
- package/components/LineChart/LoadingLineChart.js +18 -0
- package/components/LineChart/LoadingLineChart.js.map +1 -0
- package/components/LineChart/RenderedLineChart.js +372 -0
- package/components/LineChart/RenderedLineChart.js.map +1 -0
- package/components/LineChart/intl/en-US.json.js +17 -0
- package/components/LineChart/intl/en-US.json.js.map +1 -0
- package/components/LineChart/intl/fr-FR.json.js +17 -0
- package/components/LineChart/intl/fr-FR.json.js.map +1 -0
- package/components/LineChart/intl/index.js +10 -0
- package/components/LineChart/intl/index.js.map +1 -0
- package/components/LineChart/styles.d.ts +17 -0
- package/components/LineChart/styles.js +53 -0
- package/components/LineChart/styles.js.map +1 -0
- package/components/LineChart/types.d.ts +90 -0
- package/components/LineChart/types.js +17 -0
- package/components/LineChart/types.js.map +1 -0
- package/components/LineChart/utils.js +67 -0
- package/components/LineChart/utils.js.map +1 -0
- package/components/PieChart/EmptyPieChart.js +85 -0
- package/components/PieChart/EmptyPieChart.js.map +1 -0
- package/components/PieChart/LoadingPieChart.js +18 -0
- package/components/PieChart/LoadingPieChart.js.map +1 -0
- package/components/PieChart/PieChart.d.ts +6 -0
- package/components/PieChart/PieChart.js +98 -0
- package/components/PieChart/PieChart.js.map +1 -0
- package/components/PieChart/RenderedPieChart.js +198 -0
- package/components/PieChart/RenderedPieChart.js.map +1 -0
- package/components/PieChart/intl/en-US.json.js +9 -0
- package/components/PieChart/intl/en-US.json.js.map +1 -0
- package/components/PieChart/intl/fr-FR.json.js +9 -0
- package/components/PieChart/intl/fr-FR.json.js.map +1 -0
- package/components/PieChart/intl/index.js +10 -0
- package/components/PieChart/intl/index.js.map +1 -0
- package/components/PieChart/styles.d.ts +24 -0
- package/components/PieChart/styles.js +168 -0
- package/components/PieChart/styles.js.map +1 -0
- package/components/PieChart/types.d.ts +115 -0
- package/components/PieChart/types.js +27 -0
- package/components/PieChart/types.js.map +1 -0
- package/components/PieChart/utils.js +37 -0
- package/components/PieChart/utils.js.map +1 -0
- package/components/ScatterPlot/EmptyScatterPlot.js +58 -0
- package/components/ScatterPlot/EmptyScatterPlot.js.map +1 -0
- package/components/ScatterPlot/LoadingScatterPlot.js +18 -0
- package/components/ScatterPlot/LoadingScatterPlot.js.map +1 -0
- package/components/ScatterPlot/RenderedScatterPlot.js +352 -0
- package/components/ScatterPlot/RenderedScatterPlot.js.map +1 -0
- package/components/ScatterPlot/ScatterPlot.d.ts +6 -0
- package/components/ScatterPlot/ScatterPlot.js +105 -0
- package/components/ScatterPlot/ScatterPlot.js.map +1 -0
- package/components/ScatterPlot/intl/en-US.json.js +12 -0
- package/components/ScatterPlot/intl/en-US.json.js.map +1 -0
- package/components/ScatterPlot/intl/fr-FR.json.js +17 -0
- package/components/ScatterPlot/intl/fr-FR.json.js.map +1 -0
- package/components/ScatterPlot/intl/index.js +10 -0
- package/components/ScatterPlot/intl/index.js.map +1 -0
- package/components/ScatterPlot/styles.d.ts +17 -0
- package/components/ScatterPlot/styles.js +53 -0
- package/components/ScatterPlot/styles.js.map +1 -0
- package/components/ScatterPlot/types.d.ts +109 -0
- package/components/ScatterPlot/types.js +24 -0
- package/components/ScatterPlot/types.js.map +1 -0
- package/components/ScatterPlot/utils.js +70 -0
- package/components/ScatterPlot/utils.js.map +1 -0
- package/config.js +15 -0
- package/config.js.map +1 -0
- package/design-system/src/react-aria/react-aria/i18n/useMessageFormatter.d.ts +5 -0
- package/hooks/useBrush.d.ts +17 -0
- package/hooks/useBrush.js +48 -0
- package/hooks/useBrush.js.map +1 -0
- package/hooks/useColor.d.ts +18 -0
- package/hooks/useColor.js +20 -0
- package/hooks/useColor.js.map +1 -0
- package/hooks/useFormatCategoricalData.d.ts +26 -0
- package/hooks/useFormatCategoricalData.js +57 -0
- package/hooks/useFormatCategoricalData.js.map +1 -0
- package/hooks/useZoom.d.ts +26 -0
- package/hooks/useZoom.js +39 -0
- package/hooks/useZoom.js.map +1 -0
- package/index.d.ts +51 -1277
- package/index.js +42 -5118
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/scheme.d.ts +32 -0
- package/scheme.js +47 -0
- package/scheme.js.map +1 -0
- package/types/axis.d.ts +48 -0
- package/types/data.d.ts +72 -0
- package/types/legend.d.ts +30 -0
- package/types/legend.js +21 -0
- package/types/legend.js.map +1 -0
- package/types/scale.d.ts +48 -0
- package/types/size.d.ts +20 -0
- package/types/size.js +8 -0
- package/types/size.js.map +1 -0
- package/types/theme.d.ts +23 -0
- package/types/theme.js +13 -0
- package/types/theme.js.map +1 -0
- package/utils/index.d.ts +11 -0
- package/utils/index.js +44 -0
- package/utils/index.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderedLinearBarChart.js","sources":["../../../src/components/BarChart/RenderedLinearBarChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef } from 'react';\nimport {\n extent as d3extent,\n scaleLinear as d3scaleLinear,\n scaleLog as d3scaleLog,\n scalePoint as d3scalePoint,\n scaleUtc as d3scaleUtc,\n ScaleTime as d3ScaleTime,\n utcParse as d3utcParse,\n ScaleLinear as d3ScaleLinear,\n} from 'd3';\n\nimport { Flexbox, useTheme, useMessageFormatter, isComponent } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport {\n AnyScale,\n BarDatum,\n LegendItemDatum,\n LegendVariant,\n LinearData,\n LinearDatum,\n LinearDim,\n TwoCategoryData,\n TwoCategoryDatum,\n} from '../../types';\nimport { BarChartLegendVariant, ComputedBarProps, RenderedLinearBarChartProps, XScaleType } from './types';\nimport { StyledBarChart } from './styles';\nimport { BarDirection } from '../Bar';\nimport { Axis, AxisVariant, getAxisType } from '../Axis';\nimport { sizeToDimension, statsBy } from './utils';\nimport { getSortingMethod, isValidDate, mergeLegends } from '../../utils';\nimport { useColor } from '../../hooks';\nimport { BarChartContext } from './context';\nimport { ChartTypeContext } from '../ChartContainer/context';\nimport { BarChartBars } from './BarChartBars';\nimport { Legend } from '../Legend';\n\nexport const COMPONENT_TYPES = {\n AXES: 'Axis',\n SECTIONS: 'BarChartSection',\n BARS: 'BarChartBars',\n LEGENDS: 'Legend',\n} as const;\n\nexport const getComponentPosition = (child: React.ReactNode) => {\n if (!React.isValidElement(child)) return null;\n\n const displayName = (child.type as any)?.displayName;\n\n if (COMPONENT_TYPES.AXES === displayName) return 'axes';\n if (COMPONENT_TYPES.SECTIONS === displayName) return 'sections';\n if (COMPONENT_TYPES.BARS === displayName) return 'bars';\n if (COMPONENT_TYPES.LEGENDS === displayName) return 'legend';\n\n return null;\n};\n\nconst getKey = (datum: LinearDatum | TwoCategoryDatum) => (Array.isArray(datum.key) ? datum.key[0] : datum.key);\n\nconst filterData = (hasCategory: boolean, data: LinearData | TwoCategoryData, filterFn: any) => {\n if (hasCategory) {\n return (data as TwoCategoryData).filter(filterFn);\n }\n return (data as LinearData).filter(filterFn);\n};\n\nconst reduceData = (hasCategory: boolean, data: LinearData | TwoCategoryData, reduceFn: any, initialValue: any) => {\n if (hasCategory) {\n return (data as TwoCategoryData).reduce(reduceFn, initialValue) as any;\n }\n return (data as LinearData).reduce(reduceFn, initialValue) as any;\n};\n\nconst isSameKey = (key: LinearDim, previousKey: LinearDim, xScaleType: XScaleType) =>\n xScaleType === 'Date' || xScaleType === 'dateString'\n ? (key as Date).getTime() === (previousKey as Date).getTime()\n : key === previousKey;\n\nexport const RenderedLinearBarChart = forwardRef<HTMLDivElement, RenderedLinearBarChartProps>((props, ref) => {\n const {\n barProps,\n children,\n className,\n data: propsData,\n direction = BarDirection.up,\n disableAnimations,\n id,\n getBarAnchorProps,\n isBarSelected,\n labelDecorator,\n legendDecorator,\n legendVariant,\n legendProps,\n margins: propsMargins,\n onBarClick,\n size,\n sortingMethod: propsSortingMethod,\n barRole,\n colorTheme,\n tooltipVariant,\n tooltipDecorator,\n xAxisVariant: propsXAxisVariant,\n xAxisPlacement,\n xAxisTickFormat: propsXAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n xAxisMinValue,\n xAxisMaxValue,\n xAxisTickRemodelling,\n xAxisStartDateOffset = -1,\n xAxisEndDateOffset = 1,\n yAxisVariant: propsYAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n yAxisMinValue,\n yAxisMaxValue,\n yAxisTickRemodelling,\n xScaleType: propsXScaleType,\n yScaleLogBase,\n dateParser,\n ...forwardedProps\n } = props;\n\n const cache = useRef<LinearData | TwoCategoryData>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const hasCategory =\n propsData[0] &&\n Array.isArray(propsData[0].key) &&\n propsData[0].key.length >= 2 &&\n propsData[0].key[1] !== null &&\n propsData[0].key[1] !== undefined;\n\n const sections = useMemo(() => {\n const sectionList: string[][] = [];\n\n React.Children.forEach(children, (child) => {\n if (isComponent('BarChartSection')(child)) {\n const categories = React.Children.toArray(child.props.children)\n .filter((c) => isComponent('BarChartBars')(c))\n .map((c) => (c as React.ReactElement).props.category);\n\n sectionList.push(categories);\n }\n });\n\n return sectionList;\n }, [children]);\n\n const hasSections = sections.length > 0;\n const sortingMethod = hasSections ? sections.flat() : propsSortingMethod;\n\n const xScaleType: XScaleType = propsXScaleType\n ? propsXScaleType\n : getKey(propsData[0]) instanceof Date\n ? 'Date'\n : typeof getKey(propsData[0]) === 'number'\n ? 'number'\n : typeof getKey(propsData[0]) === 'string' && isValidDate(getKey(propsData[0]) as string)\n ? 'dateString'\n : undefined;\n\n const data =\n xScaleType === 'number'\n ? filterData(\n hasCategory,\n propsData,\n (datum: LinearDatum | TwoCategoryDatum) => typeof getKey(datum) === 'number' && !Number.isNaN(getKey(datum))\n )\n : xScaleType === 'dateString'\n ? filterData(hasCategory, propsData, (datum: LinearDatum | TwoCategoryDatum) =>\n isValidDate(getKey(datum) as string)\n )\n : xScaleType === 'Date'\n ? filterData(hasCategory, propsData, (datum: LinearDatum | TwoCategoryDatum) => getKey(datum) instanceof Date)\n : propsData;\n\n useEffect(() => {\n cache.current = data;\n });\n\n const svgRef = useRef<SVGSVGElement>();\n\n const xAxisVariant = propsXAxisVariant ? propsXAxisVariant : AxisVariant.tickValue;\n const yAxisVariant = propsYAxisVariant ? propsYAxisVariant : AxisVariant.default;\n\n const chartDimensions = sizeToDimension(size!);\n const width = Math.max(\n Math.min(chartDimensions.width, chartDimensions.maxWidth ?? Infinity),\n chartDimensions.minWidth ?? -Infinity\n );\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 numberOfBars = filterData(hasCategory, data, (datum: LinearDatum | TwoCategoryDatum) => datum.value).length;\n const gap = 5;\n\n let barWidth = chartWidth / (numberOfBars * 2) - gap;\n\n const scaleX = (() => {\n if (xScaleType === 'number') {\n const domain = d3extent<LinearDatum | TwoCategoryDatum, number>(data, (d) => getKey(d) as number) as [\n number,\n number\n ];\n domain[0] = (xAxisMinValue as number) ?? domain[0];\n domain[1] = (xAxisMaxValue as number) ?? domain[1];\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 } else if (xScaleType === 'dateString' || xScaleType === 'Date') {\n const domain =\n xScaleType === 'dateString'\n ? (d3extent<LinearDatum | TwoCategoryDatum, number>(data, (d) => Date.parse(getKey(d) as string)) as [\n number,\n number\n ])\n : (d3extent<LinearDatum | TwoCategoryDatum, number>(data, (d) => (getKey(d) as Date).valueOf()) as [\n number,\n number\n ]);\n domain[0] = (xAxisMinValue as number) ?? domain[0];\n domain[1] = (xAxisMaxValue as number) ?? domain[1];\n const startDate =\n xAxisTickValues && typeof xAxisTickValues === 'function' && typeof xAxisTickValues.offset === 'function'\n ? xAxisTickValues.offset(new Date(domain[0]), xAxisStartDateOffset)\n : new Date(domain[0]);\n const endDate =\n xAxisTickValues && typeof xAxisTickValues === 'function' && typeof xAxisTickValues.offset === 'function'\n ? xAxisTickValues.offset(new Date(domain[1]), xAxisEndDateOffset)\n : new Date(domain[1]);\n\n return barProps?.width && typeof barProps.width === 'number'\n ? d3scaleUtc()\n .domain([startDate, endDate])\n .range([barProps.width / 2 + 10, chartWidth - (barProps.width / 2 + 5)])\n : d3scaleUtc()\n .domain([startDate, endDate])\n .range([barWidth, chartWidth - barWidth])\n .nice();\n } else {\n const domain =\n xAxisTickValues && Array.isArray(xAxisTickValues)\n ? (xAxisTickValues as string[])\n : data.map((d) => getKey(d) as string);\n domain[0] = (xAxisMinValue as string) ?? domain[0];\n domain[1] = (xAxisMaxValue as string) ?? domain[1];\n return d3scalePoint().domain(domain).range([0, chartWidth]);\n }\n })();\n\n const xAxisTickFormat =\n propsXAxisTickFormat ??\n (xScaleType === 'Date' || xScaleType === 'dateString'\n ? (scaleX as d3ScaleTime<number, number, never>).tickFormat()\n : undefined);\n\n const statsByCategory = statsBy(data as LinearData | TwoCategoryData, sortingMethod!);\n const colorScale = useColor({\n data: statsByCategory,\n colorTheme: colorTheme!,\n category: (d) => d.key as string,\n theme,\n });\n\n const bars: ComputedBarProps[] = reduceData(\n hasCategory,\n filterData(\n hasCategory,\n data.sort((a, b) => {\n const currentKeyA = hasCategory ? (a as TwoCategoryDatum).key[0] : (a as LinearDatum).key;\n const currentKeyB = hasCategory ? (b as TwoCategoryDatum).key[0] : (b as LinearDatum).key;\n if (xScaleType === 'number') {\n if (currentKeyA < currentKeyB) return -1;\n if (currentKeyA > currentKeyB) return 1;\n } else if (xScaleType === 'dateString') {\n if (Date.parse(currentKeyA as string) < Date.parse(currentKeyB as string)) return -1;\n if (Date.parse(currentKeyA as string) > Date.parse(currentKeyB as string)) return 1;\n } else if (xScaleType === 'Date') {\n if ((currentKeyA as Date).valueOf() < (currentKeyB as Date).valueOf()) return -1;\n if ((currentKeyA as Date).valueOf() > (currentKeyB as Date).valueOf()) return 1;\n } else if (xScaleType === 'string' && xAxisTickValues && Array.isArray(xAxisTickValues)) {\n if (xAxisTickValues.indexOf(currentKeyA) < xAxisTickValues.indexOf(currentKeyB)) return -1;\n if (xAxisTickValues.indexOf(currentKeyA) > xAxisTickValues.indexOf(currentKeyB)) return 1;\n }\n return hasCategory\n ? getSortingMethod(sortingMethod ?? 'asc-key')(\n { key: (a as TwoCategoryDatum).key[1]!, value: a.value! },\n { key: (b as TwoCategoryDatum).key[1]!, value: b.value! }\n )\n : 0;\n }),\n (d: LinearDatum | TwoCategoryDatum) => d.value !== null\n ),\n (previousValue: ComputedBarProps[], currentValue: LinearDatum | TwoCategoryDatum, currentIndex: number) => {\n const currentKeyD = hasCategory ? (currentValue as TwoCategoryDatum).key[0] : (currentValue as LinearDatum).key;\n const formattedKeyD =\n xScaleType === 'dateString'\n ? dateParser\n ? dateParser(currentKeyD as string)\n : (d3utcParse('%Y-%m-%d')(currentKeyD as string) as Date)\n : currentKeyD;\n const category = hasCategory ? (currentValue as TwoCategoryDatum).key[1] ?? 'default' : 'default';\n const isSameSection = !hasSections\n ? true\n : (() => {\n const findSectionIndex = (cat: string) => sections.findIndex((section) => section.includes(cat));\n const currentSection = findSectionIndex(category);\n const prevSection = findSectionIndex(previousValue[currentIndex - 1]?.category);\n return currentSection !== -1 && currentSection === prevSection;\n })();\n\n previousValue.push({\n category,\n key: formattedKeyD,\n value: currentValue.value as number,\n cumulativeValue: currentValue.value as number,\n });\n\n if (\n hasCategory &&\n currentIndex > 0 &&\n isSameKey(formattedKeyD, previousValue[currentIndex - 1].key, xScaleType) &&\n isSameSection\n ) {\n previousValue[currentIndex].cumulativeValue =\n previousValue[currentIndex].cumulativeValue + previousValue[currentIndex - 1].cumulativeValue;\n }\n\n return previousValue;\n },\n [] as ComputedBarProps[]\n ).filter((bar: ComputedBarProps) => yScaleLogBase === undefined || bar.cumulativeValue !== 0);\n\n const getScaleY = (\n direction: BarDirection,\n from: number = 0,\n to: number = 1,\n categories: string[] = ['default'],\n hasSectionTitle = false\n ) => {\n const domain = d3extent(\n bars.filter((bar) => categories.includes(bar.category)),\n (d) => d.cumulativeValue as number\n ) as [number, number];\n domain[0] = (yAxisMinValue as number) ?? domain[0];\n domain[1] = (yAxisMaxValue as number) ?? domain[1] * (hasSectionTitle ? 1.2 : 1);\n if (domain[1] === 0 && domain[0] === 0) {\n domain[1] = 1;\n }\n return (yScaleLogBase ? d3scaleLog().clamp(true).base(yScaleLogBase) : d3scaleLinear())\n .domain(domain)\n .range(\n direction === 'down' ? [0, chartHeight * to - chartHeight * from] : [chartHeight * to - chartHeight * from, 0]\n )\n .nice();\n };\n\n if (xScaleType) {\n const minimalGap =\n Math.min(\n ...(bars\n .map((bar, i) => (i > 0 ? Math.abs((bar.key as number) - (bars[i - 1].key as number)) : undefined))\n .filter((k) => k) as number[])\n ) * 0.9;\n barWidth = Math.min(\n barWidth,\n chartWidth / (((scaleX.domain()[1] as number) - (scaleX.domain()[0] as number)) / minimalGap),\n chartWidth /\n (xAxisTickValues && typeof xAxisTickValues !== 'string'\n ? typeof xAxisTickValues === 'number'\n ? xAxisTickValues\n : Array.isArray(xAxisTickValues)\n ? xAxisTickValues.length\n : xAxisTickValues.range(scaleX.domain()[0] as Date, scaleX.domain()[1] as Date).length\n : 1)\n );\n }\n\n const categories: string[] = sortingMethod && Array.isArray(sortingMethod) ? sortingMethod : [];\n const pivotedTable = bars.reduce((acc, item) => {\n const { key, category, value } = item;\n if (!categories.includes(category)) {\n categories.push(category);\n }\n const formattedKey = xAxisTickFormat ? xAxisTickFormat(key as any) : key.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] = value;\n\n return acc;\n }, [] as Array<Record<string, string | number> & { key: string }>);\n\n const scaleY = getScaleY(direction, 0, 1, categories);\n\n const { extraLegendItems, ...forwardedLegendProps } = legendProps || {};\n\n const {\n axisComponents,\n sectionComponents,\n barsComponents,\n legendComponents,\n titleComponent,\n descriptionComponent,\n multipleScaleY,\n } = useMemo(() => {\n const axisComponents: React.ReactElement[] = [];\n const sectionComponents: React.ReactElement[] = [];\n const barsComponents: React.ReactElement[] = [];\n const legendComponents: React.ReactElement[] = [];\n let titleComponent: React.ReactElement | undefined;\n let descriptionComponent: React.ReactElement | undefined;\n const multipleScaleY: d3ScaleLinear<number, number, never>[] = [];\n\n React.Children.forEach(children, (child, index) => {\n const position = getComponentPosition(child);\n\n if (isComponent('ChartContainerTitle')(child)) {\n titleComponent = child;\n }\n if (isComponent('ChartContainerDescription')(child)) {\n descriptionComponent = child;\n }\n\n if (!position || !React.isValidElement(child)) return;\n\n let enhancedChild = child;\n\n if (isComponent('BarChartSection')(child)) {\n const categories = React.Children.toArray(child.props.children)\n .filter((c) => isComponent('BarChartBars')(c))\n .map((c) => (c as React.ReactElement).props.category);\n\n const scaleY = getScaleY(\n child.props.direction || 'up',\n child.props.from,\n child.props.to,\n categories,\n child.props.title !== ''\n );\n multipleScaleY.push(scaleY);\n\n enhancedChild = React.cloneElement(child, {\n scaleX: scaleX,\n scaleY: scaleY,\n key: child.key || `section-${child.props.from}-${child.props.to}-${categories.join('-')}`,\n ...child.props,\n });\n }\n if (isComponent('Axis')(child)) {\n const isX = getAxisType(child.props.position) === 'x';\n\n enhancedChild = React.cloneElement(child, {\n key: child.key || `axis-${child.props.position}-${index}`,\n chartWidth,\n chartHeight,\n scale: isX ? scaleX : scaleY,\n x: child.props.position === 'right' ? chartWidth : 0,\n y: child.props.position === 'bottom' ? chartHeight : child.props.position === 'top' ? 0 : chartHeight,\n disableAnimations,\n length: isX ? chartWidth : chartHeight,\n tickValues: (isX ? xAxisTickValues : yAxisTickValues) ?? 8,\n tickPadding: isX ? xAxisTickPadding : yAxisTickPadding,\n tickRotation: isX ? xAxisTickRotation : yAxisTickRotation,\n tickSize: isX ? xAxisTickSize : yAxisTickSize,\n tickFormat: isX ? xAxisTickFormat : yAxisTickFormat,\n tickRemodelling: isX ? xAxisTickRemodelling : yAxisTickRemodelling,\n variant: isX ? xAxisVariant : yAxisVariant,\n ...child.props,\n });\n }\n\n if (isComponent('Legend')(child)) {\n enhancedChild = React.cloneElement(child, {\n key: child.key || `legend-${index}`,\n data: (extraLegendItems\n ? mergeLegends(extraLegendItems, statsByCategory).sort(getSortingMethod(sortingMethod!))\n : statsByCategory\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n })),\n ...child.props,\n });\n }\n\n switch (position) {\n case 'axes':\n axisComponents.push(enhancedChild);\n break;\n case 'sections':\n sectionComponents.push(enhancedChild);\n break;\n case 'bars':\n barsComponents.push(enhancedChild);\n break;\n case 'legend':\n legendComponents.push(enhancedChild);\n break;\n }\n });\n\n return {\n axisComponents,\n sectionComponents,\n barsComponents,\n legendComponents,\n titleComponent,\n descriptionComponent,\n multipleScaleY,\n };\n }, [children]);\n\n return (\n <ChartTypeContext.Provider value=\"bar\">\n <BarChartContext.Provider\n value={{\n barProps,\n barRole,\n bars: bars as ComputedBarProps[],\n barWidth,\n cache,\n categories,\n chartHeight,\n chartWidth,\n colorScale,\n direction,\n disableAnimations,\n format,\n gap,\n getBarAnchorProps,\n hasCategory,\n id,\n isBarSelected,\n labelDecorator,\n margins,\n onBarClick,\n scaleX,\n scaleY,\n tooltipVariant,\n tooltipDecorator,\n xAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRemodelling,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n xAxisVariant,\n xScaleType,\n yAxisTickValues,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickFormat,\n yAxisTickRemodelling,\n yAxisVariant,\n }}\n >\n <StyledBarChart\n mode={typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={\n hasCategory\n ? format('definition-linear-with-categories', {\n categoryLength: categories.length,\n barLength: bars.length,\n })\n : format('definition-linear', { barLength: bars.length })\n }\n xAxisDefinition={format(`x-axis-${xScaleType === 'number' ? 'numbers' : 'dates'}-definition`, {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: xAxisTickFormat ? xAxisTickFormat(scaleX.domain()[0] as any) : scaleX.domain()[0],\n end: xAxisTickFormat ? xAxisTickFormat(scaleX.domain()[1] as any) : scaleX.domain()[1],\n })}\n yAxisDefinition={\n multipleScaleY.length > 0\n ? multipleScaleY\n .map((scale) =>\n format('y-axis-numbers-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: (scale as d3ScaleLinear<number, number, never>).domain()[0],\n end: (scale as d3ScaleLinear<number, number, never>).domain()[1],\n })\n )\n .join(' ')\n : format('y-axis-numbers-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: (scaleY as d3ScaleLinear<number, number, never>).domain()[0],\n end: (scaleY as d3ScaleLinear<number, number, never>).domain()[1],\n })\n }\n dataTableRepresentation={\n hasCategory\n ? {\n header: (\n <thead>\n <tr>\n <th scope=\"col\">{xScaleType === 'Date' || xScaleType === 'dateString' ? 'Date' : 'Key'}</th>\n {categories.map((category) => (\n <th key={category} scope=\"col\">\n {category}\n </th>\n ))}\n </tr>\n </thead>\n ),\n body: (\n <tbody>\n {pivotedTable.map((row) => (\n <tr key={row.key}>\n <th scope=\"row\">{row.key}</th>\n {categories.map((category) => (\n <th key={`${row.key}-${category}-${row[category]}`} scope=\"col\">\n {row[category]}\n </th>\n ))}\n </tr>\n ))}\n </tbody>\n ),\n }\n : {\n header: (\n <thead>\n <tr>\n <th scope=\"col\">{xScaleType === 'Date' || xScaleType === 'dateString' ? 'Date' : 'Key'}</th>\n <th scope=\"col\">Value</th>\n </tr>\n </thead>\n ),\n body: (\n <tbody>\n {bars.map((datum) => {\n const key = xAxisTickFormat ? xAxisTickFormat(datum.key as any) : datum.key.toString();\n return (\n <tr key={key}>\n <th scope=\"row\">{key}</th>\n <td>{datum.value}</td>\n </tr>\n );\n })}\n </tbody>\n ),\n }\n }\n title={titleComponent}\n description={descriptionComponent}\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <Flexbox flexDirection=\"column\" alignItems=\"center\" gap=\"8\">\n <svg\n ref={svgRef as RefObject<SVGSVGElement>}\n width={width}\n height={height}\n aria-label={\n typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function'\n ? format('interactive-chart')\n : format('static-chart')\n }\n aria-hidden=\"false\"\n >\n {axisComponents.length === 0 && sectionComponents.length === 0 ? (\n <g transform={`translate(${margins.left},${margins.top})`} aria-hidden=\"true\">\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 tickRemodelling={xAxisTickRemodelling}\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 tickRemodelling={xAxisTickRemodelling}\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 tickRemodelling={yAxisTickRemodelling}\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 tickRemodelling={yAxisTickRemodelling}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n ) : (\n <g transform={`translate(${margins.left},${margins.top})`} aria-hidden=\"true\">\n {axisComponents}\n </g>\n )}\n\n {sectionComponents}\n\n {barsComponents.length === 0 && sectionComponents.length === 0 ? (\n <g transform={`translate(${margins.left},${margins.top})`} aria-hidden=\"true\">\n {(hasSections ? sections : [categories]).map((section) =>\n section.map((category) => <BarChartBars key={category} category={category} />)\n )}{' '}\n </g>\n ) : (\n <g transform={`translate(${margins.left},${margins.top})`} aria-hidden=\"true\">\n {barsComponents}\n </g>\n )}\n </svg>\n </Flexbox>\n {legendComponents.length === 0 && hasCategory && legendVariant !== BarChartLegendVariant.none ? (\n <Legend\n data={(extraLegendItems\n ? mergeLegends(extraLegendItems, statsByCategory).sort(getSortingMethod(sortingMethod!))\n : statsByCategory\n ).map((d) => ({\n ...d,\n color: colorScale?.(d.key)!,\n }))}\n variant={\n legendVariant === BarChartLegendVariant.externalLabelValue\n ? LegendVariant.value\n : legendVariant === BarChartLegendVariant.externalLabelPercent\n ? LegendVariant.percent\n : legendVariant === BarChartLegendVariant.externalLabel\n ? LegendVariant.label\n : LegendVariant.custom\n }\n legendDecorator={\n legendDecorator\n ? (datum: LegendItemDatum, props) => legendDecorator(datum as unknown as BarDatum, props)\n : undefined\n }\n {...forwardedLegendProps}\n />\n ) : (\n legendComponents\n )}\n </StyledBarChart>\n </BarChartContext.Provider>\n </ChartTypeContext.Provider>\n );\n});\n"],"names":["COMPONENT_TYPES","AXES","SECTIONS","BARS","LEGENDS","getComponentPosition","child","_child$type","React","isValidElement","displayName","type","getKey","datum","Array","isArray","key","filterData","hasCategory","data","filterFn","filter","reduceData","reduceFn","initialValue","reduce","isSameKey","previousKey","xScaleType","getTime","RenderedLinearBarChart","forwardRef","props","ref","_chartDimensions$maxW","_chartDimensions$minW","barProps","children","className","propsData","direction","BarDirection","up","disableAnimations","id","getBarAnchorProps","isBarSelected","labelDecorator","legendDecorator","legendVariant","legendProps","margins","propsMargins","onBarClick","size","sortingMethod","propsSortingMethod","barRole","colorTheme","tooltipVariant","tooltipDecorator","xAxisVariant","propsXAxisVariant","xAxisPlacement","xAxisTickFormat","propsXAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","xAxisMinValue","xAxisMaxValue","xAxisTickRemodelling","xAxisStartDateOffset","xAxisEndDateOffset","yAxisVariant","propsYAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","yAxisMinValue","yAxisMaxValue","yAxisTickRemodelling","propsXScaleType","yScaleLogBase","dateParser","forwardedProps","_objectWithoutProperties","_excluded","cache","useRef","theme","useTheme","format","useMessageFormatter","intlMessages","length","undefined","sections","useMemo","sectionList","Children","forEach","isComponent","categories","toArray","c","map","category","push","hasSections","flat","Date","isValidDate","Number","isNaN","useEffect","current","svgRef","AxisVariant","tickValue","default","chartDimensions","sizeToDimension","width","Math","max","min","maxWidth","Infinity","minWidth","height","_objectSpread","top","left","right","bottom","chartHeight","chartWidth","numberOfBars","value","gap","barWidth","scaleX","_ref","_ref2","domain","d3extent","d","d3scaleLinear","range","nice","_ref3","_ref4","parse","valueOf","startDate","offset","endDate","d3scaleUtc","_ref5","_ref6","d3scalePoint","tickFormat","statsByCategory","statsBy","colorScale","useColor","bars","sort","a","b","currentKeyA","currentKeyB","indexOf","getSortingMethod","previousValue","currentValue","currentIndex","_key$","currentKeyD","formattedKeyD","d3utcParse","isSameSection","_previousValue","findSectionIndex","cat","findIndex","section","includes","currentSection","prevSection","cumulativeValue","bar","getScaleY","_ref7","_ref8","from","arguments","to","hasSectionTitle","d3scaleLog","clamp","base","minimalGap","i","abs","k","pivotedTable","acc","item","formattedKey","toString","entry","find","e","scaleY","_ref9","extraLegendItems","forwardedLegendProps","_excluded2","axisComponents","sectionComponents","barsComponents","legendComponents","titleComponent","descriptionComponent","multipleScaleY","index","position","enhancedChild","title","cloneElement","join","_ref10","isX","getAxisType","scale","x","y","tickValues","tickPadding","tickRotation","tickSize","tickRemodelling","variant","mergeLegends","color","createElement","ChartTypeContext","Provider","BarChartContext","StyledBarChart","_extends","mode","definition","categoryLength","barLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","dataTableRepresentation","header","scope","body","row","description","Flexbox","flexDirection","alignItems","transform","Axis","BarChartBars","BarChartLegendVariant","none","Legend","externalLabelValue","LegendVariant","externalLabelPercent","percent","externalLabel","label","custom"],"mappings":"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"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { forwardRef, useRef, useEffect, useMemo } from 'react';
|
|
3
|
+
import { sum, scaleLinear, scaleBand } from 'd3';
|
|
4
|
+
import { useTheme, useMessageFormatter } from '@redsift/design-system';
|
|
5
|
+
import intlMessages from './intl/index.js';
|
|
6
|
+
import { StyledBarChart } from './styles.js';
|
|
7
|
+
import { sizeToDimension } from './utils.js';
|
|
8
|
+
import { BarChartContext } from './context.js';
|
|
9
|
+
import { ChartTypeContext } from '../ChartContainer/context.js';
|
|
10
|
+
import { useFormatCategoricalData } from '../../hooks/useFormatCategoricalData.js';
|
|
11
|
+
import { BarOrientation } from '../Bar/types.js';
|
|
12
|
+
import { AxisVariant } from '../Axis/types.js';
|
|
13
|
+
import { Bar } from '../Bar/Bar.js';
|
|
14
|
+
import { Axis } from '../Axis/Axis.js';
|
|
15
|
+
|
|
16
|
+
const _excluded = ["areXLabelsRotated", "barProps", "caping", "className", "data", "disableAnimations", "id", "isBarSelected", "getBarAnchorProps", "labelDecorator", "margins", "onBarClick", "orientation", "others", "size", "sortingMethod", "barRole", "colorTheme", "tooltipVariant", "xAxisVariant", "xAxisPlacement", "xAxisTickFormat", "xAxisTickPadding", "xAxisTickRotation", "xAxisTickSize", "xAxisTickValues", "yAxisVariant", "yAxisPlacement", "yAxisTickFormat", "yAxisTickPadding", "yAxisTickRotation", "yAxisTickSize", "yAxisTickValues"];
|
|
17
|
+
const RenderedOrdinalBarChart = /*#__PURE__*/forwardRef((props, ref) => {
|
|
18
|
+
const {
|
|
19
|
+
areXLabelsRotated,
|
|
20
|
+
barProps,
|
|
21
|
+
caping,
|
|
22
|
+
className,
|
|
23
|
+
data: propsData,
|
|
24
|
+
disableAnimations,
|
|
25
|
+
id,
|
|
26
|
+
isBarSelected,
|
|
27
|
+
getBarAnchorProps,
|
|
28
|
+
labelDecorator,
|
|
29
|
+
margins: propsMargins,
|
|
30
|
+
onBarClick,
|
|
31
|
+
orientation,
|
|
32
|
+
others,
|
|
33
|
+
size,
|
|
34
|
+
sortingMethod,
|
|
35
|
+
barRole,
|
|
36
|
+
colorTheme,
|
|
37
|
+
tooltipVariant,
|
|
38
|
+
xAxisVariant: propsXAxisVariant,
|
|
39
|
+
xAxisPlacement,
|
|
40
|
+
xAxisTickFormat,
|
|
41
|
+
xAxisTickPadding,
|
|
42
|
+
xAxisTickRotation,
|
|
43
|
+
xAxisTickSize,
|
|
44
|
+
xAxisTickValues,
|
|
45
|
+
yAxisVariant: propsYAxisVariant,
|
|
46
|
+
yAxisPlacement,
|
|
47
|
+
yAxisTickFormat,
|
|
48
|
+
yAxisTickPadding,
|
|
49
|
+
yAxisTickRotation,
|
|
50
|
+
yAxisTickSize,
|
|
51
|
+
yAxisTickValues
|
|
52
|
+
} = props,
|
|
53
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
54
|
+
const cache = useRef();
|
|
55
|
+
const theme = useTheme();
|
|
56
|
+
const format = useMessageFormatter(intlMessages);
|
|
57
|
+
const {
|
|
58
|
+
data,
|
|
59
|
+
colorScale
|
|
60
|
+
} = useFormatCategoricalData({
|
|
61
|
+
data: propsData,
|
|
62
|
+
colorTheme: colorTheme,
|
|
63
|
+
sortingMethod: sortingMethod,
|
|
64
|
+
caping,
|
|
65
|
+
others,
|
|
66
|
+
theme
|
|
67
|
+
});
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
cache.current = data;
|
|
70
|
+
});
|
|
71
|
+
const isHorizontal = orientation === BarOrientation.horizontal;
|
|
72
|
+
const xAxisVariant = propsXAxisVariant ? propsXAxisVariant : isHorizontal ? AxisVariant.default : AxisVariant.tickValue;
|
|
73
|
+
const yAxisVariant = propsYAxisVariant ? propsYAxisVariant : isHorizontal ? AxisVariant.none : AxisVariant.default;
|
|
74
|
+
const chartDimensions = sizeToDimension(size);
|
|
75
|
+
const width = chartDimensions.width;
|
|
76
|
+
const height = chartDimensions.height;
|
|
77
|
+
const margins = _objectSpread2({
|
|
78
|
+
top: 16,
|
|
79
|
+
left: isHorizontal ? 16 : 64,
|
|
80
|
+
right: 16,
|
|
81
|
+
bottom: 32
|
|
82
|
+
}, propsMargins);
|
|
83
|
+
const chartHeight = height - margins.top - margins.bottom;
|
|
84
|
+
const chartWidth = width - margins.left - margins.right;
|
|
85
|
+
const numberOfRows = data.filter(datum => datum.value).length;
|
|
86
|
+
const gap = 5;
|
|
87
|
+
const barHeight = chartHeight / numberOfRows - gap;
|
|
88
|
+
const barWidth = chartWidth / numberOfRows - gap;
|
|
89
|
+
const total = sum(data, d => d.value);
|
|
90
|
+
const scale = useMemo(() => scaleLinear().domain([0, Math.max(...data.map(_ref => {
|
|
91
|
+
let {
|
|
92
|
+
value
|
|
93
|
+
} = _ref;
|
|
94
|
+
return value;
|
|
95
|
+
}))]).range(isHorizontal ? [0, chartWidth] : [chartHeight, 0]), [size]);
|
|
96
|
+
const scaleCategory = useMemo(() => scaleBand().domain(data.filter(datum => datum.value).map(datum => datum.key)).range([0, isHorizontal ? chartHeight : chartWidth]), [size]);
|
|
97
|
+
const bars = data.filter(datum => datum.value);
|
|
98
|
+
return /*#__PURE__*/React__default.createElement(ChartTypeContext.Provider, {
|
|
99
|
+
value: "bar"
|
|
100
|
+
}, /*#__PURE__*/React__default.createElement(BarChartContext.Provider, {
|
|
101
|
+
value: {}
|
|
102
|
+
}, /*#__PURE__*/React__default.createElement(StyledBarChart, _extends({
|
|
103
|
+
mode: typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function' ? 'interactive' : 'static',
|
|
104
|
+
definition: format('definition-ordinal', {
|
|
105
|
+
barLength: bars.length
|
|
106
|
+
}),
|
|
107
|
+
xAxisDefinition: isHorizontal ? format('x-axis-numbers-definition', {
|
|
108
|
+
numAxis: xAxisPlacement === 'both' ? 2 : 1,
|
|
109
|
+
start: scale.domain()[0],
|
|
110
|
+
end: scale.domain()[1]
|
|
111
|
+
}) : format('x-axis-categories-definition', {
|
|
112
|
+
numAxis: xAxisPlacement === 'both' ? 2 : 1
|
|
113
|
+
}),
|
|
114
|
+
yAxisDefinition: isHorizontal ? format('y-axis-categories-definition', {
|
|
115
|
+
numAxis: yAxisPlacement === 'both' ? 2 : 1
|
|
116
|
+
}) : format('y-axis-numbers-definition', {
|
|
117
|
+
numAxis: yAxisPlacement === 'both' ? 2 : 1,
|
|
118
|
+
start: scale.domain()[0],
|
|
119
|
+
end: scale.domain()[1]
|
|
120
|
+
}),
|
|
121
|
+
dataTableRepresentation: {
|
|
122
|
+
header: /*#__PURE__*/React__default.createElement("thead", null, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("th", {
|
|
123
|
+
scope: "col"
|
|
124
|
+
}, "Key"), /*#__PURE__*/React__default.createElement("th", {
|
|
125
|
+
scope: "col"
|
|
126
|
+
}, "Value"))),
|
|
127
|
+
body: /*#__PURE__*/React__default.createElement("tbody", null, bars.map(datum => /*#__PURE__*/React__default.createElement("tr", {
|
|
128
|
+
key: datum.key
|
|
129
|
+
}, /*#__PURE__*/React__default.createElement("th", {
|
|
130
|
+
scope: "row"
|
|
131
|
+
}, datum.key), /*#__PURE__*/React__default.createElement("td", null, datum.value))))
|
|
132
|
+
}
|
|
133
|
+
}, forwardedProps, {
|
|
134
|
+
id: id,
|
|
135
|
+
className: className,
|
|
136
|
+
ref: ref
|
|
137
|
+
}), /*#__PURE__*/React__default.createElement("svg", {
|
|
138
|
+
width: width,
|
|
139
|
+
height: height,
|
|
140
|
+
"aria-label": typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function' ? format('interactive-chart') : format('static-chart'),
|
|
141
|
+
"aria-hidden": "false"
|
|
142
|
+
}, /*#__PURE__*/React__default.createElement("g", {
|
|
143
|
+
transform: `translate(${margins.left},${margins.top})`
|
|
144
|
+
}, ['bottom', 'both'].includes(xAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
|
|
145
|
+
disableAnimations: disableAnimations,
|
|
146
|
+
position: "bottom",
|
|
147
|
+
length: chartWidth,
|
|
148
|
+
scale: isHorizontal ? scale : scaleCategory,
|
|
149
|
+
x: 0,
|
|
150
|
+
y: chartHeight,
|
|
151
|
+
tickValues: xAxisTickValues !== null && xAxisTickValues !== void 0 ? xAxisTickValues : 4,
|
|
152
|
+
tickPadding: xAxisTickPadding,
|
|
153
|
+
tickRotation: xAxisTickRotation,
|
|
154
|
+
tickSize: xAxisTickSize,
|
|
155
|
+
tickFormat: xAxisTickFormat,
|
|
156
|
+
variant: xAxisVariant
|
|
157
|
+
}) : null, ['top', 'both'].includes(xAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
|
|
158
|
+
disableAnimations: disableAnimations,
|
|
159
|
+
position: "top",
|
|
160
|
+
length: chartWidth,
|
|
161
|
+
scale: isHorizontal ? scale : scaleCategory,
|
|
162
|
+
x: 0,
|
|
163
|
+
y: 0,
|
|
164
|
+
tickValues: xAxisTickValues !== null && xAxisTickValues !== void 0 ? xAxisTickValues : 4,
|
|
165
|
+
tickPadding: xAxisTickPadding,
|
|
166
|
+
tickRotation: xAxisTickRotation ? xAxisTickRotation : areXLabelsRotated ? -45 : 0,
|
|
167
|
+
tickSize: xAxisTickSize,
|
|
168
|
+
tickFormat: xAxisTickFormat,
|
|
169
|
+
variant: xAxisVariant
|
|
170
|
+
}) : null, ['left', 'both'].includes(yAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
|
|
171
|
+
disableAnimations: disableAnimations,
|
|
172
|
+
position: "left",
|
|
173
|
+
length: chartHeight,
|
|
174
|
+
scale: isHorizontal ? scaleCategory : scale,
|
|
175
|
+
x: 0,
|
|
176
|
+
y: chartHeight,
|
|
177
|
+
tickValues: yAxisTickValues !== null && yAxisTickValues !== void 0 ? yAxisTickValues : 4,
|
|
178
|
+
tickPadding: yAxisTickPadding,
|
|
179
|
+
tickRotation: yAxisTickRotation,
|
|
180
|
+
tickSize: yAxisTickSize,
|
|
181
|
+
tickFormat: yAxisTickFormat,
|
|
182
|
+
variant: yAxisVariant
|
|
183
|
+
}) : null, ['right', 'both'].includes(yAxisPlacement) ? /*#__PURE__*/React__default.createElement(Axis, {
|
|
184
|
+
disableAnimations: disableAnimations,
|
|
185
|
+
position: "right",
|
|
186
|
+
length: chartHeight,
|
|
187
|
+
scale: isHorizontal ? scaleCategory : scale,
|
|
188
|
+
x: chartWidth,
|
|
189
|
+
y: chartHeight,
|
|
190
|
+
tickValues: yAxisTickValues !== null && yAxisTickValues !== void 0 ? yAxisTickValues : 4,
|
|
191
|
+
tickPadding: yAxisTickPadding,
|
|
192
|
+
tickRotation: yAxisTickRotation,
|
|
193
|
+
tickSize: yAxisTickSize,
|
|
194
|
+
tickFormat: yAxisTickFormat,
|
|
195
|
+
variant: yAxisVariant
|
|
196
|
+
}) : null), /*#__PURE__*/React__default.createElement("g", {
|
|
197
|
+
transform: `translate(${margins.left},${margins.top})`
|
|
198
|
+
}, bars.map((datum, index) => {
|
|
199
|
+
const percent = datum.value / total;
|
|
200
|
+
const to = {
|
|
201
|
+
data: _objectSpread2(_objectSpread2({}, datum), {}, {
|
|
202
|
+
percent
|
|
203
|
+
})
|
|
204
|
+
};
|
|
205
|
+
const from = cache.current ? {
|
|
206
|
+
data: cache.current[index]
|
|
207
|
+
} : undefined;
|
|
208
|
+
return /*#__PURE__*/React__default.createElement(Bar, _extends({
|
|
209
|
+
color: colorScale === null || colorScale === void 0 ? void 0 : colorScale(to.data.key),
|
|
210
|
+
data: to,
|
|
211
|
+
dataset: bars,
|
|
212
|
+
disableAnimations: disableAnimations,
|
|
213
|
+
gap: gap,
|
|
214
|
+
id: `id${id}__bar-${index}`,
|
|
215
|
+
index: index,
|
|
216
|
+
isSelected: Boolean(isBarSelected(to)),
|
|
217
|
+
key: `bar _${index}`,
|
|
218
|
+
labelDecorator: labelDecorator,
|
|
219
|
+
maxHeight: isHorizontal ? undefined : chartHeight,
|
|
220
|
+
anchorProps: getBarAnchorProps ? getBarAnchorProps(to) : undefined,
|
|
221
|
+
onClick: onBarClick,
|
|
222
|
+
orientation: orientation,
|
|
223
|
+
previousData: from,
|
|
224
|
+
scale: scale,
|
|
225
|
+
scalePosition: scaleCategory,
|
|
226
|
+
tooltipVariant: tooltipVariant
|
|
227
|
+
}, barProps, {
|
|
228
|
+
width: isHorizontal ? undefined : barProps !== null && barProps !== void 0 && barProps.width && typeof barProps.width === 'number' ? barProps.width : barWidth,
|
|
229
|
+
height: isHorizontal ? barProps !== null && barProps !== void 0 && barProps.height && typeof barProps.height === 'number' ? barProps.height : barHeight : undefined,
|
|
230
|
+
role: barRole
|
|
231
|
+
}));
|
|
232
|
+
}))))));
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
export { RenderedOrdinalBarChart };
|
|
236
|
+
//# sourceMappingURL=RenderedOrdinalBarChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderedOrdinalBarChart.js","sources":["../../../src/components/BarChart/RenderedOrdinalBarChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useEffect, useMemo, useRef } from 'react';\nimport {\n scaleLinear as d3scaleLinear,\n ScaleLinear as d3ScaleLinear,\n scaleBand as d3scaleBand,\n ScaleBand as d3ScaleBand,\n sum as d3sum,\n} from 'd3';\n\nimport { useTheme, useMessageFormatter } from '@redsift/design-system';\nimport intlMessages from './intl';\n\nimport { AnyScale, CategoryData } from '../../types';\nimport { BarChartProps, BarChartState } from './types';\nimport { StyledBarChart } from './styles';\nimport { Bar, BarOrientation } from '../Bar';\nimport { Axis, AxisVariant } from '../Axis';\nimport { useFormatCategoricalData } from '../../hooks';\nimport { sizeToDimension } from './utils';\nimport { BarChartContext } from './context';\nimport { ChartTypeContext } from '../ChartContainer/context';\n\ninterface RenderedOrdinalBarChartProps extends Required<Pick<BarChartProps, 'data'>>, Omit<BarChartProps, 'data'> {}\n\nexport const RenderedOrdinalBarChart = forwardRef<HTMLDivElement, RenderedOrdinalBarChartProps>((props, ref) => {\n const {\n areXLabelsRotated,\n barProps,\n caping,\n className,\n data: propsData,\n disableAnimations,\n id,\n isBarSelected,\n getBarAnchorProps,\n labelDecorator,\n margins: propsMargins,\n onBarClick,\n orientation,\n others,\n size,\n sortingMethod,\n barRole,\n colorTheme,\n tooltipVariant,\n xAxisVariant: propsXAxisVariant,\n xAxisPlacement,\n xAxisTickFormat,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickValues,\n yAxisVariant: propsYAxisVariant,\n yAxisPlacement,\n yAxisTickFormat,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickValues,\n ...forwardedProps\n } = props;\n\n const cache = useRef<CategoryData>();\n const theme = useTheme();\n\n const format = useMessageFormatter(intlMessages);\n\n const { data, colorScale } = useFormatCategoricalData({\n data: propsData as CategoryData,\n colorTheme: colorTheme!,\n sortingMethod: sortingMethod!,\n caping,\n others,\n theme,\n });\n\n useEffect(() => {\n cache.current = data;\n });\n\n const isHorizontal = orientation === BarOrientation.horizontal;\n const xAxisVariant = propsXAxisVariant\n ? propsXAxisVariant\n : isHorizontal\n ? AxisVariant.default\n : AxisVariant.tickValue;\n const yAxisVariant = propsYAxisVariant ? propsYAxisVariant : isHorizontal ? AxisVariant.none : AxisVariant.default;\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: isHorizontal ? 16 : 64, right: 16, bottom: 32, ...propsMargins };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n const numberOfRows = data.filter((datum) => datum.value).length;\n const gap = 5;\n\n const barHeight = chartHeight / numberOfRows - gap;\n const barWidth = chartWidth / numberOfRows - gap;\n const total = d3sum(data, (d) => d.value);\n\n const scale = useMemo<d3ScaleLinear<number, number>>(\n () =>\n d3scaleLinear()\n .domain([0, Math.max(...data.map(({ value }) => value))])\n .range(isHorizontal ? [0, chartWidth] : [chartHeight, 0]),\n [size]\n );\n const scaleCategory = useMemo<d3ScaleBand<string>>(\n () =>\n d3scaleBand()\n .domain(data.filter((datum) => datum.value).map((datum) => datum.key))\n .range([0, isHorizontal ? chartHeight : chartWidth]),\n [size]\n );\n\n const bars = data.filter((datum) => datum.value);\n\n return (\n <ChartTypeContext.Provider value=\"bar\">\n <BarChartContext.Provider value={{} as BarChartState}>\n <StyledBarChart\n mode={typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function' ? 'interactive' : 'static'}\n definition={format('definition-ordinal', { barLength: bars.length })}\n xAxisDefinition={\n isHorizontal\n ? format('x-axis-numbers-definition', {\n numAxis: xAxisPlacement === 'both' ? 2 : 1,\n start: scale.domain()[0],\n end: scale.domain()[1],\n })\n : format('x-axis-categories-definition', { numAxis: xAxisPlacement === 'both' ? 2 : 1 })\n }\n yAxisDefinition={\n isHorizontal\n ? format('y-axis-categories-definition', { numAxis: yAxisPlacement === 'both' ? 2 : 1 })\n : format('y-axis-numbers-definition', {\n numAxis: yAxisPlacement === 'both' ? 2 : 1,\n start: scale.domain()[0],\n end: scale.domain()[1],\n })\n }\n dataTableRepresentation={{\n header: (\n <thead>\n <tr>\n <th scope=\"col\">Key</th>\n <th scope=\"col\">Value</th>\n </tr>\n </thead>\n ),\n body: (\n <tbody>\n {bars.map((datum) => (\n <tr key={datum.key}>\n <th scope=\"row\">{datum.key}</th>\n <td>{datum.value}</td>\n </tr>\n ))}\n </tbody>\n ),\n }}\n {...forwardedProps}\n id={id}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n <svg\n width={width}\n height={height}\n aria-label={\n typeof onBarClick === 'function' || typeof getBarAnchorProps === 'function'\n ? format('interactive-chart')\n : format('static-chart')\n }\n aria-hidden=\"false\"\n >\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={isHorizontal ? (scale as AnyScale) : (scaleCategory as AnyScale)}\n x={0}\n y={chartHeight}\n tickValues={xAxisTickValues ?? 4}\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={isHorizontal ? (scale as AnyScale) : (scaleCategory as AnyScale)}\n x={0}\n y={0}\n tickValues={xAxisTickValues ?? 4}\n tickPadding={xAxisTickPadding}\n tickRotation={xAxisTickRotation ? xAxisTickRotation : areXLabelsRotated ? -45 : 0}\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={isHorizontal ? (scaleCategory as AnyScale) : (scale as AnyScale)}\n x={0}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 4}\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={isHorizontal ? (scaleCategory as AnyScale) : (scale as AnyScale)}\n x={chartWidth}\n y={chartHeight}\n tickValues={yAxisTickValues ?? 4}\n tickPadding={yAxisTickPadding}\n tickRotation={yAxisTickRotation}\n tickSize={yAxisTickSize}\n tickFormat={yAxisTickFormat}\n variant={yAxisVariant}\n />\n ) : null}\n </g>\n <g transform={`translate(${margins.left},${margins.top})`}>\n {bars.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 ? { data: cache.current[index] } : undefined;\n\n return (\n <Bar\n color={colorScale?.(to.data.key)!}\n data={to}\n dataset={bars}\n disableAnimations={disableAnimations}\n gap={gap}\n id={`id${id}__bar-${index}`}\n index={index}\n isSelected={Boolean(isBarSelected!(to))}\n key={`bar _${index}`}\n labelDecorator={labelDecorator}\n maxHeight={isHorizontal ? undefined : chartHeight}\n anchorProps={getBarAnchorProps ? getBarAnchorProps(to) : undefined}\n onClick={onBarClick}\n orientation={orientation}\n previousData={from!}\n scale={scale!}\n scalePosition={scaleCategory}\n tooltipVariant={tooltipVariant}\n {...barProps}\n width={\n isHorizontal\n ? undefined\n : barProps?.width && typeof barProps.width === 'number'\n ? barProps.width\n : barWidth\n }\n height={\n isHorizontal\n ? barProps?.height && typeof barProps.height === 'number'\n ? barProps.height\n : barHeight\n : undefined\n }\n role={barRole}\n />\n );\n })}\n </g>\n </svg>\n </StyledBarChart>\n </BarChartContext.Provider>\n </ChartTypeContext.Provider>\n );\n});\n"],"names":["RenderedOrdinalBarChart","forwardRef","props","ref","areXLabelsRotated","barProps","caping","className","data","propsData","disableAnimations","id","isBarSelected","getBarAnchorProps","labelDecorator","margins","propsMargins","onBarClick","orientation","others","size","sortingMethod","barRole","colorTheme","tooltipVariant","xAxisVariant","propsXAxisVariant","xAxisPlacement","xAxisTickFormat","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickValues","yAxisVariant","propsYAxisVariant","yAxisPlacement","yAxisTickFormat","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickValues","forwardedProps","_objectWithoutProperties","_excluded","cache","useRef","theme","useTheme","format","useMessageFormatter","intlMessages","colorScale","useFormatCategoricalData","useEffect","current","isHorizontal","BarOrientation","horizontal","AxisVariant","default","tickValue","none","chartDimensions","sizeToDimension","width","height","_objectSpread","top","left","right","bottom","chartHeight","chartWidth","numberOfRows","filter","datum","value","length","gap","barHeight","barWidth","total","d3sum","d","scale","useMemo","d3scaleLinear","domain","Math","max","map","_ref","range","scaleCategory","d3scaleBand","key","bars","React","createElement","ChartTypeContext","Provider","BarChartContext","StyledBarChart","_extends","mode","definition","barLength","xAxisDefinition","numAxis","start","end","yAxisDefinition","dataTableRepresentation","header","scope","body","transform","includes","Axis","position","x","y","tickValues","tickPadding","tickRotation","tickSize","tickFormat","variant","index","percent","to","from","undefined","Bar","color","dataset","isSelected","Boolean","maxHeight","anchorProps","onClick","previousData","scalePosition","role"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
const BarChartContext = /*#__PURE__*/createContext(null);
|
|
4
|
+
function useBarChartContext() {
|
|
5
|
+
const context = useContext(BarChartContext);
|
|
6
|
+
if (!context) {
|
|
7
|
+
throw new Error('useBarChartContext must be used within a BarChart');
|
|
8
|
+
}
|
|
9
|
+
return context;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { BarChartContext, useBarChartContext };
|
|
13
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/BarChart/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { BarChartState } from './types';\n\nexport const BarChartContext = createContext<BarChartState | null>(null);\n\nexport function useBarChartContext() {\n const context = useContext(BarChartContext);\n if (!context) {\n throw new Error('useBarChartContext must be used within a BarChart');\n }\n return context;\n}\n"],"names":["BarChartContext","createContext","useBarChartContext","context","useContext","Error"],"mappings":";;MAGaA,eAAe,gBAAGC,aAAa,CAAuB,IAAI,EAAC;AAEjE,SAASC,kBAAkBA,GAAG;AACnC,EAAA,MAAMC,OAAO,GAAGC,UAAU,CAACJ,eAAe,CAAC,CAAA;EAC3C,IAAI,CAACG,OAAO,EAAE;AACZ,IAAA,MAAM,IAAIE,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,GAAA;AACA,EAAA,OAAOF,OAAO,CAAA;AAChB;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var enUS = {
|
|
2
|
+
"interactive-chart": "Interactive Bar Chart",
|
|
3
|
+
"static-chart": "Static Bar Chart",
|
|
4
|
+
"definition-linear": "Linear Bar Chart with {barLength} bars.",
|
|
5
|
+
"definition-linear-with-categories": "Linear Bar Chart with {categoryLength} categories and {barLength} bars.",
|
|
6
|
+
"definition-ordinal": "Ordinal Bar Chart with {barLength} bars.",
|
|
7
|
+
"x-axis-numbers-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying numbers from {start, number} to {end, number}.",
|
|
8
|
+
"y-axis-numbers-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying numbers from {start, number} to {end, number}.",
|
|
9
|
+
"x-axis-dates-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying dates from {start} to {end}.",
|
|
10
|
+
"y-axis-dates-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying dates from {start} to {end}.",
|
|
11
|
+
"x-axis-categories-definition": "The chart has {numAxis, plural, =0 {0 X axis} =1 {1 X axis} other {# X axes}} displaying categories.",
|
|
12
|
+
"y-axis-categories-definition": "The chart has {numAxis, plural, =0 {0 Y axis} =1 {1 Y axis} other {# Y axes}} displaying categories.",
|
|
13
|
+
"series-legend": "{category}, category {categoryIndex} of {categoryLength} with {barLength} bars"
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { enUS as default };
|
|
17
|
+
//# sourceMappingURL=en-US.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en-US.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var frFR = {
|
|
2
|
+
"interactive-chart": "Diagrammes à bandes interactif",
|
|
3
|
+
"static-chart": "Diagrammes à bandes statique",
|
|
4
|
+
"definition-linear": "Diagrammes à bandes contenant {barLength} bandes réparties sur un axe linéraire.",
|
|
5
|
+
"definition-linear-with-categories": "Diagrammes à bandes contenant {categoryLength} catégories et {barLength} bandes réparties sur un axe linéraire.",
|
|
6
|
+
"definition-ordinal": "Diagrammes à bandes contenant {barLength} bandes.",
|
|
7
|
+
"x-axis-numbers-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des nombres allant de {start, number} à {end, number}.",
|
|
8
|
+
"y-axis-numbers-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des nombres allant de {start, number} à {end, number}.",
|
|
9
|
+
"x-axis-dates-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des dates allant de {start} à {end}.",
|
|
10
|
+
"y-axis-dates-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des dates allant de {start} à {end}.",
|
|
11
|
+
"x-axis-categories-definition": "Le graphique a {numAxis, plural, =0 {0 axe X} =1 {1 axe X} other {# axes X}} affichant des categories.",
|
|
12
|
+
"y-axis-categories-definition": "Le graphique a {numAxis, plural, =0 {0 axe Y} =1 {1 axe Y} other {# axes Y}} affichant des categories.",
|
|
13
|
+
"series-legend": "{category}, catégorie {categoryIndex} sur {categoryLength} contenant {barLength} bandes"
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { frFR as default };
|
|
17
|
+
//# sourceMappingURL=fr-FR.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fr-FR.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/BarChart/intl/index.ts"],"sourcesContent":["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"],"names":["enUS","frFR"],"mappings":";;;AAGA,mBAAe;AACb,EAAA,OAAO,EAAEA,IAAI;AACb,EAAA,OAAO,EAAEC,IAAAA;AACX,CAAC;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as styled_components from 'styled-components';
|
|
2
|
+
import { BarChartProps, StyledBarChartSectionProps, BarChartBarsProps } from './types.js';
|
|
3
|
+
import * as _redsift_design_system from '@redsift/design-system';
|
|
4
|
+
import { Theme } from '@redsift/design-system';
|
|
5
|
+
import { ChartContainerProps } from '../ChartContainer/types.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Component style.
|
|
9
|
+
*/
|
|
10
|
+
declare const StyledBarChart: styled_components.StyledComponent<_redsift_design_system.Comp<ChartContainerProps, HTMLDivElement>, any, BarChartProps, never>;
|
|
11
|
+
declare const StyledBarChartSection: styled_components.StyledComponent<"g", any, StyledBarChartSectionProps, never>;
|
|
12
|
+
declare const StyledBarChartBars: styled_components.StyledComponent<"g", any, Omit<BarChartBarsProps, "category">, never>;
|
|
13
|
+
declare const StyledBarChartEmptyText: styled_components.StyledComponent<"div", any, {
|
|
14
|
+
$maxWidth: number;
|
|
15
|
+
$textSize: number;
|
|
16
|
+
$theme: Theme;
|
|
17
|
+
}, never>;
|
|
18
|
+
|
|
19
|
+
export { StyledBarChart, StyledBarChartBars, StyledBarChartEmptyText, StyledBarChartSection };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { ChartContainer } from '../ChartContainer/ChartContainer.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Component style.
|
|
6
|
+
*/
|
|
7
|
+
const StyledBarChart = styled(ChartContainer)``;
|
|
8
|
+
const StyledBarChartSection = styled.g`
|
|
9
|
+
text.colored {
|
|
10
|
+
${_ref => {
|
|
11
|
+
let {
|
|
12
|
+
$textColor
|
|
13
|
+
} = _ref;
|
|
14
|
+
return css`
|
|
15
|
+
fill: ${$textColor};
|
|
16
|
+
`;
|
|
17
|
+
}}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.title {
|
|
21
|
+
font-size: 16px;
|
|
22
|
+
font-weight: 600;
|
|
23
|
+
}
|
|
24
|
+
`;
|
|
25
|
+
const StyledBarChartBars = styled.g``;
|
|
26
|
+
const StyledBarChartEmptyText = styled.div`
|
|
27
|
+
position: absolute;
|
|
28
|
+
top: 0;
|
|
29
|
+
left: 0;
|
|
30
|
+
height: 100%;
|
|
31
|
+
width: 100%;
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
justify-content: center;
|
|
35
|
+
align-items: center;
|
|
36
|
+
pointer-events: none;
|
|
37
|
+
|
|
38
|
+
> * {
|
|
39
|
+
max-width: ${_ref2 => {
|
|
40
|
+
let {
|
|
41
|
+
$maxWidth
|
|
42
|
+
} = _ref2;
|
|
43
|
+
return $maxWidth;
|
|
44
|
+
}}px;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
> span {
|
|
48
|
+
font-family: var(--redsift-typography-font-family-poppins);
|
|
49
|
+
color: ${_ref3 => {
|
|
50
|
+
let {
|
|
51
|
+
$theme
|
|
52
|
+
} = _ref3;
|
|
53
|
+
return `var(--redsift-color-${$theme}-components-text-primary)`;
|
|
54
|
+
}};
|
|
55
|
+
font-size: ${_ref4 => {
|
|
56
|
+
let {
|
|
57
|
+
$textSize
|
|
58
|
+
} = _ref4;
|
|
59
|
+
return $textSize;
|
|
60
|
+
}}px;
|
|
61
|
+
line-height: ${_ref5 => {
|
|
62
|
+
let {
|
|
63
|
+
$textSize
|
|
64
|
+
} = _ref5;
|
|
65
|
+
return $textSize;
|
|
66
|
+
}}px;
|
|
67
|
+
}
|
|
68
|
+
`;
|
|
69
|
+
|
|
70
|
+
export { StyledBarChart, StyledBarChartBars, StyledBarChartEmptyText, StyledBarChartSection };
|
|
71
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/components/BarChart/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledBarChartProps, StyledBarChartSectionProps, StyledBarChartBarsProps } from './types';\nimport { ChartContainer } from '../ChartContainer';\nimport { Theme } from '@redsift/design-system';\n\n/**\n * Component style.\n */\nexport const StyledBarChart = styled(ChartContainer)<StyledBarChartProps>``;\n\nexport const StyledBarChartSection = styled.g<StyledBarChartSectionProps>`\n text.colored {\n ${({ $textColor }) => css`\n fill: ${$textColor};\n `}\n }\n\n .title {\n font-size: 16px;\n font-weight: 600;\n }\n`;\n\nexport const StyledBarChartBars = styled.g<StyledBarChartBarsProps>``;\n\nexport const StyledBarChartEmptyText = 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"],"names":["StyledBarChart","styled","ChartContainer","StyledBarChartSection","g","_ref","$textColor","css","StyledBarChartBars","StyledBarChartEmptyText","div","_ref2","$maxWidth","_ref3","$theme","_ref4","$textSize","_ref5"],"mappings":";;;AAKA;AACA;AACA;MACaA,cAAc,GAAGC,MAAM,CAACC,cAAc,CAAuB,CAAC,EAAA;AAE9DC,MAAAA,qBAAqB,GAAGF,MAAM,CAACG,CAA8B,CAAA;AAC1E;AACA,IAAA,EAAMC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AAC9B,YAAA,EAAcD,UAAW,CAAA;AACzB,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;MAEYE,kBAAkB,GAAGP,MAAM,CAACG,CAA2B,CAAC,EAAA;AAExDK,MAAAA,uBAAuB,GAAGR,MAAM,CAACS,GAI3C,CAAA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAA,EAAiBC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OAAKC,SAAS,CAAA;AAAA,CAAC,CAAA;AAC9C;AACA;AACA;AACA;AACA,WAAA,EAAaC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,KAAA,CAAA;EAAA,OAAM,CAAA,oBAAA,EAAsBC,MAAO,CAA0B,yBAAA,CAAA,CAAA;AAAA,CAAC,CAAA;AACtF,eAAA,EAAiBC,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,SAAAA;AAAU,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OAAKC,SAAS,CAAA;AAAA,CAAC,CAAA;AAC9C,iBAAA,EAAmBC,KAAA,IAAA;EAAA,IAAC;AAAED,IAAAA,SAAAA;AAAU,GAAC,GAAAC,KAAA,CAAA;AAAA,EAAA,OAAKD,SAAS,CAAA;AAAA,CAAC,CAAA;AAChD;AACA;;;;"}
|