@once-ui-system/core 1.6.3 → 1.7.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 (233) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/components/Avatar.d.ts +1 -0
  3. package/dist/components/Avatar.d.ts.map +1 -1
  4. package/dist/components/Avatar.js +2 -2
  5. package/dist/components/Avatar.js.map +1 -1
  6. package/dist/components/BlobFx.d.ts +8 -0
  7. package/dist/components/BlobFx.d.ts.map +1 -0
  8. package/dist/components/BlobFx.js +82 -0
  9. package/dist/components/BlobFx.js.map +1 -0
  10. package/dist/components/Button.d.ts +1 -1
  11. package/dist/components/Button.d.ts.map +1 -1
  12. package/dist/components/Button.js +2 -2
  13. package/dist/components/Button.js.map +1 -1
  14. package/dist/components/Button.module.scss +62 -32
  15. package/dist/components/CelebrationFx.d.ts +1 -0
  16. package/dist/components/CelebrationFx.d.ts.map +1 -1
  17. package/dist/components/CelebrationFx.js +7 -3
  18. package/dist/components/CelebrationFx.js.map +1 -1
  19. package/dist/components/ContextMenu.d.ts +1 -0
  20. package/dist/components/ContextMenu.d.ts.map +1 -1
  21. package/dist/components/ContextMenu.js +8 -4
  22. package/dist/components/ContextMenu.js.map +1 -1
  23. package/dist/components/Dialog.d.ts.map +1 -1
  24. package/dist/components/Dialog.js +99 -91
  25. package/dist/components/Dialog.js.map +1 -1
  26. package/dist/components/Dropdown.d.ts +1 -0
  27. package/dist/components/Dropdown.d.ts.map +1 -1
  28. package/dist/components/Dropdown.js +4 -2
  29. package/dist/components/Dropdown.js.map +1 -1
  30. package/dist/components/FadingLettersFx.d.ts +15 -0
  31. package/dist/components/FadingLettersFx.d.ts.map +1 -0
  32. package/dist/components/FadingLettersFx.js +27 -0
  33. package/dist/components/FadingLettersFx.js.map +1 -0
  34. package/dist/components/FadingLettersFx.module.scss +71 -0
  35. package/dist/components/HoloFx.d.ts +1 -0
  36. package/dist/components/HoloFx.d.ts.map +1 -1
  37. package/dist/components/HoloFx.js +10 -3
  38. package/dist/components/HoloFx.js.map +1 -1
  39. package/dist/components/IconButton.d.ts +5 -2
  40. package/dist/components/IconButton.d.ts.map +1 -1
  41. package/dist/components/IconButton.js +6 -4
  42. package/dist/components/IconButton.js.map +1 -1
  43. package/dist/components/IconButton.module.scss +14 -0
  44. package/dist/components/Input.d.ts +3 -1
  45. package/dist/components/Input.d.ts.map +1 -1
  46. package/dist/components/Input.js +18 -5
  47. package/dist/components/Input.js.map +1 -1
  48. package/dist/components/Input.module.scss +38 -3
  49. package/dist/components/Mask.d.ts +1 -0
  50. package/dist/components/Mask.d.ts.map +1 -1
  51. package/dist/components/Mask.js +56 -32
  52. package/dist/components/Mask.js.map +1 -1
  53. package/dist/components/MatrixFx.d.ts +1 -0
  54. package/dist/components/MatrixFx.d.ts.map +1 -1
  55. package/dist/components/MatrixFx.js +8 -1
  56. package/dist/components/MatrixFx.js.map +1 -1
  57. package/dist/components/Media.d.ts +5 -1
  58. package/dist/components/Media.d.ts.map +1 -1
  59. package/dist/components/Media.js +20 -7
  60. package/dist/components/Media.js.map +1 -1
  61. package/dist/components/Modal.d.ts +11 -0
  62. package/dist/components/Modal.d.ts.map +1 -0
  63. package/dist/components/Modal.js +72 -0
  64. package/dist/components/Modal.js.map +1 -0
  65. package/dist/components/NumberInput.d.ts.map +1 -1
  66. package/dist/components/NumberInput.js +1 -1
  67. package/dist/components/NumberInput.js.map +1 -1
  68. package/dist/components/Particle.d.ts +1 -0
  69. package/dist/components/Particle.d.ts.map +1 -1
  70. package/dist/components/Particle.js +86 -78
  71. package/dist/components/Particle.js.map +1 -1
  72. package/dist/components/ScrollContainer.d.ts +9 -0
  73. package/dist/components/ScrollContainer.d.ts.map +1 -0
  74. package/dist/components/ScrollContainer.js +67 -0
  75. package/dist/components/ScrollContainer.js.map +1 -0
  76. package/dist/components/ScrollLock.d.ts.map +1 -1
  77. package/dist/components/ScrollLock.js +4 -91
  78. package/dist/components/ScrollLock.js.map +1 -1
  79. package/dist/components/ServerFlex.d.ts.map +1 -1
  80. package/dist/components/ServerFlex.js +3 -3
  81. package/dist/components/ServerFlex.js.map +1 -1
  82. package/dist/components/ServerGrid.d.ts.map +1 -1
  83. package/dist/components/ServerGrid.js +2 -2
  84. package/dist/components/ServerGrid.js.map +1 -1
  85. package/dist/components/ShineFx.d.ts +1 -0
  86. package/dist/components/ShineFx.d.ts.map +1 -1
  87. package/dist/components/ShineFx.js +5 -2
  88. package/dist/components/ShineFx.js.map +1 -1
  89. package/dist/components/SplitView.d.ts +16 -0
  90. package/dist/components/SplitView.d.ts.map +1 -0
  91. package/dist/components/SplitView.js +80 -0
  92. package/dist/components/SplitView.js.map +1 -0
  93. package/dist/components/SplitView.module.scss +18 -0
  94. package/dist/components/StylePanel.d.ts.map +1 -1
  95. package/dist/components/StylePanel.js +10 -10
  96. package/dist/components/StylePanel.js.map +1 -1
  97. package/dist/components/Textarea.d.ts +2 -0
  98. package/dist/components/Textarea.d.ts.map +1 -1
  99. package/dist/components/Textarea.js +22 -12
  100. package/dist/components/Textarea.js.map +1 -1
  101. package/dist/components/ThemeInit.d.ts.map +1 -1
  102. package/dist/components/ThemeInit.js +39 -40
  103. package/dist/components/ThemeInit.js.map +1 -1
  104. package/dist/components/TiltFx.d.ts +1 -0
  105. package/dist/components/TiltFx.d.ts.map +1 -1
  106. package/dist/components/TiltFx.js +27 -10
  107. package/dist/components/TiltFx.js.map +1 -1
  108. package/dist/components/Timeline.d.ts +1 -1
  109. package/dist/components/Timeline.d.ts.map +1 -1
  110. package/dist/components/Timeline.js +50 -6
  111. package/dist/components/Timeline.js.map +1 -1
  112. package/dist/components/ToggleButton.d.ts +2 -1
  113. package/dist/components/ToggleButton.d.ts.map +1 -1
  114. package/dist/components/ToggleButton.js +3 -3
  115. package/dist/components/ToggleButton.js.map +1 -1
  116. package/dist/components/ToggleButton.module.scss +27 -8
  117. package/dist/components/TypeFx.d.ts.map +1 -1
  118. package/dist/components/TypeFx.js +66 -87
  119. package/dist/components/TypeFx.js.map +1 -1
  120. package/dist/components/WeatherFx.d.ts +1 -0
  121. package/dist/components/WeatherFx.d.ts.map +1 -1
  122. package/dist/components/WeatherFx.js +97 -2
  123. package/dist/components/WeatherFx.js.map +1 -1
  124. package/dist/components/index.d.ts +9 -1
  125. package/dist/components/index.d.ts.map +1 -1
  126. package/dist/components/index.js +9 -1
  127. package/dist/components/index.js.map +1 -1
  128. package/dist/css/styles.css +1 -1
  129. package/dist/css/styles.css.map +1 -1
  130. package/dist/css/tokens.css +1 -1
  131. package/dist/css/tokens.css.map +1 -1
  132. package/dist/data/emoji-data.json +0 -8
  133. package/dist/hooks/index.d.ts +2 -0
  134. package/dist/hooks/index.d.ts.map +1 -1
  135. package/dist/hooks/index.js +2 -0
  136. package/dist/hooks/index.js.map +1 -1
  137. package/dist/hooks/useInViewport.d.ts +3 -0
  138. package/dist/hooks/useInViewport.d.ts.map +1 -0
  139. package/dist/hooks/useInViewport.js +19 -0
  140. package/dist/hooks/useInViewport.js.map +1 -0
  141. package/dist/hooks/useReducedMotion.d.ts +8 -0
  142. package/dist/hooks/useReducedMotion.d.ts.map +1 -0
  143. package/dist/hooks/useReducedMotion.js +44 -0
  144. package/dist/hooks/useReducedMotion.js.map +1 -0
  145. package/dist/interfaces.d.ts +1 -0
  146. package/dist/interfaces.d.ts.map +1 -1
  147. package/dist/internal/dialogState.d.ts +17 -0
  148. package/dist/internal/dialogState.d.ts.map +1 -0
  149. package/dist/internal/dialogState.js +101 -0
  150. package/dist/internal/dialogState.js.map +1 -0
  151. package/dist/internal/scrollLockState.d.ts +15 -0
  152. package/dist/internal/scrollLockState.d.ts.map +1 -0
  153. package/dist/internal/scrollLockState.js +172 -0
  154. package/dist/internal/scrollLockState.js.map +1 -0
  155. package/dist/modules/code/CodeBlock.d.ts +3 -31
  156. package/dist/modules/code/CodeBlock.d.ts.map +1 -1
  157. package/dist/modules/code/CodeBlock.impl.d.ts +34 -0
  158. package/dist/modules/code/CodeBlock.impl.d.ts.map +1 -0
  159. package/dist/modules/code/CodeBlock.impl.js +487 -0
  160. package/dist/modules/code/CodeBlock.impl.js.map +1 -0
  161. package/dist/modules/code/CodeBlock.js +10 -483
  162. package/dist/modules/code/CodeBlock.js.map +1 -1
  163. package/dist/modules/data/BarChart.d.ts +1 -8
  164. package/dist/modules/data/BarChart.d.ts.map +1 -1
  165. package/dist/modules/data/BarChart.impl.d.ts +12 -0
  166. package/dist/modules/data/BarChart.impl.d.ts.map +1 -0
  167. package/dist/modules/data/BarChart.impl.js +137 -0
  168. package/dist/modules/data/BarChart.impl.js.map +1 -0
  169. package/dist/modules/data/BarChart.js +9 -132
  170. package/dist/modules/data/BarChart.js.map +1 -1
  171. package/dist/modules/data/DataTooltip.d.ts +2 -2
  172. package/dist/modules/data/DataTooltip.d.ts.map +1 -1
  173. package/dist/modules/data/Legend.d.ts +1 -1
  174. package/dist/modules/data/Legend.d.ts.map +1 -1
  175. package/dist/modules/data/LineBarChart.d.ts +1 -8
  176. package/dist/modules/data/LineBarChart.d.ts.map +1 -1
  177. package/dist/modules/data/LineBarChart.impl.d.ts +12 -0
  178. package/dist/modules/data/LineBarChart.impl.d.ts.map +1 -0
  179. package/dist/modules/data/LineBarChart.impl.js +142 -0
  180. package/dist/modules/data/LineBarChart.impl.js.map +1 -0
  181. package/dist/modules/data/LineBarChart.js +9 -137
  182. package/dist/modules/data/LineBarChart.js.map +1 -1
  183. package/dist/modules/data/LineChart.d.ts +1 -13
  184. package/dist/modules/data/LineChart.d.ts.map +1 -1
  185. package/dist/modules/data/LineChart.impl.d.ts +17 -0
  186. package/dist/modules/data/LineChart.impl.d.ts.map +1 -0
  187. package/dist/modules/data/LineChart.impl.js +148 -0
  188. package/dist/modules/data/LineChart.impl.js.map +1 -0
  189. package/dist/modules/data/LineChart.js +9 -143
  190. package/dist/modules/data/LineChart.js.map +1 -1
  191. package/dist/modules/data/PieChart.d.ts +4 -16
  192. package/dist/modules/data/PieChart.d.ts.map +1 -1
  193. package/dist/modules/data/PieChart.impl.d.ts +18 -0
  194. package/dist/modules/data/PieChart.impl.d.ts.map +1 -0
  195. package/dist/modules/data/PieChart.impl.js +102 -0
  196. package/dist/modules/data/PieChart.impl.js.map +1 -0
  197. package/dist/modules/data/PieChart.js +11 -97
  198. package/dist/modules/data/PieChart.js.map +1 -1
  199. package/dist/modules/media/MediaUpload.d.ts +2 -20
  200. package/dist/modules/media/MediaUpload.d.ts.map +1 -1
  201. package/dist/modules/media/MediaUpload.impl.d.ts +24 -0
  202. package/dist/modules/media/MediaUpload.impl.d.ts.map +1 -0
  203. package/dist/modules/media/MediaUpload.impl.js +92 -0
  204. package/dist/modules/media/MediaUpload.impl.js.map +1 -0
  205. package/dist/modules/media/MediaUpload.js +10 -88
  206. package/dist/modules/media/MediaUpload.js.map +1 -1
  207. package/dist/modules/navigation/Kbar.d.ts.map +1 -1
  208. package/dist/modules/navigation/Kbar.js +13 -28
  209. package/dist/modules/navigation/Kbar.js.map +1 -1
  210. package/dist/package.json +17 -6
  211. package/dist/styles/size.scss +20 -0
  212. package/dist/styles/typography.scss +8 -40
  213. package/dist/test/dialogTestUtils.d.ts +2 -0
  214. package/dist/test/dialogTestUtils.d.ts.map +1 -0
  215. package/dist/test/dialogTestUtils.js +9 -0
  216. package/dist/test/dialogTestUtils.js.map +1 -0
  217. package/dist/test/setup.d.ts +2 -0
  218. package/dist/test/setup.d.ts.map +1 -0
  219. package/dist/test/setup.js +59 -0
  220. package/dist/test/setup.js.map +1 -0
  221. package/dist/tokens/layout.scss +5 -0
  222. package/dist/utils/MissingDependency.d.ts +7 -0
  223. package/dist/utils/MissingDependency.d.ts.map +1 -0
  224. package/dist/utils/MissingDependency.js +6 -0
  225. package/dist/utils/MissingDependency.js.map +1 -0
  226. package/dist/utils/index.d.ts +1 -0
  227. package/dist/utils/index.d.ts.map +1 -1
  228. package/dist/utils/index.js +1 -0
  229. package/dist/utils/index.js.map +1 -1
  230. package/next-env.d.ts +5 -0
  231. package/package.json +135 -115
  232. package/tsconfig.vitest.json +20 -0
  233. package/vitest.config.ts +19 -0
