@redsift/charts 11.5.0 → 11.6.0-muiv5-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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":"BarChartBars.js","sources":["../../../src/components/BarChart/BarChartBars.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\n\nimport { Comp, Flexbox, Text } from '@redsift/design-system';\n\nimport { BarChartBarsProps, ComputedBarProps } from './types';\nimport { StyledBarChartBars } from './styles';\nimport { useBarChartContext } from './context';\nimport { BarDatum } from '../../types';\nimport { Bar, BarOrientation } from '../Bar';\n\nconst COMPONENT_NAME = 'BarChartBars';\nconst CLASSNAME = 'redsift-bars';\n\nexport const BarChartBars: Comp<BarChartBarsProps, SVGGElement> = forwardRef((props, ref) => {\n const { category = 'default', ...forwardedProps } = props;\n\n const {\n barProps,\n barRole,\n bars,\n barWidth,\n cache,\n categories,\n colorScale,\n direction,\n disableAnimations,\n format,\n gap,\n getBarAnchorProps,\n hasCategory,\n id,\n isBarSelected,\n labelDecorator,\n onBarClick,\n scaleX,\n scaleY,\n tooltipVariant,\n tooltipDecorator,\n xScaleType,\n } = useBarChartContext();\n\n const filteredBarChartBars = bars.filter((bar) => bar.category === category && bar.value > 0);\n const categoryIndex = categories.indexOf(category);\n const categoryLength = categories.length;\n\n return (\n <StyledBarChartBars\n key={`${id}-series-${category}`}\n aria-hidden=\"false\"\n role=\"region\"\n {...(hasCategory\n ? {\n 'aria-label': format('series-legend', {\n category,\n categoryIndex: categoryIndex + 1,\n categoryLength,\n barLength: filteredBarChartBars.length,\n }),\n }\n : {})}\n {...forwardedProps}\n ref={ref as RefObject<SVGGElement>}\n >\n {filteredBarChartBars.map((bar, index: number) => {\n const to = {\n data: bar,\n category,\n };\n const from = cache.current ? { data: cache.current[index] } : undefined;\n\n const groupedBars = bars.filter((b) => {\n return xScaleType === 'Date' || xScaleType === 'dateString'\n ? (b.key as Date).getTime() === (bar.key as Date).getTime()\n : b.key === bar.key;\n });\n\n return (\n <Bar\n color={colorScale?.(to.data.category)!}\n data={to as BarDatum}\n dataset={bars}\n groupedData={groupedBars}\n disableAnimations={disableAnimations}\n gap={gap}\n id={`id${id}__bar-${categoryIndex}.${index}`}\n index={index}\n isSelected={Boolean(isBarSelected!(to as BarDatum))}\n key={`bar _${categoryIndex}.${index}`}\n labelDecorator={labelDecorator}\n maxHeight={scaleY(bar.cumulativeValue - bar.value)}\n anchorProps={getBarAnchorProps ? getBarAnchorProps(to) : undefined}\n onClick={onBarClick}\n orientation={BarOrientation.vertical}\n direction={direction}\n previousData={from! as BarDatum}\n scale={scaleY}\n scalePosition={scaleX}\n tooltipVariant={tooltipVariant}\n tooltipDecorator={tooltipDecorator}\n {...barProps}\n width={barProps?.width && typeof barProps.width === 'number' ? barProps.width : barWidth}\n height={undefined}\n role={barRole}\n />\n );\n })}\n </StyledBarChartBars>\n );\n});\n\nBarChartBars.className = CLASSNAME;\nBarChartBars.displayName = COMPONENT_NAME;\n\nexport const BarChartGroupedTooltip: React.FC<{\n dateFormatter: (date: Date) => string;\n categories: string[];\n categoryDecorator?: (category: string) => string;\n categoryColor: (category: string) => string;\n datum: BarDatum;\n groupedData: ComputedBarProps[] | undefined;\n}> = ({ dateFormatter, categories, categoryDecorator, categoryColor, datum, groupedData }) => (\n <Flexbox flexDirection=\"column\" margin=\"16px\" gap=\"0\">\n <Flexbox flexDirection=\"row\" gap=\"8px\">\n <Text fontWeight=\"400\" fontSize=\"14px\">\n Date:\n </Text>\n <Text fontWeight=\"700\" fontSize=\"14px\">\n {dateFormatter(datum.data.key as Date)}\n </Text>\n </Flexbox>\n <div style={{ width: '100%', height: '1px', backgroundColor: '#858585', margin: '8px 0' }} />\n <Flexbox flexDirection=\"row\" gap=\"8px\">\n <Text fontWeight=\"400\" fontSize=\"14px\">\n Total:\n </Text>\n <Text fontWeight=\"600\" fontSize=\"14px\">\n {groupedData?.reduce((acc, d) => acc + d.value, 0)}\n </Text>\n </Flexbox>\n <Flexbox flexDirection=\"column\" marginTop=\"4px\" gap=\"8px\">\n {categories.map((category) => {\n const value = groupedData?.find((d) => d.category === category)?.value;\n const color = categoryColor(category);\n return value ? (\n <Flexbox key={category} alignItems=\"center\" gap=\"8px\">\n <div style={{ width: '16px', height: '16px', backgroundColor: color }} />\n <Text fontWeight=\"400\" fontSize=\"14px\" lineHeight=\"18px\">\n {categoryDecorator ? categoryDecorator(category) : category}\n </Text>\n <Text fontWeight=\"600\" fontSize=\"14px\" lineHeight=\"18px\">\n {value}\n </Text>\n </Flexbox>\n ) : null;\n })}\n </Flexbox>\n </Flexbox>\n);\n"],"names":["COMPONENT_NAME","CLASSNAME","BarChartBars","forwardRef","props","ref","category","forwardedProps","_objectWithoutProperties","_excluded","barProps","barRole","bars","barWidth","cache","categories","colorScale","direction","disableAnimations","format","gap","getBarAnchorProps","hasCategory","id","isBarSelected","labelDecorator","onBarClick","scaleX","scaleY","tooltipVariant","tooltipDecorator","xScaleType","useBarChartContext","filteredBarChartBars","filter","bar","value","categoryIndex","indexOf","categoryLength","length","React","createElement","StyledBarChartBars","_extends","key","role","barLength","map","index","to","data","from","current","undefined","groupedBars","b","getTime","Bar","color","dataset","groupedData","isSelected","Boolean","maxHeight","cumulativeValue","anchorProps","onClick","orientation","BarOrientation","vertical","previousData","scale","scalePosition","width","height","className","displayName","BarChartGroupedTooltip","_ref","dateFormatter","categoryDecorator","categoryColor","datum","Flexbox","flexDirection","margin","Text","fontWeight","fontSize","style","backgroundColor","reduce","acc","d","marginTop","_groupedData$find","find","alignItems","lineHeight"],"mappings":";;;;;;;;;AAUA,MAAMA,cAAc,GAAG,cAAc,CAAA;AACrC,MAAMC,SAAS,GAAG,cAAc,CAAA;AAEzB,MAAMC,YAAkD,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC3F,MAAM;AAAEC,MAAAA,QAAQ,GAAG,SAAA;AAA6B,KAAC,GAAGF,KAAK;AAAxBG,IAAAA,cAAc,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA,CAAA;EAEzD,MAAM;IACJC,QAAQ;IACRC,OAAO;IACPC,IAAI;IACJC,QAAQ;IACRC,KAAK;IACLC,UAAU;IACVC,UAAU;IACVC,SAAS;IACTC,iBAAiB;IACjBC,MAAM;IACNC,GAAG;IACHC,iBAAiB;IACjBC,WAAW;IACXC,EAAE;IACFC,aAAa;IACbC,cAAc;IACdC,UAAU;IACVC,MAAM;IACNC,MAAM;IACNC,cAAc;IACdC,gBAAgB;AAChBC,IAAAA,UAAAA;GACD,GAAGC,kBAAkB,EAAE,CAAA;AAExB,EAAA,MAAMC,oBAAoB,GAAGrB,IAAI,CAACsB,MAAM,CAAEC,GAAG,IAAKA,GAAG,CAAC7B,QAAQ,KAAKA,QAAQ,IAAI6B,GAAG,CAACC,KAAK,GAAG,CAAC,CAAC,CAAA;AAC7F,EAAA,MAAMC,aAAa,GAAGtB,UAAU,CAACuB,OAAO,CAAChC,QAAQ,CAAC,CAAA;AAClD,EAAA,MAAMiC,cAAc,GAAGxB,UAAU,CAACyB,MAAM,CAAA;AAExC,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAACC,kBAAkB,EAAAC,QAAA,CAAA;AACjBC,IAAAA,GAAG,EAAG,CAAA,EAAEtB,EAAG,CAAA,QAAA,EAAUjB,QAAS,CAAE,CAAA;AAChC,IAAA,aAAA,EAAY,OAAO;AACnBwC,IAAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,EACRxB,WAAW,GACZ;AACE,IAAA,YAAY,EAAEH,MAAM,CAAC,eAAe,EAAE;MACpCb,QAAQ;MACR+B,aAAa,EAAEA,aAAa,GAAG,CAAC;MAChCE,cAAc;MACdQ,SAAS,EAAEd,oBAAoB,CAACO,MAAAA;KACjC,CAAA;AACH,GAAC,GACD,EAAE,EACFjC,cAAc,EAAA;AAClBF,IAAAA,GAAG,EAAEA,GAAAA;GAEJ4B,CAAAA,EAAAA,oBAAoB,CAACe,GAAG,CAAC,CAACb,GAAG,EAAEc,KAAa,KAAK;AAChD,IAAA,MAAMC,EAAE,GAAG;AACTC,MAAAA,IAAI,EAAEhB,GAAG;AACT7B,MAAAA,QAAAA;KACD,CAAA;AACD,IAAA,MAAM8C,IAAI,GAAGtC,KAAK,CAACuC,OAAO,GAAG;AAAEF,MAAAA,IAAI,EAAErC,KAAK,CAACuC,OAAO,CAACJ,KAAK,CAAA;AAAE,KAAC,GAAGK,SAAS,CAAA;AAEvE,IAAA,MAAMC,WAAW,GAAG3C,IAAI,CAACsB,MAAM,CAAEsB,CAAC,IAAK;AACrC,MAAA,OAAOzB,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,YAAY,GACtDyB,CAAC,CAACX,GAAG,CAAUY,OAAO,EAAE,KAAMtB,GAAG,CAACU,GAAG,CAAUY,OAAO,EAAE,GACzDD,CAAC,CAACX,GAAG,KAAKV,GAAG,CAACU,GAAG,CAAA;AACvB,KAAC,CAAC,CAAA;AAEF,IAAA,oBACEJ,cAAA,CAAAC,aAAA,CAACgB,GAAG,EAAAd,QAAA,CAAA;AACFe,MAAAA,KAAK,EAAE3C,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAGkC,EAAE,CAACC,IAAI,CAAC7C,QAAQ,CAAG;AACvC6C,MAAAA,IAAI,EAAED,EAAe;AACrBU,MAAAA,OAAO,EAAEhD,IAAK;AACdiD,MAAAA,WAAW,EAAEN,WAAY;AACzBrC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCE,MAAAA,GAAG,EAAEA,GAAI;AACTG,MAAAA,EAAE,EAAG,CAAIA,EAAAA,EAAAA,EAAG,SAAQc,aAAc,CAAA,CAAA,EAAGY,KAAM,CAAE,CAAA;AAC7CA,MAAAA,KAAK,EAAEA,KAAM;AACba,MAAAA,UAAU,EAAEC,OAAO,CAACvC,aAAa,CAAE0B,EAAc,CAAC,CAAE;AACpDL,MAAAA,GAAG,EAAG,CAAA,KAAA,EAAOR,aAAc,CAAA,CAAA,EAAGY,KAAM,CAAE,CAAA;AACtCxB,MAAAA,cAAc,EAAEA,cAAe;MAC/BuC,SAAS,EAAEpC,MAAM,CAACO,GAAG,CAAC8B,eAAe,GAAG9B,GAAG,CAACC,KAAK,CAAE;MACnD8B,WAAW,EAAE7C,iBAAiB,GAAGA,iBAAiB,CAAC6B,EAAE,CAAC,GAAGI,SAAU;AACnEa,MAAAA,OAAO,EAAEzC,UAAW;MACpB0C,WAAW,EAAEC,cAAc,CAACC,QAAS;AACrCrD,MAAAA,SAAS,EAAEA,SAAU;AACrBsD,MAAAA,YAAY,EAAEnB,IAAkB;AAChCoB,MAAAA,KAAK,EAAE5C,MAAO;AACd6C,MAAAA,aAAa,EAAE9C,MAAO;AACtBE,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,KAAA,EAC/BpB,QAAQ,EAAA;MACZgE,KAAK,EAAEhE,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,eAARA,QAAQ,CAAEgE,KAAK,IAAI,OAAOhE,QAAQ,CAACgE,KAAK,KAAK,QAAQ,GAAGhE,QAAQ,CAACgE,KAAK,GAAG7D,QAAS;AACzF8D,MAAAA,MAAM,EAAErB,SAAU;AAClBR,MAAAA,IAAI,EAAEnC,OAAAA;AAAQ,KAAA,CACf,CAAC,CAAA;AAEN,GAAC,CACiB,CAAC,CAAA;AAEzB,CAAC,EAAC;AAEFT,YAAY,CAAC0E,SAAS,GAAG3E,SAAS,CAAA;AAClCC,YAAY,CAAC2E,WAAW,GAAG7E,cAAc,CAAA;AAElC,MAAM8E,sBAOX,GAAGC,IAAA,IAAA;EAAA,IAAC;IAAEC,aAAa;IAAEjE,UAAU;IAAEkE,iBAAiB;IAAEC,aAAa;IAAEC,KAAK;AAAEtB,IAAAA,WAAAA;AAAY,GAAC,GAAAkB,IAAA,CAAA;AAAA,EAAA,oBACvFtC,cAAA,CAAAC,aAAA,CAAC0C,OAAO,EAAA;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACC,IAAAA,MAAM,EAAC,MAAM;AAAClE,IAAAA,GAAG,EAAC,GAAA;AAAG,GAAA,eACnDqB,cAAA,CAAAC,aAAA,CAAC0C,OAAO,EAAA;AAACC,IAAAA,aAAa,EAAC,KAAK;AAACjE,IAAAA,GAAG,EAAC,KAAA;AAAK,GAAA,eACpCqB,cAAA,CAAAC,aAAA,CAAC6C,IAAI,EAAA;AAACC,IAAAA,UAAU,EAAC,KAAK;AAACC,IAAAA,QAAQ,EAAC,MAAA;AAAM,GAAA,EAAC,OAEjC,CAAC,eACPhD,cAAA,CAAAC,aAAA,CAAC6C,IAAI,EAAA;AAACC,IAAAA,UAAU,EAAC,KAAK;AAACC,IAAAA,QAAQ,EAAC,MAAA;AAAM,GAAA,EACnCT,aAAa,CAACG,KAAK,CAAChC,IAAI,CAACN,GAAW,CACjC,CACC,CAAC,eACVJ,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKgD,IAAAA,KAAK,EAAE;AAAEhB,MAAAA,KAAK,EAAE,MAAM;AAAEC,MAAAA,MAAM,EAAE,KAAK;AAAEgB,MAAAA,eAAe,EAAE,SAAS;AAAEL,MAAAA,MAAM,EAAE,OAAA;AAAQ,KAAA;AAAE,GAAE,CAAC,eAC7F7C,cAAA,CAAAC,aAAA,CAAC0C,OAAO,EAAA;AAACC,IAAAA,aAAa,EAAC,KAAK;AAACjE,IAAAA,GAAG,EAAC,KAAA;AAAK,GAAA,eACpCqB,cAAA,CAAAC,aAAA,CAAC6C,IAAI,EAAA;AAACC,IAAAA,UAAU,EAAC,KAAK;AAACC,IAAAA,QAAQ,EAAC,MAAA;AAAM,GAAA,EAAC,QAEjC,CAAC,eACPhD,cAAA,CAAAC,aAAA,CAAC6C,IAAI,EAAA;AAACC,IAAAA,UAAU,EAAC,KAAK;AAACC,IAAAA,QAAQ,EAAC,MAAA;AAAM,GAAA,EACnC5B,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAE+B,MAAM,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAKD,GAAG,GAAGC,CAAC,CAAC1D,KAAK,EAAE,CAAC,CAC7C,CACC,CAAC,eACVK,cAAA,CAAAC,aAAA,CAAC0C,OAAO,EAAA;AAACC,IAAAA,aAAa,EAAC,QAAQ;AAACU,IAAAA,SAAS,EAAC,KAAK;AAAC3E,IAAAA,GAAG,EAAC,KAAA;AAAK,GAAA,EACtDL,UAAU,CAACiC,GAAG,CAAE1C,QAAQ,IAAK;AAAA,IAAA,IAAA0F,iBAAA,CAAA;IAC5B,MAAM5D,KAAK,GAAGyB,WAAW,KAAXA,IAAAA,IAAAA,WAAW,wBAAAmC,iBAAA,GAAXnC,WAAW,CAAEoC,IAAI,CAAEH,CAAC,IAAKA,CAAC,CAACxF,QAAQ,KAAKA,QAAQ,CAAC,MAAA,IAAA,IAAA0F,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjDA,iBAAA,CAAmD5D,KAAK,CAAA;AACtE,IAAA,MAAMuB,KAAK,GAAGuB,aAAa,CAAC5E,QAAQ,CAAC,CAAA;AACrC,IAAA,OAAO8B,KAAK,gBACVK,cAAA,CAAAC,aAAA,CAAC0C,OAAO,EAAA;AAACvC,MAAAA,GAAG,EAAEvC,QAAS;AAAC4F,MAAAA,UAAU,EAAC,QAAQ;AAAC9E,MAAAA,GAAG,EAAC,KAAA;KAC9CqB,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKgD,MAAAA,KAAK,EAAE;AAAEhB,QAAAA,KAAK,EAAE,MAAM;AAAEC,QAAAA,MAAM,EAAE,MAAM;AAAEgB,QAAAA,eAAe,EAAEhC,KAAAA;AAAM,OAAA;AAAE,KAAE,CAAC,eACzElB,cAAA,CAAAC,aAAA,CAAC6C,IAAI,EAAA;AAACC,MAAAA,UAAU,EAAC,KAAK;AAACC,MAAAA,QAAQ,EAAC,MAAM;AAACU,MAAAA,UAAU,EAAC,MAAA;AAAM,KAAA,EACrDlB,iBAAiB,GAAGA,iBAAiB,CAAC3E,QAAQ,CAAC,GAAGA,QAC/C,CAAC,eACPmC,cAAA,CAAAC,aAAA,CAAC6C,IAAI,EAAA;AAACC,MAAAA,UAAU,EAAC,KAAK;AAACC,MAAAA,QAAQ,EAAC,MAAM;AAACU,MAAAA,UAAU,EAAC,MAAA;AAAM,KAAA,EACrD/D,KACG,CACC,CAAC,GACR,IAAI,CAAA;GACT,CACM,CACF,CAAC,CAAA;AAAA;;;;"}
@@ -0,0 +1,139 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, objectSpread2 as _objectSpread2, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useMemo } from 'react';
3
+ import classNames from 'classnames';
4
+ import { RedsiftColorGreenD1, RedsiftColorRedD1, RedsiftColorNeutralBlack, useTheme, isComponent } from '@redsift/design-system';
5
+ import { StyledBarChartSection } from './styles.js';
6
+ import { useBarChartContext, BarChartContext } from './context.js';
7
+ import { getAxisType } from '../Axis/Axis.js';
8
+
9
+ const _excluded = ["className", "from", "to", "color", "title", "titlePosition", "scaleX", "scaleY", "children", "direction"];
10
+ const COMPONENT_NAME = 'BarChartSection';
11
+ const CLASSNAME = 'redsift-barchart-section';
12
+ const BarChartSection = /*#__PURE__*/forwardRef((props, ref) => {
13
+ const {
14
+ className,
15
+ from = 0,
16
+ to = 1,
17
+ color,
18
+ title,
19
+ titlePosition = 'center',
20
+ scaleX,
21
+ scaleY,
22
+ children: propsChildren,
23
+ direction
24
+ } = props,
25
+ forwardedProps = _objectWithoutProperties(props, _excluded);
26
+ const {
27
+ textColor,
28
+ backgroundColor
29
+ } = useMemo(() => {
30
+ if (color === 'green') {
31
+ return {
32
+ textColor: RedsiftColorGreenD1,
33
+ backgroundColor: '#F7FBF9'
34
+ };
35
+ } else if (color === 'red') {
36
+ return {
37
+ textColor: RedsiftColorRedD1,
38
+ backgroundColor: '#FFF7F7'
39
+ };
40
+ } else if (color === undefined) {
41
+ return {
42
+ textColor: RedsiftColorNeutralBlack,
43
+ backgroundColor: undefined
44
+ };
45
+ }
46
+ return color;
47
+ }, [color]);
48
+ const theme = useTheme();
49
+ const context = useBarChartContext();
50
+ const {
51
+ chartHeight,
52
+ chartWidth,
53
+ margins,
54
+ disableAnimations,
55
+ xAxisTickValues,
56
+ xAxisTickPadding,
57
+ xAxisTickRotation,
58
+ xAxisTickSize,
59
+ xAxisTickFormat,
60
+ xAxisTickRemodelling,
61
+ xAxisVariant,
62
+ yAxisTickValues,
63
+ yAxisTickPadding,
64
+ yAxisTickRotation,
65
+ yAxisTickSize,
66
+ yAxisTickFormat,
67
+ yAxisTickRemodelling,
68
+ yAxisVariant
69
+ } = context;
70
+ const sectionHeight = Math.max(0, Math.min(1, to - from)) * chartHeight;
71
+ const sectionY = Math.max(0, Math.min(1, from)) * chartHeight;
72
+ const titleX = titlePosition === 'center' ? chartWidth / 2 : titlePosition === 'right' ? chartWidth - 10 : 10;
73
+ const titleAnchor = titlePosition === 'center' ? 'middle' : titlePosition === 'right' ? 'end' : 'start';
74
+ const children = useMemo(() => {
75
+ const renderedChildren = [];
76
+ React__default.Children.forEach(propsChildren, child => {
77
+ if (! /*#__PURE__*/React__default.isValidElement(child)) return;
78
+ const isX = getAxisType(child.props.position) === 'x';
79
+ let enhancedChild = child;
80
+ if (isComponent('Axis')(child)) {
81
+ var _ref;
82
+ enhancedChild = /*#__PURE__*/React__default.cloneElement(child, _objectSpread2({
83
+ key: child.key || `axis-${child.props.position}`,
84
+ chartWidth,
85
+ chartHeight,
86
+ sectionHeight,
87
+ scale: isX ? scaleX : scaleY,
88
+ x: child.props.position === 'right' ? chartWidth : 0,
89
+ y: child.props.position === 'bottom' ? sectionHeight : child.props.position === 'top' ? 0 : sectionHeight,
90
+ disableAnimations,
91
+ length: isX ? chartWidth : sectionHeight,
92
+ tickValues: (_ref = isX ? xAxisTickValues : yAxisTickValues) !== null && _ref !== void 0 ? _ref : 8,
93
+ tickPadding: isX ? xAxisTickPadding : yAxisTickPadding,
94
+ tickRotation: isX ? xAxisTickRotation : yAxisTickRotation,
95
+ tickSize: isX ? xAxisTickSize : yAxisTickSize,
96
+ tickFormat: isX ? xAxisTickFormat : yAxisTickFormat,
97
+ tickRemodelling: isX ? xAxisTickRemodelling : yAxisTickRemodelling,
98
+ variant: isX ? xAxisVariant : yAxisVariant,
99
+ textColor: isX ? undefined : color,
100
+ tickToColor: (_, index) => index !== 0
101
+ }, child.props));
102
+ }
103
+ renderedChildren.push(enhancedChild);
104
+ });
105
+ return renderedChildren;
106
+ }, [propsChildren]);
107
+ return /*#__PURE__*/React__default.createElement(BarChartContext.Provider, {
108
+ value: _objectSpread2(_objectSpread2({}, context), {}, {
109
+ scaleX: scaleX,
110
+ scaleY: scaleY,
111
+ direction,
112
+ sectionHeight
113
+ })
114
+ }, /*#__PURE__*/React__default.createElement(StyledBarChartSection, _extends({}, forwardedProps, {
115
+ className: classNames(BarChartSection.className, className),
116
+ transform: `translate(${margins.left},${(margins.top || 0) + sectionY})`,
117
+ ref: ref,
118
+ $theme: theme,
119
+ $textColor: textColor
120
+ }), backgroundColor ? /*#__PURE__*/React__default.createElement("rect", {
121
+ x: 0,
122
+ y: 0,
123
+ width: chartWidth,
124
+ height: sectionHeight,
125
+ fill: backgroundColor
126
+ }) : null, title && /*#__PURE__*/React__default.createElement("text", {
127
+ className: "title colored",
128
+ x: titleX,
129
+ y: direction === 'up' ? 8 : direction === 'down' ? sectionHeight - 8 : sectionHeight / 2,
130
+ textAnchor: titleAnchor,
131
+ fontSize: 12,
132
+ dominantBaseline: direction === 'up' ? 'hanging' : direction === 'down' ? 'auto' : 'middle'
133
+ }, title), children));
134
+ });
135
+ BarChartSection.className = CLASSNAME;
136
+ BarChartSection.displayName = COMPONENT_NAME;
137
+
138
+ export { BarChartSection };
139
+ //# sourceMappingURL=BarChartSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChartSection.js","sources":["../../../src/components/BarChart/BarChartSection.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useMemo } from 'react';\nimport classNames from 'classnames';\n\nimport {\n Comp,\n isComponent,\n RedsiftColorGreenD1,\n RedsiftColorNeutralBlack,\n RedsiftColorRedD1,\n useTheme,\n} from '@redsift/design-system';\n\nimport { BarChartSectionProps } from './types';\nimport { StyledBarChartSection } from './styles';\nimport { BarChartContext, useBarChartContext } from './context';\nimport { getAxisType } from '../Axis';\n\nconst COMPONENT_NAME = 'BarChartSection';\nconst CLASSNAME = 'redsift-barchart-section';\n\nexport const BarChartSection: Comp<BarChartSectionProps, SVGGElement> = forwardRef((props, ref) => {\n const {\n className,\n from = 0,\n to = 1,\n color,\n title,\n titlePosition = 'center',\n scaleX,\n scaleY,\n children: propsChildren,\n direction,\n ...forwardedProps\n } = props;\n\n const { textColor, backgroundColor } = useMemo(() => {\n if (color === 'green') {\n return {\n textColor: RedsiftColorGreenD1,\n backgroundColor: '#F7FBF9',\n };\n } else if (color === 'red') {\n return {\n textColor: RedsiftColorRedD1,\n backgroundColor: '#FFF7F7',\n };\n } else if (color === undefined) {\n return {\n textColor: RedsiftColorNeutralBlack,\n backgroundColor: undefined,\n };\n }\n return color;\n }, [color]);\n\n const theme = useTheme();\n\n const context = useBarChartContext();\n const {\n chartHeight,\n chartWidth,\n margins,\n disableAnimations,\n xAxisTickValues,\n xAxisTickPadding,\n xAxisTickRotation,\n xAxisTickSize,\n xAxisTickFormat,\n xAxisTickRemodelling,\n xAxisVariant,\n yAxisTickValues,\n yAxisTickPadding,\n yAxisTickRotation,\n yAxisTickSize,\n yAxisTickFormat,\n yAxisTickRemodelling,\n yAxisVariant,\n } = context;\n\n const sectionHeight = Math.max(0, Math.min(1, to - from)) * chartHeight;\n const sectionY = Math.max(0, Math.min(1, from)) * chartHeight;\n\n const titleX = titlePosition === 'center' ? chartWidth / 2 : titlePosition === 'right' ? chartWidth - 10 : 10;\n\n const titleAnchor = titlePosition === 'center' ? 'middle' : titlePosition === 'right' ? 'end' : 'start';\n\n const children = useMemo(() => {\n const renderedChildren: React.ReactElement[] = [];\n\n React.Children.forEach(propsChildren, (child) => {\n if (!React.isValidElement(child)) return;\n const isX = getAxisType(child.props.position) === 'x';\n\n let enhancedChild = child;\n\n if (isComponent('Axis')(child)) {\n enhancedChild = React.cloneElement(child, {\n key: child.key || `axis-${child.props.position}`,\n chartWidth,\n chartHeight,\n sectionHeight,\n scale: isX ? scaleX : scaleY,\n x: child.props.position === 'right' ? chartWidth : 0,\n y: child.props.position === 'bottom' ? sectionHeight : child.props.position === 'top' ? 0 : sectionHeight,\n disableAnimations,\n length: isX ? chartWidth : sectionHeight,\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 textColor: isX ? undefined : color,\n tickToColor: (_: never, index: number) => index !== 0,\n ...child.props,\n });\n }\n\n renderedChildren.push(enhancedChild);\n });\n\n return renderedChildren;\n }, [propsChildren]);\n\n return (\n <BarChartContext.Provider\n value={{\n ...context,\n scaleX: scaleX!,\n scaleY: scaleY!,\n direction,\n sectionHeight,\n }}\n >\n <StyledBarChartSection\n {...forwardedProps}\n className={classNames(BarChartSection.className, className)}\n transform={`translate(${margins.left},${(margins.top || 0) + sectionY})`}\n ref={ref as RefObject<SVGGElement>}\n $theme={theme}\n $textColor={textColor}\n >\n {backgroundColor ? <rect x={0} y={0} width={chartWidth} height={sectionHeight} fill={backgroundColor} /> : null}\n {title && (\n <text\n className=\"title colored\"\n x={titleX}\n y={direction === 'up' ? 8 : direction === 'down' ? sectionHeight - 8 : sectionHeight / 2}\n textAnchor={titleAnchor}\n fontSize={12}\n dominantBaseline={direction === 'up' ? 'hanging' : direction === 'down' ? 'auto' : 'middle'}\n >\n {title}\n </text>\n )}\n {children}\n </StyledBarChartSection>\n </BarChartContext.Provider>\n );\n});\n\nBarChartSection.className = CLASSNAME;\nBarChartSection.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","BarChartSection","forwardRef","props","ref","className","from","to","color","title","titlePosition","scaleX","scaleY","children","propsChildren","direction","forwardedProps","_objectWithoutProperties","_excluded","textColor","backgroundColor","useMemo","RedsiftColorGreenD1","RedsiftColorRedD1","undefined","RedsiftColorNeutralBlack","theme","useTheme","context","useBarChartContext","chartHeight","chartWidth","margins","disableAnimations","xAxisTickValues","xAxisTickPadding","xAxisTickRotation","xAxisTickSize","xAxisTickFormat","xAxisTickRemodelling","xAxisVariant","yAxisTickValues","yAxisTickPadding","yAxisTickRotation","yAxisTickSize","yAxisTickFormat","yAxisTickRemodelling","yAxisVariant","sectionHeight","Math","max","min","sectionY","titleX","titleAnchor","renderedChildren","React","Children","forEach","child","isValidElement","isX","getAxisType","position","enhancedChild","isComponent","_ref","cloneElement","_objectSpread","key","scale","x","y","length","tickValues","tickPadding","tickRotation","tickSize","tickFormat","tickRemodelling","variant","tickToColor","_","index","push","createElement","BarChartContext","Provider","value","StyledBarChartSection","_extends","classNames","transform","left","top","$theme","$textColor","width","height","fill","textAnchor","fontSize","dominantBaseline","displayName"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef } from 'react';
3
+ import { scaleLinear } from 'd3';
4
+ import { StyledBarChart, StyledBarChartEmptyText } from './styles.js';
5
+ import { sizeToDimension } from './utils.js';
6
+ import { useTheme } from '@redsift/design-system';
7
+ import { Axis } from '../Axis/Axis.js';
8
+
9
+ const _excluded = ["className", "emptyComponent", "size", "localeText"];
10
+ const EmptyBarChart = /*#__PURE__*/forwardRef((props, ref) => {
11
+ const {
12
+ className,
13
+ emptyComponent,
14
+ size,
15
+ localeText
16
+ } = props,
17
+ forwardedProps = _objectWithoutProperties(props, _excluded);
18
+ const theme = useTheme();
19
+ const chartDimensions = sizeToDimension(size);
20
+ const width = chartDimensions.width;
21
+ const height = chartDimensions.height;
22
+ const margins = {
23
+ top: 16,
24
+ left: 16,
25
+ right: 16,
26
+ bottom: 32
27
+ };
28
+ const chartHeight = height - margins.top - margins.bottom;
29
+ const chartWidth = width - margins.left - margins.right;
30
+ const scaleRef = useRef();
31
+ if (!scaleRef.current) {
32
+ scaleRef.current = scaleLinear().domain([]).range([0, chartWidth]);
33
+ }
34
+ return /*#__PURE__*/React__default.createElement(StyledBarChart, _extends({}, forwardedProps, {
35
+ className: className,
36
+ ref: ref
37
+ }), emptyComponent !== null && emptyComponent !== void 0 ? emptyComponent : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(StyledBarChartEmptyText, {
38
+ $maxWidth: width,
39
+ $textSize: chartDimensions.fontSize / 2,
40
+ $theme: theme
41
+ }, /*#__PURE__*/React__default.createElement("span", null, localeText === null || localeText === void 0 ? void 0 : localeText.emptyChartText)), /*#__PURE__*/React__default.createElement("svg", {
42
+ width: width,
43
+ height: height
44
+ }, /*#__PURE__*/React__default.createElement("g", {
45
+ transform: `translate(${margins.left},${margins.top})`
46
+ }, /*#__PURE__*/React__default.createElement(Axis, {
47
+ position: "bottom",
48
+ length: chartWidth,
49
+ scale: scaleRef.current,
50
+ x: 0,
51
+ y: chartHeight,
52
+ tickValues: 4
53
+ })))));
54
+ });
55
+
56
+ export { EmptyBarChart };
57
+ //# sourceMappingURL=EmptyBarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyBarChart.js","sources":["../../../src/components/BarChart/EmptyBarChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useRef } from 'react';\nimport { scaleLinear as d3scaleLinear, ScaleLinear as d3ScaleLinear } from 'd3';\n\nimport { AnyScale } from '../../types';\nimport { BarChartProps } from './types';\nimport { StyledBarChart, StyledBarChartEmptyText } from './styles';\nimport { Axis } from '../Axis';\nimport { sizeToDimension } from './utils';\nimport { useTheme } from '@redsift/design-system';\n\nexport const EmptyBarChart = forwardRef<HTMLDivElement, BarChartProps>((props, ref) => {\n const { className, emptyComponent, size, localeText, ...forwardedProps } = props;\n const theme = useTheme();\n\n const chartDimensions = sizeToDimension(size!);\n const width = chartDimensions.width;\n const height = chartDimensions.height;\n const margins = { top: 16, left: 16, right: 16, bottom: 32 };\n const chartHeight = height - margins.top - margins.bottom;\n const chartWidth = width - margins.left - margins.right;\n\n const scaleRef = useRef<d3ScaleLinear<number, number>>();\n if (!scaleRef.current) {\n scaleRef.current = d3scaleLinear().domain([]).range([0, chartWidth]);\n }\n\n return (\n <StyledBarChart {...forwardedProps} className={className} ref={ref as RefObject<HTMLDivElement>}>\n {emptyComponent ?? (\n <>\n <StyledBarChartEmptyText $maxWidth={width} $textSize={chartDimensions.fontSize / 2} $theme={theme}>\n <span>{localeText?.emptyChartText}</span>\n </StyledBarChartEmptyText>\n <svg width={width} height={height}>\n <g transform={`translate(${margins.left},${margins.top})`}>\n <Axis\n position=\"bottom\"\n length={chartWidth}\n scale={scaleRef.current as AnyScale}\n x={0}\n y={chartHeight}\n tickValues={4}\n />\n </g>\n </svg>\n </>\n )}\n </StyledBarChart>\n );\n});\n"],"names":["EmptyBarChart","forwardRef","props","ref","className","emptyComponent","size","localeText","forwardedProps","_objectWithoutProperties","_excluded","theme","useTheme","chartDimensions","sizeToDimension","width","height","margins","top","left","right","bottom","chartHeight","chartWidth","scaleRef","useRef","current","d3scaleLinear","domain","range","React","createElement","StyledBarChart","_extends","Fragment","StyledBarChartEmptyText","$maxWidth","$textSize","fontSize","$theme","emptyChartText","transform","Axis","position","length","scale","x","y","tickValues"],"mappings":";;;;;;;;;AAUO,MAAMA,aAAa,gBAAGC,UAAU,CAAgC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACrF,MAAM;MAAEC,SAAS;MAAEC,cAAc;MAAEC,IAAI;AAAEC,MAAAA,UAAAA;AAA8B,KAAC,GAAGL,KAAK;AAAxBM,IAAAA,cAAc,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAChF,EAAA,MAAMC,KAAK,GAAGC,QAAQ,EAAE,CAAA;AAExB,EAAA,MAAMC,eAAe,GAAGC,eAAe,CAACR,IAAK,CAAC,CAAA;AAC9C,EAAA,MAAMS,KAAK,GAAGF,eAAe,CAACE,KAAK,CAAA;AACnC,EAAA,MAAMC,MAAM,GAAGH,eAAe,CAACG,MAAM,CAAA;AACrC,EAAA,MAAMC,OAAO,GAAG;AAAEC,IAAAA,GAAG,EAAE,EAAE;AAAEC,IAAAA,IAAI,EAAE,EAAE;AAAEC,IAAAA,KAAK,EAAE,EAAE;AAAEC,IAAAA,MAAM,EAAE,EAAA;GAAI,CAAA;EAC5D,MAAMC,WAAW,GAAGN,MAAM,GAAGC,OAAO,CAACC,GAAG,GAAGD,OAAO,CAACI,MAAM,CAAA;EACzD,MAAME,UAAU,GAAGR,KAAK,GAAGE,OAAO,CAACE,IAAI,GAAGF,OAAO,CAACG,KAAK,CAAA;AAEvD,EAAA,MAAMI,QAAQ,GAAGC,MAAM,EAAiC,CAAA;AACxD,EAAA,IAAI,CAACD,QAAQ,CAACE,OAAO,EAAE;AACrBF,IAAAA,QAAQ,CAACE,OAAO,GAAGC,WAAa,EAAE,CAACC,MAAM,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAEN,UAAU,CAAC,CAAC,CAAA;AACtE,GAAA;EAEA,oBACEO,cAAA,CAAAC,aAAA,CAACC,cAAc,EAAAC,QAAA,KAAKzB,cAAc,EAAA;AAAEJ,IAAAA,SAAS,EAAEA,SAAU;AAACD,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EAC7FE,cAAc,KAAdA,IAAAA,IAAAA,cAAc,cAAdA,cAAc,gBACbyB,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAI,QAAA,EAAA,IAAA,eACEJ,cAAA,CAAAC,aAAA,CAACI,uBAAuB,EAAA;AAACC,IAAAA,SAAS,EAAErB,KAAM;AAACsB,IAAAA,SAAS,EAAExB,eAAe,CAACyB,QAAQ,GAAG,CAAE;AAACC,IAAAA,MAAM,EAAE5B,KAAAA;AAAM,GAAA,eAChGmB,cAAA,CAAAC,aAAA,CAAOxB,MAAAA,EAAAA,IAAAA,EAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEiC,cAAqB,CACjB,CAAC,eAC1BV,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKhB,IAAAA,KAAK,EAAEA,KAAM;AAACC,IAAAA,MAAM,EAAEA,MAAAA;GACzBc,eAAAA,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;IAAGU,SAAS,EAAG,aAAYxB,OAAO,CAACE,IAAK,CAAGF,CAAAA,EAAAA,OAAO,CAACC,GAAI,CAAA,CAAA,CAAA;AAAG,GAAA,eACxDY,cAAA,CAAAC,aAAA,CAACW,IAAI,EAAA;AACHC,IAAAA,QAAQ,EAAC,QAAQ;AACjBC,IAAAA,MAAM,EAAErB,UAAW;IACnBsB,KAAK,EAAErB,QAAQ,CAACE,OAAoB;AACpCoB,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAEzB,WAAY;AACf0B,IAAAA,UAAU,EAAE,CAAA;AAAE,GACf,CACA,CACA,CACL,CAEU,CAAC,CAAA;AAErB,CAAC;;;;"}
@@ -0,0 +1,18 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import { StyledBarChart } from './styles.js';
4
+
5
+ const _excluded = ["className"];
6
+ const LoadingBarChart = /*#__PURE__*/forwardRef((props, ref) => {
7
+ const {
8
+ className
9
+ } = props,
10
+ forwardedProps = _objectWithoutProperties(props, _excluded);
11
+ return /*#__PURE__*/React__default.createElement(StyledBarChart, _extends({}, forwardedProps, {
12
+ className: className,
13
+ ref: ref
14
+ }), "Loading...");
15
+ });
16
+
17
+ export { LoadingBarChart };
18
+ //# sourceMappingURL=LoadingBarChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingBarChart.js","sources":["../../../src/components/BarChart/LoadingBarChart.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\n\nimport { BarChartProps } from './types';\nimport { StyledBarChart } from './styles';\n\nexport const LoadingBarChart = forwardRef<HTMLDivElement, BarChartProps>(\n (props, ref) => {\n const { className, ...forwardedProps } = props;\n\n return (\n <StyledBarChart\n {...forwardedProps}\n className={className}\n ref={ref as RefObject<HTMLDivElement>}\n >\n Loading...\n </StyledBarChart>\n );\n }\n);\n"],"names":["LoadingBarChart","forwardRef","props","ref","className","forwardedProps","_objectWithoutProperties","_excluded","React","createElement","StyledBarChart","_extends"],"mappings":";;;;;AAKO,MAAMA,eAAe,gBAAGC,UAAU,CACvC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACd,MAAM;AAAEC,MAAAA,SAAAA;AAA6B,KAAC,GAAGF,KAAK;AAAxBG,IAAAA,cAAc,GAAAC,wBAAA,CAAKJ,KAAK,EAAAK,SAAA,CAAA,CAAA;EAE9C,oBACEC,cAAA,CAAAC,aAAA,CAACC,cAAc,EAAAC,QAAA,KACTN,cAAc,EAAA;AAClBD,IAAAA,SAAS,EAAEA,SAAU;AACrBD,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EACvC,YAEe,CAAC,CAAA;AAErB,CACF;;;;"}