@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.
Files changed (223) hide show
  1. package/_virtual/_rollupPluginBabelHelpers.js +93 -0
  2. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/components/Arc/Arc.d.ts +6 -0
  4. package/components/Arc/Arc.js +74 -0
  5. package/components/Arc/Arc.js.map +1 -0
  6. package/components/Arc/styles.d.ts +17 -0
  7. package/components/Arc/styles.js +49 -0
  8. package/components/Arc/styles.js.map +1 -0
  9. package/components/Arc/types.d.ts +20 -0
  10. package/components/Arcs/Arcs.d.ts +6 -0
  11. package/components/Arcs/Arcs.js +90 -0
  12. package/components/Arcs/Arcs.js.map +1 -0
  13. package/components/Arcs/styles.d.ts +9 -0
  14. package/components/Arcs/styles.js +9 -0
  15. package/components/Arcs/styles.js.map +1 -0
  16. package/components/Arcs/types.d.ts +17 -0
  17. package/components/Axis/Axis.d.ts +7 -0
  18. package/components/Axis/Axis.js +211 -0
  19. package/components/Axis/Axis.js.map +1 -0
  20. package/components/Axis/computeTicks.js +117 -0
  21. package/components/Axis/computeTicks.js.map +1 -0
  22. package/components/Axis/styles.d.ts +14 -0
  23. package/components/Axis/styles.js +51 -0
  24. package/components/Axis/styles.js.map +1 -0
  25. package/components/Axis/types.d.ts +89 -0
  26. package/components/Axis/types.js +24 -0
  27. package/components/Axis/types.js.map +1 -0
  28. package/components/Bar/Bar.d.ts +6 -0
  29. package/components/Bar/Bar.js +95 -0
  30. package/components/Bar/Bar.js.map +1 -0
  31. package/components/Bar/styles.d.ts +16 -0
  32. package/components/Bar/styles.js +66 -0
  33. package/components/Bar/styles.js.map +1 -0
  34. package/components/Bar/types.d.ts +46 -0
  35. package/components/Bar/types.js +18 -0
  36. package/components/Bar/types.js.map +1 -0
  37. package/components/BarChart/BarChart.d.ts +29 -0
  38. package/components/BarChart/BarChart.js +141 -0
  39. package/components/BarChart/BarChart.js.map +1 -0
  40. package/components/BarChart/BarChartBars.js +168 -0
  41. package/components/BarChart/BarChartBars.js.map +1 -0
  42. package/components/BarChart/BarChartSection.js +139 -0
  43. package/components/BarChart/BarChartSection.js.map +1 -0
  44. package/components/BarChart/EmptyBarChart.js +57 -0
  45. package/components/BarChart/EmptyBarChart.js.map +1 -0
  46. package/components/BarChart/LoadingBarChart.js +18 -0
  47. package/components/BarChart/LoadingBarChart.js.map +1 -0
  48. package/components/BarChart/RenderedLinearBarChart.js +549 -0
  49. package/components/BarChart/RenderedLinearBarChart.js.map +1 -0
  50. package/components/BarChart/RenderedOrdinalBarChart.js +236 -0
  51. package/components/BarChart/RenderedOrdinalBarChart.js.map +1 -0
  52. package/components/BarChart/context.js +13 -0
  53. package/components/BarChart/context.js.map +1 -0
  54. package/components/BarChart/intl/en-US.json.js +17 -0
  55. package/components/BarChart/intl/en-US.json.js.map +1 -0
  56. package/components/BarChart/intl/fr-FR.json.js +17 -0
  57. package/components/BarChart/intl/fr-FR.json.js.map +1 -0
  58. package/components/BarChart/intl/index.js +10 -0
  59. package/components/BarChart/intl/index.js.map +1 -0
  60. package/components/BarChart/styles.d.ts +19 -0
  61. package/components/BarChart/styles.js +71 -0
  62. package/components/BarChart/styles.js.map +1 -0
  63. package/components/BarChart/types.d.ts +177 -0
  64. package/components/BarChart/types.js +17 -0
  65. package/components/BarChart/types.js.map +1 -0
  66. package/components/BarChart/utils.js +69 -0
  67. package/components/BarChart/utils.js.map +1 -0
  68. package/components/ChartContainer/ChartContainer.d.ts +9 -0
  69. package/components/ChartContainer/ChartContainer.js +167 -0
  70. package/components/ChartContainer/ChartContainer.js.map +1 -0
  71. package/components/ChartContainer/context.js +6 -0
  72. package/components/ChartContainer/context.js.map +1 -0
  73. package/components/ChartContainer/intl/en-US.json.js +14 -0
  74. package/components/ChartContainer/intl/en-US.json.js.map +1 -0
  75. package/components/ChartContainer/intl/fr-FR.json.js +14 -0
  76. package/components/ChartContainer/intl/fr-FR.json.js.map +1 -0
  77. package/components/ChartContainer/intl/index.js +10 -0
  78. package/components/ChartContainer/intl/index.js.map +1 -0
  79. package/components/ChartContainer/styles.d.ts +17 -0
  80. package/components/ChartContainer/styles.js +76 -0
  81. package/components/ChartContainer/styles.js.map +1 -0
  82. package/components/ChartContainer/types.d.ts +48 -0
  83. package/components/DataPoint/DataPoint.d.ts +6 -0
  84. package/components/DataPoint/DataPoint.js +104 -0
  85. package/components/DataPoint/DataPoint.js.map +1 -0
  86. package/components/DataPoint/styles.d.ts +12 -0
  87. package/components/DataPoint/styles.js +10 -0
  88. package/components/DataPoint/styles.js.map +1 -0
  89. package/components/DataPoint/types.d.ts +60 -0
  90. package/components/Dot/Dot.d.ts +6 -0
  91. package/components/Dot/Dot.js +55 -0
  92. package/components/Dot/Dot.js.map +1 -0
  93. package/components/Dot/styles.d.ts +16 -0
  94. package/components/Dot/styles.js +49 -0
  95. package/components/Dot/styles.js.map +1 -0
  96. package/components/Dot/types.d.ts +30 -0
  97. package/components/Dot/types.js +14 -0
  98. package/components/Dot/types.js.map +1 -0
  99. package/components/Legend/Legend.d.ts +6 -0
  100. package/components/Legend/Legend.js +73 -0
  101. package/components/Legend/Legend.js.map +1 -0
  102. package/components/Legend/styles.d.ts +11 -0
  103. package/components/Legend/styles.js +15 -0
  104. package/components/Legend/styles.js.map +1 -0
  105. package/components/Legend/types.d.ts +44 -0
  106. package/components/LegendItem/LegendItem.js +96 -0
  107. package/components/LegendItem/LegendItem.js.map +1 -0
  108. package/components/LegendItem/styles.js +63 -0
  109. package/components/LegendItem/styles.js.map +1 -0
  110. package/components/LegendItem/types.d.ts +20 -0
  111. package/components/Line/Line.d.ts +6 -0
  112. package/components/Line/Line.js +55 -0
  113. package/components/Line/Line.js.map +1 -0
  114. package/components/Line/styles.d.ts +9 -0
  115. package/components/Line/styles.js +9 -0
  116. package/components/Line/styles.js.map +1 -0
  117. package/components/Line/types.d.ts +21 -0
  118. package/components/LineChart/EmptyLineChart.js +58 -0
  119. package/components/LineChart/EmptyLineChart.js.map +1 -0
  120. package/components/LineChart/LineChart.d.ts +6 -0
  121. package/components/LineChart/LineChart.js +96 -0
  122. package/components/LineChart/LineChart.js.map +1 -0
  123. package/components/LineChart/LoadingLineChart.js +18 -0
  124. package/components/LineChart/LoadingLineChart.js.map +1 -0
  125. package/components/LineChart/RenderedLineChart.js +372 -0
  126. package/components/LineChart/RenderedLineChart.js.map +1 -0
  127. package/components/LineChart/intl/en-US.json.js +17 -0
  128. package/components/LineChart/intl/en-US.json.js.map +1 -0
  129. package/components/LineChart/intl/fr-FR.json.js +17 -0
  130. package/components/LineChart/intl/fr-FR.json.js.map +1 -0
  131. package/components/LineChart/intl/index.js +10 -0
  132. package/components/LineChart/intl/index.js.map +1 -0
  133. package/components/LineChart/styles.d.ts +17 -0
  134. package/components/LineChart/styles.js +53 -0
  135. package/components/LineChart/styles.js.map +1 -0
  136. package/components/LineChart/types.d.ts +90 -0
  137. package/components/LineChart/types.js +17 -0
  138. package/components/LineChart/types.js.map +1 -0
  139. package/components/LineChart/utils.js +67 -0
  140. package/components/LineChart/utils.js.map +1 -0
  141. package/components/PieChart/EmptyPieChart.js +85 -0
  142. package/components/PieChart/EmptyPieChart.js.map +1 -0
  143. package/components/PieChart/LoadingPieChart.js +18 -0
  144. package/components/PieChart/LoadingPieChart.js.map +1 -0
  145. package/components/PieChart/PieChart.d.ts +6 -0
  146. package/components/PieChart/PieChart.js +98 -0
  147. package/components/PieChart/PieChart.js.map +1 -0
  148. package/components/PieChart/RenderedPieChart.js +198 -0
  149. package/components/PieChart/RenderedPieChart.js.map +1 -0
  150. package/components/PieChart/intl/en-US.json.js +9 -0
  151. package/components/PieChart/intl/en-US.json.js.map +1 -0
  152. package/components/PieChart/intl/fr-FR.json.js +9 -0
  153. package/components/PieChart/intl/fr-FR.json.js.map +1 -0
  154. package/components/PieChart/intl/index.js +10 -0
  155. package/components/PieChart/intl/index.js.map +1 -0
  156. package/components/PieChart/styles.d.ts +24 -0
  157. package/components/PieChart/styles.js +168 -0
  158. package/components/PieChart/styles.js.map +1 -0
  159. package/components/PieChart/types.d.ts +115 -0
  160. package/components/PieChart/types.js +27 -0
  161. package/components/PieChart/types.js.map +1 -0
  162. package/components/PieChart/utils.js +37 -0
  163. package/components/PieChart/utils.js.map +1 -0
  164. package/components/ScatterPlot/EmptyScatterPlot.js +58 -0
  165. package/components/ScatterPlot/EmptyScatterPlot.js.map +1 -0
  166. package/components/ScatterPlot/LoadingScatterPlot.js +18 -0
  167. package/components/ScatterPlot/LoadingScatterPlot.js.map +1 -0
  168. package/components/ScatterPlot/RenderedScatterPlot.js +352 -0
  169. package/components/ScatterPlot/RenderedScatterPlot.js.map +1 -0
  170. package/components/ScatterPlot/ScatterPlot.d.ts +6 -0
  171. package/components/ScatterPlot/ScatterPlot.js +105 -0
  172. package/components/ScatterPlot/ScatterPlot.js.map +1 -0
  173. package/components/ScatterPlot/intl/en-US.json.js +12 -0
  174. package/components/ScatterPlot/intl/en-US.json.js.map +1 -0
  175. package/components/ScatterPlot/intl/fr-FR.json.js +17 -0
  176. package/components/ScatterPlot/intl/fr-FR.json.js.map +1 -0
  177. package/components/ScatterPlot/intl/index.js +10 -0
  178. package/components/ScatterPlot/intl/index.js.map +1 -0
  179. package/components/ScatterPlot/styles.d.ts +17 -0
  180. package/components/ScatterPlot/styles.js +53 -0
  181. package/components/ScatterPlot/styles.js.map +1 -0
  182. package/components/ScatterPlot/types.d.ts +109 -0
  183. package/components/ScatterPlot/types.js +24 -0
  184. package/components/ScatterPlot/types.js.map +1 -0
  185. package/components/ScatterPlot/utils.js +70 -0
  186. package/components/ScatterPlot/utils.js.map +1 -0
  187. package/config.js +15 -0
  188. package/config.js.map +1 -0
  189. package/design-system/src/react-aria/react-aria/i18n/useMessageFormatter.d.ts +5 -0
  190. package/hooks/useBrush.d.ts +17 -0
  191. package/hooks/useBrush.js +48 -0
  192. package/hooks/useBrush.js.map +1 -0
  193. package/hooks/useColor.d.ts +18 -0
  194. package/hooks/useColor.js +20 -0
  195. package/hooks/useColor.js.map +1 -0
  196. package/hooks/useFormatCategoricalData.d.ts +26 -0
  197. package/hooks/useFormatCategoricalData.js +57 -0
  198. package/hooks/useFormatCategoricalData.js.map +1 -0
  199. package/hooks/useZoom.d.ts +26 -0
  200. package/hooks/useZoom.js +39 -0
  201. package/hooks/useZoom.js.map +1 -0
  202. package/index.d.ts +51 -1277
  203. package/index.js +42 -5118
  204. package/index.js.map +1 -1
  205. package/package.json +4 -4
  206. package/scheme.d.ts +32 -0
  207. package/scheme.js +47 -0
  208. package/scheme.js.map +1 -0
  209. package/types/axis.d.ts +48 -0
  210. package/types/data.d.ts +72 -0
  211. package/types/legend.d.ts +30 -0
  212. package/types/legend.js +21 -0
  213. package/types/legend.js.map +1 -0
  214. package/types/scale.d.ts +48 -0
  215. package/types/size.d.ts +20 -0
  216. package/types/size.js +8 -0
  217. package/types/size.js.map +1 -0
  218. package/types/theme.d.ts +23 -0
  219. package/types/theme.js +13 -0
  220. package/types/theme.js.map +1 -0
  221. package/utils/index.d.ts +11 -0
  222. package/utils/index.js +44 -0
  223. 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,10 @@
1
+ import enUS from './en-US.json.js';
2
+ import frFR from './fr-FR.json.js';
3
+
4
+ var intlMessages = {
5
+ 'en-US': enUS,
6
+ 'fr-FR': frFR
7
+ };
8
+
9
+ export { intlMessages as default };
10
+ //# sourceMappingURL=index.js.map
@@ -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;;;;"}