@@ -0,0 +1,137 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useState, useEffect, useMemo, useCallback } from "react";
4
+ import { formatDate } from "./utils/formatDate";
5
+ import { BarChart as RechartsBarChart, Bar as RechartsBar, XAxis as RechartsXAxis, YAxis as RechartsYAxis, ResponsiveContainer as RechartsResponsiveContainer, CartesianGrid as RechartsCartesianGrid, Tooltip as RechartsTooltip, Legend as RechartsLegend, } from "recharts";
6
+ import { Column, Row } from "../../components";
7
+ import { getDistributedColor } from "./utils/colorDistribution";
8
+ import { LinearGradient, DataTooltip, Legend, ChartStatus, ChartHeader, } from ".";
9
+ import { useDataTheme } from "../../contexts/DataThemeProvider";
10
+ const BarChart = ({ title, description, data, series, date, emptyState, errorState, error = false, loading = false, tooltip = true, legend: legendProp = {}, axis = "both", grid = "y", border = "neutral-alpha-weak", variant: variantProp, barWidth = "l", hover = false, reverseY = false, reverseX = false, "data-viz-style": dataVizStyle, ...flex }) => {
11
+ const { variant: themeVariant, mode, height, tick: { fill: tickFill, fontSize: tickFontSize, line: tickLine }, axis: { stroke: axisLineStroke }, } = useDataTheme();
12
+ const variant = variantProp || themeVariant;
13
+ const legend = {
14
+ display: legendProp.display !== undefined ? legendProp.display : true,
15
+ position: legendProp.position || "top-left",
16
+ direction: legendProp.direction,
17
+ };
18
+ const [selectedDateRange, setSelectedDateRange] = useState(date?.start && date?.end
19
+ ? {
20
+ startDate: date.start,
21
+ endDate: date.end,
22
+ }
23
+ : undefined);
24
+ useEffect(() => {
25
+ if (date?.start && date?.end) {
26
+ setSelectedDateRange({
27
+ startDate: date.start,
28
+ endDate: date.end,
29
+ });
30
+ }
31
+ }, [date?.start, date?.end]);
32
+ const handleDateRangeChange = useCallback((newRange) => {
33
+ setSelectedDateRange(newRange);
34
+ if (date?.onChange) {
35
+ date.onChange(newRange);
36
+ }
37
+ }, [date]);
38
+ const seriesArray = Array.isArray(series) ? series : series ? [series] : [];
39
+ const seriesKeys = seriesArray.map((s) => s.key);
40
+ const chartId = React.useMemo(() => Math.random().toString(36).substring(2, 9), []);
41
+ const coloredSeriesArray = useMemo(() => seriesArray.map((s, index) => ({
42
+ ...s,
43
+ color: s.color || getDistributedColor(index, seriesArray.length),
44
+ })), [seriesArray]);
45
+ const xAxisKey = Object.keys(data[0] || {}).find((key) => !seriesKeys.includes(key)) || "name";
46
+ const autoKeys = Object.keys(data[0] || {}).filter((key) => key !== xAxisKey);
47
+ const autoSeries = seriesArray.length > 0
48
+ ? coloredSeriesArray
49
+ : autoKeys.map((key, index) => ({
50
+ key,
51
+ color: getDistributedColor(index, autoKeys.length),
52
+ }));
53
+ const barColors = autoSeries.map((s) => `var(--data-${s.color})`);
54
+ const legendContent = useCallback((props) => {
55
+ const customPayload = autoSeries.map((series, index) => ({
56
+ value: series.key,
57
+ color: barColors[index],
58
+ }));
59
+ return (_jsx(Legend, { variant: variant, payload: customPayload, labels: axis, position: legend.position, direction: legend.direction }));
60
+ }, [autoSeries, barColors, variant, axis, legend.position, legend.direction]);
61
+ const legendWrapperStyle = useMemo(() => ({
62
+ position: "absolute",
63
+ top: legend.position === "top-center" ||
64
+ legend.position === "top-left" ||
65
+ legend.position === "top-right"
66
+ ? reverseX ? 32 : 0
67
+ : undefined,
68
+ bottom: legend.position === "bottom-center" ||
69
+ legend.position === "bottom-left" ||
70
+ legend.position === "bottom-right"
71
+ ? 0
72
+ : undefined,
73
+ paddingBottom: legend.position === "bottom-center" ||
74
+ legend.position === "bottom-left" ||
75
+ legend.position === "bottom-right"
76
+ ? "var(--static-space-40)"
77
+ : undefined,
78
+ left: (axis === "y" || axis === "both") &&
79
+ (legend.position === "top-center" || legend.position === "bottom-center")
80
+ ? "var(--static-space-64)"
81
+ : 0,
82
+ width: (axis === "y" || axis === "both") &&
83
+ (legend.position === "top-center" || legend.position === "bottom-center")
84
+ ? "calc(100% - var(--static-space-64))"
85
+ : "100%",
86
+ right: 0,
87
+ margin: 0,
88
+ }), [legend.position, reverseX, axis]);
89
+ const filteredData = React.useMemo(() => {
90
+ if (!selectedDateRange || !data || data.length === 0) {
91
+ return data;
92
+ }
93
+ return data.filter((item) => {
94
+ try {
95
+ if (!item[xAxisKey] || !selectedDateRange.startDate || !selectedDateRange.endDate) {
96
+ return true;
97
+ }
98
+ const itemDate = typeof item[xAxisKey] === "string"
99
+ ? new Date(item[xAxisKey])
100
+ : item[xAxisKey];
101
+ return itemDate >= selectedDateRange.startDate && itemDate <= selectedDateRange.endDate;
102
+ }
103
+ catch (e) {
104
+ return true;
105
+ }
106
+ });
107
+ }, [data, selectedDateRange, xAxisKey]);
108
+ return (_jsxs(Column, { fillWidth: true, minHeight: height, border: border, radius: "l", "data-viz-style": dataVizStyle || mode, ...flex, children: [_jsx(ChartHeader, { title: title, description: description, dateRange: selectedDateRange, date: date, onDateRangeChange: handleDateRangeChange, presets: date?.presets }), _jsxs(Row, { fill: true, borderTop: (title || description || date?.selector) ? (border || "neutral-alpha-weak") : undefined, topRadius: flex.radius || "l", overflow: "hidden", children: [_jsx(ChartStatus, { loading: loading, empty: !filteredData || filteredData.length === 0, emptyState: emptyState, error: error, errorState: errorState }), !loading && !error && filteredData && filteredData.length > 0 && (_jsx(RechartsResponsiveContainer, { width: "100%", height: "100%", children: _jsxs(RechartsBarChart, { data: filteredData, margin: { left: 0, bottom: 0, top: 0, right: 0 }, barGap: 4, children: [_jsx(RechartsCartesianGrid, { vertical: grid === "x" || grid === "both", horizontal: grid === "y" || grid === "both", stroke: "var(--neutral-alpha-weak)" }), legend.display && (_jsx(RechartsLegend, { content: legendContent, wrapperStyle: legendWrapperStyle })), _jsx(RechartsXAxis, { dataKey: xAxisKey, axisLine: false, tickLine: tickLine, orientation: reverseX ? "top" : "bottom", tick: axis === "x" || axis === "both"
109
+ ? {
110
+ fill: tickFill,
111
+ fontSize: tickFontSize,
112
+ }
113
+ : false, tickFormatter: (value) => {
114
+ const dataPoint = data.find((item) => item[xAxisKey] === value);
115
+ return formatDate(value, date, dataPoint);
116
+ }, hide: !(axis === "x" || axis === "both") }), (axis === "y" || axis === "both") && (_jsx(RechartsYAxis, { allowDataOverflow: true, width: 64, padding: { top: 40 }, orientation: reverseY ? "right" : "left", tickLine: tickLine, tick: {
117
+ fill: tickFill,
118
+ fontSize: tickFontSize,
119
+ }, axisLine: {
120
+ stroke: axisLineStroke,
121
+ } })), tooltip && (_jsx(RechartsTooltip, { cursor: { fill: hover ? "var(--neutral-alpha-weak)" : "var(--static-transparent)" }, content: (props) => (_jsx(DataTooltip, { ...props, date: date, variant: variant })) })), _jsx("defs", { children: barColors.map((color, index) => (_jsx(LinearGradient, { id: `barGradient${chartId}${index}`, color: color, variant: variant }, `gradient-${chartId}-${index}`))) }), autoSeries.map((series, index) => (_jsx(RechartsBar, { dataKey: series.key, name: series.key, fill: `url(#barGradient${chartId}${index})`, stroke: barColors[index], strokeWidth: 1, transform: "translate(0, -1)", barSize: typeof barWidth === "string" && barWidth === "fill"
122
+ ? "100%"
123
+ : typeof barWidth === "string" && barWidth === "xs"
124
+ ? 12
125
+ : typeof barWidth === "string" && barWidth === "s"
126
+ ? 16
127
+ : typeof barWidth === "string" && barWidth === "m"
128
+ ? 24
129
+ : typeof barWidth === "string" && barWidth === "l"
130
+ ? 40
131
+ : typeof barWidth === "string" && barWidth === "xl"
132
+ ? 64
133
+ : barWidth, radius: barWidth === "fill" || barWidth === "xl" ? [10, 10, 10, 10] : [6, 6, 6, 6] }, series.key)))] }) }))] })] }));
134
+ };
135
+ BarChart.displayName = "BarChart";
136
+ export default BarChart;
137
+ //# sourceMappingURL=BarChart.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.impl.js","sourceRoot":"","sources":["../../../src/modules/data/BarChart.impl.tsx"],"names":[],"mappings":"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"}
@@ -1,137 +1,14 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useState, useEffect, useMemo, useCallback } from "react";
4
- import { formatDate } from "./utils/formatDate";
5
- import { BarChart as RechartsBarChart, Bar as RechartsBar, XAxis as RechartsXAxis, YAxis as RechartsYAxis, ResponsiveContainer as RechartsResponsiveContainer, CartesianGrid as RechartsCartesianGrid, Tooltip as RechartsTooltip, Legend as RechartsLegend, } from "recharts";
6
- import { Column, Row } from "../../components";
7
- import { getDistributedColor } from "./utils/colorDistribution";
8
- import { LinearGradient, DataTooltip, Legend, ChartStatus, ChartHeader, } from ".";
9
- import { useDataTheme } from "../../contexts/DataThemeProvider";
10
- const BarChart = ({ title, description, data, series, date, emptyState, errorState, error = false, loading = false, tooltip = true, legend: legendProp = {}, axis = "both", grid = "y", border = "neutral-alpha-weak", variant: variantProp, barWidth = "l", hover = false, reverseY = false, reverseX = false, "data-viz-style": dataVizStyle, ...flex }) => {
11
- const { variant: themeVariant, mode, height, tick: { fill: tickFill, fontSize: tickFontSize, line: tickLine }, axis: { stroke: axisLineStroke }, } = useDataTheme();
12
- const variant = variantProp || themeVariant;
13
- const legend = {
14
- display: legendProp.display !== undefined ? legendProp.display : true,
15
- position: legendProp.position || "top-left",
16
- direction: legendProp.direction,
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import React, { Suspense } from "react";
4
+ import { MissingDependency } from "../../utils/MissingDependency";
5
+ const BarChartImpl = React.lazy(() => import("./BarChart.impl").catch(() => {
6
+ console.warn('[@once-ui-system/core] <BarChart /> requires the "recharts" package. Install it with: npm install recharts');
7
+ return {
8
+ default: () => _jsx(MissingDependency, { component: "BarChart", packageName: "recharts" }),
17
9
  };
18
- const [selectedDateRange, setSelectedDateRange] = useState(date?.start && date?.end
19
- ? {
20
- startDate: date.start,
21
- endDate: date.end,
22
- }
23
- : undefined);
24
- useEffect(() => {
25
- if (date?.start && date?.end) {
26
- setSelectedDateRange({
27
- startDate: date.start,
28
- endDate: date.end,
29
- });
30
- }
31
- }, [date?.start, date?.end]);
32
- const handleDateRangeChange = useCallback((newRange) => {
33
- setSelectedDateRange(newRange);
34
- if (date?.onChange) {
35
- date.onChange(newRange);
36
- }
37
- }, [date]);
38
- const seriesArray = Array.isArray(series) ? series : series ? [series] : [];
39
- const seriesKeys = seriesArray.map((s) => s.key);
40
- const chartId = React.useMemo(() => Math.random().toString(36).substring(2, 9), []);
41
- const coloredSeriesArray = useMemo(() => seriesArray.map((s, index) => ({
42
- ...s,
43
- color: s.color || getDistributedColor(index, seriesArray.length),
44
- })), [seriesArray]);
45
- const xAxisKey = Object.keys(data[0] || {}).find((key) => !seriesKeys.includes(key)) || "name";
46
- const autoKeys = Object.keys(data[0] || {}).filter((key) => key !== xAxisKey);
47
- const autoSeries = seriesArray.length > 0
48
- ? coloredSeriesArray
49
- : autoKeys.map((key, index) => ({
50
- key,
51
- color: getDistributedColor(index, autoKeys.length),
52
- }));
53
- const barColors = autoSeries.map((s) => `var(--data-${s.color})`);
54
- const legendContent = useCallback((props) => {
55
- const customPayload = autoSeries.map((series, index) => ({
56
- value: series.key,
57
- color: barColors[index],
58
- }));
59
- return (_jsx(Legend, { variant: variant, payload: customPayload, labels: axis, position: legend.position, direction: legend.direction }));
60
- }, [autoSeries, barColors, variant, axis, legend.position, legend.direction]);
61
- const legendWrapperStyle = useMemo(() => ({
62
- position: "absolute",
63
- top: legend.position === "top-center" ||
64
- legend.position === "top-left" ||
65
- legend.position === "top-right"
66
- ? reverseX ? 32 : 0
67
- : undefined,
68
- bottom: legend.position === "bottom-center" ||
69
- legend.position === "bottom-left" ||
70
- legend.position === "bottom-right"
71
- ? 0
72
- : undefined,
73
- paddingBottom: legend.position === "bottom-center" ||
74
- legend.position === "bottom-left" ||
75
- legend.position === "bottom-right"
76
- ? "var(--static-space-40)"
77
- : undefined,
78
- left: (axis === "y" || axis === "both") &&
79
- (legend.position === "top-center" || legend.position === "bottom-center")
80
- ? "var(--static-space-64)"
81
- : 0,
82
- width: (axis === "y" || axis === "both") &&
83
- (legend.position === "top-center" || legend.position === "bottom-center")
84
- ? "calc(100% - var(--static-space-64))"
85
- : "100%",
86
- right: 0,
87
- margin: 0,
88
- }), [legend.position, reverseX, axis]);
89
- const filteredData = React.useMemo(() => {
90
- if (!selectedDateRange || !data || data.length === 0) {
91
- return data;
92
- }
93
- return data.filter((item) => {
94
- try {
95
- if (!item[xAxisKey] || !selectedDateRange.startDate || !selectedDateRange.endDate) {
96
- return true;
97
- }
98
- const itemDate = typeof item[xAxisKey] === "string"
99
- ? new Date(item[xAxisKey])
100
- : item[xAxisKey];
101
- return itemDate >= selectedDateRange.startDate && itemDate <= selectedDateRange.endDate;
102
- }
103
- catch (e) {
104
- return true;
105
- }
106
- });
107
- }, [data, selectedDateRange, xAxisKey]);
108
- return (_jsxs(Column, { fillWidth: true, minHeight: height, border: border, radius: "l", "data-viz-style": dataVizStyle || mode, ...flex, children: [_jsx(ChartHeader, { title: title, description: description, dateRange: selectedDateRange, date: date, onDateRangeChange: handleDateRangeChange, presets: date?.presets }), _jsxs(Row, { fill: true, borderTop: (title || description || date?.selector) ? (border || "neutral-alpha-weak") : undefined, topRadius: flex.radius || "l", overflow: "hidden", children: [_jsx(ChartStatus, { loading: loading, empty: !filteredData || filteredData.length === 0, emptyState: emptyState, error: error, errorState: errorState }), !loading && !error && filteredData && filteredData.length > 0 && (_jsx(RechartsResponsiveContainer, { width: "100%", height: "100%", children: _jsxs(RechartsBarChart, { data: filteredData, margin: { left: 0, bottom: 0, top: 0, right: 0 }, barGap: 4, children: [_jsx(RechartsCartesianGrid, { vertical: grid === "x" || grid === "both", horizontal: grid === "y" || grid === "both", stroke: "var(--neutral-alpha-weak)" }), legend.display && (_jsx(RechartsLegend, { content: legendContent, wrapperStyle: legendWrapperStyle })), _jsx(RechartsXAxis, { dataKey: xAxisKey, axisLine: false, tickLine: tickLine, orientation: reverseX ? "top" : "bottom", tick: axis === "x" || axis === "both"
109
- ? {
110
- fill: tickFill,
111
- fontSize: tickFontSize,
112
- }
113
- : false, tickFormatter: (value) => {
114
- const dataPoint = data.find((item) => item[xAxisKey] === value);
115
- return formatDate(value, date, dataPoint);
116
- }, hide: !(axis === "x" || axis === "both") }), (axis === "y" || axis === "both") && (_jsx(RechartsYAxis, { allowDataOverflow: true, width: 64, padding: { top: 40 }, orientation: reverseY ? "right" : "left", tickLine: tickLine, tick: {
117
- fill: tickFill,
118
- fontSize: tickFontSize,
119
- }, axisLine: {
120
- stroke: axisLineStroke,
121
- } })), tooltip && (_jsx(RechartsTooltip, { cursor: { fill: hover ? "var(--neutral-alpha-weak)" : "var(--static-transparent)" }, content: (props) => (_jsx(DataTooltip, { ...props, date: date, variant: variant })) })), _jsx("defs", { children: barColors.map((color, index) => (_jsx(LinearGradient, { id: `barGradient${chartId}${index}`, color: color, variant: variant }, `gradient-${chartId}-${index}`))) }), autoSeries.map((series, index) => (_jsx(RechartsBar, { dataKey: series.key, name: series.key, fill: `url(#barGradient${chartId}${index})`, stroke: barColors[index], strokeWidth: 1, transform: "translate(0, -1)", barSize: typeof barWidth === "string" && barWidth === "fill"
122
- ? "100%"
123
- : typeof barWidth === "string" && barWidth === "xs"
124
- ? 12
125
- : typeof barWidth === "string" && barWidth === "s"
126
- ? 16
127
- : typeof barWidth === "string" && barWidth === "m"
128
- ? 24
129
- : typeof barWidth === "string" && barWidth === "l"
130
- ? 40
131
- : typeof barWidth === "string" && barWidth === "xl"
132
- ? 64
133
- : barWidth, radius: barWidth === "fill" || barWidth === "xl" ? [10, 10, 10, 10] : [6, 6, 6, 6] }, series.key)))] }) }))] })] }));
134
- };
10
+ }));
11
+ const BarChart = (props) => (_jsx(Suspense, { fallback: null, children: _jsx(BarChartImpl, { ...props }) }));
135
12
  BarChart.displayName = "BarChart";
136
13
  export { BarChart };
137
14
  //# sourceMappingURL=BarChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../../../src/modules/data/BarChart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BarChart.js","sourceRoot":"","sources":["../../../src/modules/data/BarChart.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CACnC,MAAM,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;IACnC,OAAO,CAAC,IAAI,CACV,4GAA4G,CAC7G,CAAC;IACF,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,KAAC,iBAAiB,IAAC,SAAS,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,GAAG;KACjF,CAAC;AACJ,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,QAAQ,GAA4B,CAAC,KAAK,EAAE,EAAE,CAAC,CACnD,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACtB,KAAC,YAAY,OAAK,KAAK,GAAI,GAClB,CACZ,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -2,8 +2,8 @@ import React from "react";
2
2
  import { ChartVariant, DateConfig } from "./interfaces";
3
3
  interface DataTooltipProps {
4
4
  active?: boolean;
5
- payload?: any[];
6
- label?: string;
5
+ payload?: readonly any[];
6
+ label?: string | number;
7
7
  dataKey?: string;
8
8
  DataTooltip?: React.ReactNode;
9
9
  date?: DateConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTooltip.d.ts","sourceRoot":"","sources":["../../../src/modules/data/DataTooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExD,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyD3C,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"DataTooltip.d.ts","sourceRoot":"","sources":["../../../src/modules/data/DataTooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExD,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyD3C,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { ChartVariant } from "./interfaces";
3
3
  interface LegendProps {
4
- payload?: any[];
4
+ payload?: readonly any[];
5
5
  labels?: "x" | "y" | "both" | "none";
6
6
  colors?: string[];
7
7
  reverseY?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../src/modules/data/Legend.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EACL,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAiGjC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../src/modules/data/Legend.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EACL,UAAU,GACV,WAAW,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAiGjC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1,12 +1,5 @@
1
1
  import React from "react";
2
- import { ChartProps, barWidth, curveType } from ".";
3
- interface LineBarChartProps extends ChartProps {
4
- barWidth?: barWidth;
5
- curve?: curveType;
6
- reverseY?: boolean;
7
- reverseX?: boolean;
8
- "data-viz-style"?: string;
9
- }
2
+ import type { LineBarChartProps } from "./LineBarChart.impl";
10
3
  declare const LineBarChart: React.FC<LineBarChartProps>;
11
4
  export { LineBarChart };
12
5
  export type { LineBarChartProps };
@@ -1 +1 @@
1
- {"version":3,"file":"LineBarChart.d.ts","sourceRoot":"","sources":["../../../src/modules/data/LineBarChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAezE,OAAO,EAML,UAAU,EAGV,QAAQ,EACR,SAAS,EACV,MAAM,GAAG,CAAC;AAIX,UAAU,iBAAkB,SAAQ,UAAU;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqT7C,CAAC;AAIF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"LineBarChart.d.ts","sourceRoot":"","sources":["../../../src/modules/data/LineBarChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAa7D,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAI7C,CAAC;AAIF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { ChartProps, barWidth, curveType } from ".";
3
+ export interface LineBarChartProps extends ChartProps {
4
+ barWidth?: barWidth;
5
+ curve?: curveType;
6
+ reverseY?: boolean;
7
+ reverseX?: boolean;
8
+ "data-viz-style"?: string;
9
+ }
10
+ declare const LineBarChart: React.FC<LineBarChartProps>;
11
+ export default LineBarChart;
12
+ //# sourceMappingURL=LineBarChart.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineBarChart.impl.d.ts","sourceRoot":"","sources":["../../../src/modules/data/LineBarChart.impl.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAezE,OAAO,EAML,UAAU,EAGV,QAAQ,EACR,SAAS,EACV,MAAM,GAAG,CAAC;AAIX,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqT7C,CAAC;AAIF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,142 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useState, useEffect, useMemo, useCallback } from "react";
4
+ import { isWithinInterval, parseISO } from "date-fns";
5
+ import { formatDate } from "./utils/formatDate";
6
+ import { ComposedChart as RechartsComposedChart, Bar as RechartsBar, XAxis as RechartsXAxis, YAxis as RechartsYAxis, CartesianGrid as RechartsCartesianGrid, Tooltip as RechartsTooltip, ResponsiveContainer as RechartsResponsiveContainer, Legend as RechartsLegend, Area as RechartsArea, } from "recharts";
7
+ import { Column, Row } from "../../components";
8
+ import { LinearGradient, ChartHeader, DataTooltip, Legend, ChartStatus, } from ".";
9
+ import { useDataTheme } from "../../contexts/DataThemeProvider";
10
+ const LineBarChart = ({ title, description, data, series, date, emptyState, errorState, error = false, loading = false, tooltip = true, legend: legendProp = {}, grid = "y", axis = "both", border = "neutral-alpha-weak", variant: variantProp, barWidth = "l", curve = "natural", reverseY = false, reverseX = false, "data-viz-style": dataVizStyle, ...flex }) => {
11
+ const { variant: themeVariant, mode, height, tick: { fill: tickFill, fontSize: tickFontSize, line: tickLine }, axis: { stroke: axisLineStroke }, } = useDataTheme();
12
+ const variant = variantProp || themeVariant;
13
+ const legend = {
14
+ display: legendProp.display !== undefined ? legendProp.display : true,
15
+ position: legendProp.position || "top-left",
16
+ direction: legendProp.direction,
17
+ };
18
+ const [selectedDateRange, setSelectedDateRange] = useState(date?.start && date?.end
19
+ ? {
20
+ startDate: date.start,
21
+ endDate: date.end,
22
+ }
23
+ : undefined);
24
+ useEffect(() => {
25
+ if (date?.start && date?.end) {
26
+ setSelectedDateRange({
27
+ startDate: date.start,
28
+ endDate: date.end,
29
+ });
30
+ }
31
+ }, [date?.start, date?.end]);
32
+ const allSeriesArray = Array.isArray(series) ? series : series ? [series] : [];
33
+ const seriesKeys = allSeriesArray.map((s) => s.key);
34
+ const xAxisKey = Object.keys(data[0] || {}).find((key) => !seriesKeys.includes(key)) || "name";
35
+ const filteredData = React.useMemo(() => {
36
+ if (selectedDateRange?.startDate && selectedDateRange?.endDate && xAxisKey) {
37
+ const startDate = selectedDateRange.startDate;
38
+ const endDate = selectedDateRange.endDate;
39
+ if (startDate instanceof Date && endDate instanceof Date) {
40
+ return data.filter((item) => {
41
+ try {
42
+ const itemDateValue = item[xAxisKey];
43
+ if (!itemDateValue)
44
+ return false;
45
+ const itemDate = typeof itemDateValue === "string" ? parseISO(itemDateValue) : itemDateValue;
46
+ return isWithinInterval(itemDate, {
47
+ start: startDate,
48
+ end: endDate,
49
+ });
50
+ }
51
+ catch (error) {
52
+ return false;
53
+ }
54
+ });
55
+ }
56
+ }
57
+ return data;
58
+ }, [data, selectedDateRange, xAxisKey]);
59
+ const handleDateRangeChange = useCallback((newRange) => {
60
+ setSelectedDateRange(newRange);
61
+ if (date?.onChange) {
62
+ date.onChange(newRange);
63
+ }
64
+ }, [date]);
65
+ const chartSeriesArray = Array.isArray(series) ? series : series ? [series] : [];
66
+ if (chartSeriesArray.length < 2) {
67
+ console.warn("LineBarChart requires at least 2 series (one for line, one for bar)");
68
+ }
69
+ const lineSeries = chartSeriesArray[0] || { key: "value1", color: "blue" };
70
+ const barSeries = chartSeriesArray[1] || { key: "value2", color: "green" };
71
+ const lineColor = lineSeries.color || "blue";
72
+ const barColor = barSeries.color || "green";
73
+ const finalLineColor = `var(--data-${lineColor})`;
74
+ const finalBarColor = `var(--data-${barColor})`;
75
+ const legendContent = useMemo(() => (_jsx(Legend, { variant: variant, colors: [finalLineColor, finalBarColor], labels: axis, position: legend.position, direction: legend.direction })), [variant, finalLineColor, finalBarColor, axis, legend.position, legend.direction]);
76
+ const legendWrapperStyle = useMemo(() => ({
77
+ position: "absolute",
78
+ top: legend.position === "top-center" ||
79
+ legend.position === "top-left" ||
80
+ legend.position === "top-right"
81
+ ? reverseX ? 32 : 0
82
+ : undefined,
83
+ bottom: legend.position === "bottom-center" ||
84
+ legend.position === "bottom-left" ||
85
+ legend.position === "bottom-right"
86
+ ? 0
87
+ : undefined,
88
+ paddingBottom: legend.position === "bottom-center" ||
89
+ legend.position === "bottom-left" ||
90
+ legend.position === "bottom-right"
91
+ ? "var(--static-space-40)"
92
+ : undefined,
93
+ left: (axis === "y" || axis === "both") &&
94
+ (legend.position === "top-center" || legend.position === "bottom-center")
95
+ ? "var(--static-space-64)"
96
+ : 0,
97
+ width: (axis === "y" || axis === "both") &&
98
+ (legend.position === "top-center" || legend.position === "bottom-center")
99
+ ? "calc(100% - var(--static-space-64))"
100
+ : "100%",
101
+ right: 0,
102
+ margin: 0,
103
+ }), [legend.position, reverseX, axis]);
104
+ const chartId = React.useMemo(() => Math.random().toString(36).substring(2, 9), []);
105
+ return (_jsxs(Column, { fillWidth: true, height: height, border: border, radius: "l", "data-viz-style": dataVizStyle || mode, ...flex, children: [_jsx(ChartHeader, { title: title, description: description, dateRange: selectedDateRange, date: date, onDateRangeChange: handleDateRangeChange, presets: date?.presets }), _jsxs(Row, { fill: true, borderTop: (title || description || date?.selector) ? (border || "neutral-alpha-weak") : undefined, topRadius: flex.radius || "l", overflow: "hidden", children: [_jsx(ChartStatus, { loading: loading, empty: !filteredData || filteredData.length === 0, emptyState: emptyState, error: error, errorState: errorState }), !loading && !error && filteredData && filteredData.length > 0 && (_jsx(RechartsResponsiveContainer, { width: "100%", height: "100%", children: _jsxs(RechartsComposedChart, { data: filteredData, margin: { left: 0, bottom: 0, top: 0, right: 0 }, barGap: 4, children: [_jsxs("defs", { children: [_jsx(LinearGradient, { id: `barGradient${chartId}`, color: finalBarColor, variant: variant }), _jsx(LinearGradient, { id: `lineGradient${chartId}`, color: finalLineColor, variant: variant })] }), _jsx(RechartsCartesianGrid, { vertical: grid === "x" || grid === "both", horizontal: grid === "y" || grid === "both", stroke: "var(--neutral-alpha-weak)" }), legend.display && (_jsx(RechartsLegend, { content: legendContent, wrapperStyle: legendWrapperStyle })), _jsx(RechartsXAxis, { height: 32, tickMargin: 6, dataKey: xAxisKey, hide: !(axis === "x" || axis === "both"), orientation: reverseX ? "top" : "bottom", axisLine: {
106
+ stroke: axisLineStroke,
107
+ }, tickLine: tickLine, tick: {
108
+ fill: tickFill,
109
+ fontSize: tickFontSize,
110
+ }, tickFormatter: (value) => {
111
+ const dataPoint = data.find((item) => item[xAxisKey] === value);
112
+ return formatDate(value, date, dataPoint);
113
+ } }), (axis === "y" || axis === "both") && (_jsx(RechartsYAxis, { width: 64, padding: { top: 40 }, allowDataOverflow: true, orientation: reverseY ? "right" : "left", tickLine: tickLine, tick: {
114
+ fill: tickFill,
115
+ fontSize: tickFontSize,
116
+ }, axisLine: {
117
+ stroke: axisLineStroke,
118
+ } })), tooltip && (_jsx(RechartsTooltip, { cursor: {
119
+ stroke: "var(--neutral-border-strong)",
120
+ strokeWidth: 1,
121
+ }, content: (props) => (_jsx(DataTooltip, { ...props, variant: variant, date: date, dataKey: xAxisKey })) })), _jsx(RechartsArea, { type: curve, dataKey: lineSeries.key, name: lineSeries.key, stroke: finalLineColor, transform: "translate(0, -1)", fill: `url(#lineGradient${chartId})`, activeDot: {
122
+ r: 4,
123
+ fill: finalLineColor,
124
+ stroke: "var(--background)",
125
+ strokeWidth: 0,
126
+ } }), _jsx(RechartsBar, { dataKey: barSeries.key, name: barSeries.key, fill: `url(#barGradient${chartId})`, stroke: finalBarColor, strokeWidth: 1, transform: "translate(0, -1)", radius: [4, 4, 4, 4], barSize: barWidth === "fill"
127
+ ? "100%"
128
+ : barWidth === "xs"
129
+ ? 6
130
+ : barWidth === "s"
131
+ ? 12
132
+ : barWidth === "m"
133
+ ? 20
134
+ : barWidth === "l"
135
+ ? 40
136
+ : barWidth === "xl"
137
+ ? 50
138
+ : barWidth })] }) }))] })] }));
139
+ };
140
+ LineBarChart.displayName = "LineBarChart";
141
+ export default LineBarChart;
142
+ //# sourceMappingURL=LineBarChart.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineBarChart.impl.js","sourceRoot":"","sources":["../../../src/modules/data/LineBarChart.impl.tsx"],"names":[],"mappings":"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"}