@zentauri-ui/zentauri-components 1.8.1 → 1.8.2

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 (156) hide show
  1. package/README.md +21 -10
  2. package/cli/registry.json +10 -0
  3. package/dist/charts/area.js +9 -10
  4. package/dist/charts/area.js.map +1 -1
  5. package/dist/charts/area.mjs +2 -3
  6. package/dist/charts/area.mjs.map +1 -1
  7. package/dist/charts/bar.js +10 -95
  8. package/dist/charts/bar.js.map +1 -1
  9. package/dist/charts/bar.mjs +2 -95
  10. package/dist/charts/bar.mjs.map +1 -1
  11. package/dist/charts/bubble.js +8 -9
  12. package/dist/charts/bubble.js.map +1 -1
  13. package/dist/charts/bubble.mjs +2 -3
  14. package/dist/charts/bubble.mjs.map +1 -1
  15. package/dist/charts/funnel/Funnel.d.ts +6 -0
  16. package/dist/charts/funnel/Funnel.d.ts.map +1 -0
  17. package/dist/charts/funnel/index.d.ts +4 -0
  18. package/dist/charts/funnel/index.d.ts.map +1 -0
  19. package/dist/charts/funnel.js +102 -0
  20. package/dist/charts/funnel.js.map +1 -0
  21. package/dist/charts/funnel.mjs +89 -0
  22. package/dist/charts/funnel.mjs.map +1 -0
  23. package/dist/charts/line.js +8 -9
  24. package/dist/charts/line.js.map +1 -1
  25. package/dist/charts/line.mjs +2 -3
  26. package/dist/charts/line.mjs.map +1 -1
  27. package/dist/charts/pie/Pie.d.ts +1 -1
  28. package/dist/charts/pie/Pie.d.ts.map +1 -1
  29. package/dist/charts/pie.js +19 -6
  30. package/dist/charts/pie.js.map +1 -1
  31. package/dist/charts/pie.mjs +17 -4
  32. package/dist/charts/pie.mjs.map +1 -1
  33. package/dist/charts/radar/Radar.d.ts +6 -0
  34. package/dist/charts/radar/Radar.d.ts.map +1 -0
  35. package/dist/charts/radar/index.d.ts +4 -0
  36. package/dist/charts/radar/index.d.ts.map +1 -0
  37. package/dist/charts/radar.js +94 -0
  38. package/dist/charts/radar.js.map +1 -0
  39. package/dist/charts/radar.mjs +81 -0
  40. package/dist/charts/radar.mjs.map +1 -0
  41. package/dist/charts/scatter/Scatter.d.ts +6 -0
  42. package/dist/charts/scatter/Scatter.d.ts.map +1 -0
  43. package/dist/charts/scatter/index.d.ts +4 -0
  44. package/dist/charts/scatter/index.d.ts.map +1 -0
  45. package/dist/charts/scatter.js +116 -0
  46. package/dist/charts/scatter.js.map +1 -0
  47. package/dist/charts/scatter.mjs +103 -0
  48. package/dist/charts/scatter.mjs.map +1 -0
  49. package/dist/charts/shared/chart-frame.d.ts +2 -1
  50. package/dist/charts/shared/chart-frame.d.ts.map +1 -1
  51. package/dist/charts/shared/types.d.ts +22 -2
  52. package/dist/charts/shared/types.d.ts.map +1 -1
  53. package/dist/charts/stacked-bar/StackedBar.d.ts +6 -0
  54. package/dist/charts/stacked-bar/StackedBar.d.ts.map +1 -0
  55. package/dist/charts/stacked-bar/index.d.ts +4 -0
  56. package/dist/charts/stacked-bar/index.d.ts.map +1 -0
  57. package/dist/charts/stacked-bar.js +29 -0
  58. package/dist/charts/stacked-bar.js.map +1 -0
  59. package/dist/charts/stacked-bar.mjs +15 -0
  60. package/dist/charts/stacked-bar.mjs.map +1 -0
  61. package/dist/chunk-F3V4POW3.mjs +8 -0
  62. package/dist/chunk-F3V4POW3.mjs.map +1 -0
  63. package/dist/{chunk-G2WARVAM.mjs → chunk-HZIRD3SR.mjs} +35 -15
  64. package/dist/chunk-HZIRD3SR.mjs.map +1 -0
  65. package/dist/{chunk-G66SXATZ.js → chunk-IL4LH2XX.js} +50 -4
  66. package/dist/chunk-IL4LH2XX.js.map +1 -0
  67. package/dist/chunk-LREMK2XR.js +97 -0
  68. package/dist/chunk-LREMK2XR.js.map +1 -0
  69. package/dist/chunk-O2KM3ETC.mjs +95 -0
  70. package/dist/chunk-O2KM3ETC.mjs.map +1 -0
  71. package/dist/{chunk-ZIFMIS7D.mjs → chunk-OL3BJSRC.mjs} +51 -5
  72. package/dist/chunk-OL3BJSRC.mjs.map +1 -0
  73. package/dist/{chunk-QNUDODDX.js → chunk-PWPMKXEG.js} +36 -14
  74. package/dist/chunk-PWPMKXEG.js.map +1 -0
  75. package/dist/chunk-XRM7GOIE.js +10 -0
  76. package/dist/chunk-XRM7GOIE.js.map +1 -0
  77. package/dist/hooks/index.d.ts +2 -0
  78. package/dist/hooks/index.d.ts.map +1 -1
  79. package/dist/hooks/useIsomorphicLayoutEffect.js +6 -4
  80. package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -1
  81. package/dist/hooks/useIsomorphicLayoutEffect.mjs +1 -6
  82. package/dist/hooks/useIsomorphicLayoutEffect.mjs.map +1 -1
  83. package/dist/hooks/useTableFilter/index.d.ts +3 -0
  84. package/dist/hooks/useTableFilter/index.d.ts.map +1 -0
  85. package/dist/hooks/useTableFilter/types.d.ts +20 -0
  86. package/dist/hooks/useTableFilter/types.d.ts.map +1 -0
  87. package/dist/hooks/useTableFilter/useTableFilter.d.ts +3 -0
  88. package/dist/hooks/useTableFilter/useTableFilter.d.ts.map +1 -0
  89. package/dist/hooks/useTableFilter.js +124 -0
  90. package/dist/hooks/useTableFilter.js.map +1 -0
  91. package/dist/hooks/useTableFilter.mjs +122 -0
  92. package/dist/hooks/useTableFilter.mjs.map +1 -0
  93. package/dist/hooks/useTableSort/index.d.ts +3 -0
  94. package/dist/hooks/useTableSort/index.d.ts.map +1 -0
  95. package/dist/hooks/useTableSort/types.d.ts +15 -0
  96. package/dist/hooks/useTableSort/types.d.ts.map +1 -0
  97. package/dist/hooks/useTableSort/useTableSort.d.ts +3 -0
  98. package/dist/hooks/useTableSort/useTableSort.d.ts.map +1 -0
  99. package/dist/hooks/useTableSort.js +99 -0
  100. package/dist/hooks/useTableSort.js.map +1 -0
  101. package/dist/hooks/useTableSort.mjs +97 -0
  102. package/dist/hooks/useTableSort.mjs.map +1 -0
  103. package/dist/ui/marquee/marquee.d.ts.map +1 -1
  104. package/dist/ui/marquee.js +82 -21
  105. package/dist/ui/marquee.js.map +1 -1
  106. package/dist/ui/marquee.mjs +83 -22
  107. package/dist/ui/marquee.mjs.map +1 -1
  108. package/dist/ui/table/animated.js +8 -8
  109. package/dist/ui/table/animated.mjs +2 -2
  110. package/dist/ui/table/index.d.ts +1 -1
  111. package/dist/ui/table/index.d.ts.map +1 -1
  112. package/dist/ui/table/table-base.d.ts +2 -2
  113. package/dist/ui/table/table-base.d.ts.map +1 -1
  114. package/dist/ui/table/types.d.ts +9 -1
  115. package/dist/ui/table/types.d.ts.map +1 -1
  116. package/dist/ui/table.js +14 -14
  117. package/dist/ui/table.mjs +1 -1
  118. package/package.json +1 -1
  119. package/src/charts/charts.test.tsx +80 -0
  120. package/src/charts/funnel/Funnel.tsx +105 -0
  121. package/src/charts/funnel/index.ts +14 -0
  122. package/src/charts/pie/Pie.tsx +28 -1
  123. package/src/charts/radar/Radar.tsx +84 -0
  124. package/src/charts/radar/index.ts +16 -0
  125. package/src/charts/scatter/Scatter.tsx +104 -0
  126. package/src/charts/scatter/index.ts +16 -0
  127. package/src/charts/shared/chart-frame.tsx +4 -2
  128. package/src/charts/shared/types.ts +42 -2
  129. package/src/charts/stacked-bar/StackedBar.tsx +12 -0
  130. package/src/charts/stacked-bar/index.ts +16 -0
  131. package/src/hooks/index.ts +12 -0
  132. package/src/hooks/useTableFilter/index.ts +7 -0
  133. package/src/hooks/useTableFilter/types.ts +28 -0
  134. package/src/hooks/useTableFilter/useTableFilter.test.ts +141 -0
  135. package/src/hooks/useTableFilter/useTableFilter.ts +153 -0
  136. package/src/hooks/useTableSort/index.ts +5 -0
  137. package/src/hooks/useTableSort/types.ts +23 -0
  138. package/src/hooks/useTableSort/useTableSort.test.ts +150 -0
  139. package/src/hooks/useTableSort/useTableSort.ts +121 -0
  140. package/src/ui/divider/divider.test.tsx +55 -0
  141. package/src/ui/empty-state/empty-state.test.tsx +88 -0
  142. package/src/ui/marquee/marquee.test.tsx +45 -4
  143. package/src/ui/marquee/marquee.tsx +100 -18
  144. package/src/ui/skeleton/skeleton.test.tsx +85 -0
  145. package/src/ui/table/index.ts +3 -0
  146. package/src/ui/table/table-base.tsx +69 -4
  147. package/src/ui/table/table.test.tsx +207 -0
  148. package/src/ui/table/types.ts +13 -1
  149. package/dist/chunk-G2WARVAM.mjs.map +0 -1
  150. package/dist/chunk-G66SXATZ.js.map +0 -1
  151. package/dist/chunk-OULU7OC4.mjs +0 -21
  152. package/dist/chunk-OULU7OC4.mjs.map +0 -1
  153. package/dist/chunk-QNUDODDX.js.map +0 -1
  154. package/dist/chunk-Z6S36PDD.js +0 -24
  155. package/dist/chunk-Z6S36PDD.js.map +0 -1
  156. package/dist/chunk-ZIFMIS7D.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"bubble.mjs","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"bubble.mjs","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
@@ -0,0 +1,6 @@
1
+ import type { FunnelChartProps } from "../shared/types";
2
+ export declare function FunnelChart<TDatum extends Record<string, number | string | null | undefined>>({ appearance, className, colorKey, containerStyle, data, dataKey, density, emptyState, fill, height, label, nameKey, showLegend, showTooltip, stroke, style, tooltipColor, ...props }: FunnelChartProps<TDatum>): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace FunnelChart {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=Funnel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Funnel.d.ts","sourceRoot":"","sources":["../../../src/charts/funnel/Funnel.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,WAAW,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,QAA2C,EAC3C,cAAc,EACd,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAiB,EACjB,IAAI,EACJ,MAAY,EACZ,KAAY,EACZ,OAAO,EACP,UAAkB,EAClB,WAAkB,EAClB,MAAkB,EAClB,KAAK,EACL,YAAwB,EACxB,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAiE1B;yBAtFe,WAAW"}
@@ -0,0 +1,4 @@
1
+ export { FunnelChart } from "./Funnel";
2
+ export type { ChartColor, ChartDatum, ChartSharedStatic, FunnelChartProps, } from "../shared/types";
3
+ export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/funnel/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EACV,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,102 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkPWPMKXEG_js = require('../chunk-PWPMKXEG.js');
5
+ require('../chunk-W3QRRWQX.js');
6
+ require('../chunk-ZS5756ZC.js');
7
+ var recharts = require('recharts');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ function FunnelChart({
11
+ appearance,
12
+ className,
13
+ colorKey = "color",
14
+ containerStyle,
15
+ data,
16
+ dataKey,
17
+ density,
18
+ emptyState = null,
19
+ fill,
20
+ height = 320,
21
+ label = true,
22
+ nameKey,
23
+ showLegend = false,
24
+ showTooltip = true,
25
+ stroke = "#ffffff",
26
+ style,
27
+ tooltipColor = "#0f172a",
28
+ ...props
29
+ }) {
30
+ const hasData = data.length > 0;
31
+ const renderDefaultShape = (shapeProps) => {
32
+ const payload = shapeProps.payload;
33
+ const dataIndex = typeof shapeProps.index === "number" && shapeProps.index >= 0 ? shapeProps.index : payload ? data.indexOf(payload) : -1;
34
+ const datumColor = payload?.[colorKey];
35
+ const color = chunkPWPMKXEG_js.resolveColor(
36
+ typeof datumColor === "string" ? datumColor : typeof fill === "string" ? fill : void 0,
37
+ dataIndex >= 0 ? dataIndex : 0
38
+ );
39
+ return /* @__PURE__ */ jsxRuntime.jsx(recharts.Trapezoid, { ...shapeProps, fill: color.fill, stroke });
40
+ };
41
+ return /* @__PURE__ */ jsxRuntime.jsx(
42
+ chunkPWPMKXEG_js.ChartFrame,
43
+ {
44
+ appearance,
45
+ className,
46
+ containerStyle,
47
+ density,
48
+ emptyState,
49
+ hasData,
50
+ height,
51
+ style,
52
+ ...props,
53
+ children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.FunnelChart, { children: [
54
+ showTooltip ? /* @__PURE__ */ jsxRuntime.jsx(
55
+ recharts.Tooltip,
56
+ {
57
+ contentStyle: { color: tooltipColor },
58
+ labelStyle: { color: tooltipColor },
59
+ itemStyle: { color: tooltipColor }
60
+ }
61
+ ) : null,
62
+ showLegend ? /* @__PURE__ */ jsxRuntime.jsx(recharts.Legend, {}) : null,
63
+ /* @__PURE__ */ jsxRuntime.jsx(
64
+ recharts.Funnel,
65
+ {
66
+ data,
67
+ dataKey: String(dataKey),
68
+ nameKey: String(nameKey),
69
+ shape: renderDefaultShape,
70
+ children: label ? /* @__PURE__ */ jsxRuntime.jsx(
71
+ recharts.LabelList,
72
+ {
73
+ dataKey: String(nameKey),
74
+ position: "right",
75
+ fill: "currentColor",
76
+ stroke: "none",
77
+ fontSize: 12
78
+ }
79
+ ) : null
80
+ }
81
+ )
82
+ ] })
83
+ }
84
+ );
85
+ }
86
+ FunnelChart.displayName = "FunnelChart";
87
+
88
+ Object.defineProperty(exports, "chartColorValues", {
89
+ enumerable: true,
90
+ get: function () { return chunkPWPMKXEG_js.chartColorValues; }
91
+ });
92
+ Object.defineProperty(exports, "chartPalette", {
93
+ enumerable: true,
94
+ get: function () { return chunkPWPMKXEG_js.chartPalette; }
95
+ });
96
+ Object.defineProperty(exports, "chartVariants", {
97
+ enumerable: true,
98
+ get: function () { return chunkPWPMKXEG_js.chartVariants; }
99
+ });
100
+ exports.FunnelChart = FunnelChart;
101
+ //# sourceMappingURL=funnel.js.map
102
+ //# sourceMappingURL=funnel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/charts/funnel/Funnel.tsx"],"names":["resolveColor","Trapezoid","jsx","ChartFrame","RechartsFunnelChart","Tooltip","Legend","Funnel","LabelList"],"mappings":";;;;;;;;AAgBO,SAAS,WAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA,GAAW,OAAA;AAAA,EACX,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,IAAA;AAAA,EACA,MAAA,GAAS,GAAA;AAAA,EACT,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,MAAA,GAAS,SAAA;AAAA,EACT,KAAA;AAAA,EACA,YAAA,GAAe,SAAA;AAAA,EACf,GAAG;AACL,CAAA,EAA6B;AAC3B,EAAA,MAAM,OAAA,GAAU,KAAK,MAAA,GAAS,CAAA;AAC9B,EAAA,MAAM,kBAAA,GAAqB,CACzB,UAAA,KACG;AACH,IAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAC3B,IAAA,MAAM,SAAA,GACJ,OAAO,UAAA,CAAW,KAAA,KAAU,YAAY,UAAA,CAAW,KAAA,IAAS,CAAA,GACxD,UAAA,CAAW,KAAA,GACX,OAAA,GACE,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAA,GACpB,EAAA;AACR,IAAA,MAAM,UAAA,GAAa,UAAU,QAAQ,CAAA;AACrC,IAAA,MAAM,KAAA,GAAQA,6BAAA;AAAA,MACZ,OAAO,UAAA,KAAe,QAAA,GAClB,aACA,OAAO,IAAA,KAAS,WACd,IAAA,GACA,MAAA;AAAA,MACN,SAAA,IAAa,IAAI,SAAA,GAAY;AAAA,KAC/B;AAEA,IAAA,sCAAQC,kBAAA,EAAA,EAAW,GAAG,YAAY,IAAA,EAAM,KAAA,CAAM,MAAM,MAAA,EAAgB,CAAA;AAAA,EACtE,CAAA;AAEA,EAAA,uBACEC,cAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,0CAACC,oBAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,WAAA,mBACCF,cAAA;AAAA,UAACG,gBAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAc,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YACpC,UAAA,EAAY,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YAClC,SAAA,EAAW,EAAE,KAAA,EAAO,YAAA;AAAa;AAAA,SACnC,GACE,IAAA;AAAA,QACH,UAAA,mBAAaH,cAAA,CAACI,eAAA,EAAA,EAAO,CAAA,GAAK,IAAA;AAAA,wBAC3BJ,cAAA;AAAA,UAACK,eAAA;AAAA,UAAA;AAAA,YACC,IAAA;AAAA,YACA,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,KAAA,EAAO,kBAAA;AAAA,YAEN,QAAA,EAAA,KAAA,mBACCL,cAAA;AAAA,cAACM,kBAAA;AAAA,cAAA;AAAA,gBACC,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,gBACvB,QAAA,EAAS,OAAA;AAAA,gBACT,IAAA,EAAK,cAAA;AAAA,gBACL,MAAA,EAAO,MAAA;AAAA,gBACP,QAAA,EAAU;AAAA;AAAA,aACZ,GACE;AAAA;AAAA;AACN,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"funnel.js","sourcesContent":["\"use client\";\n\nimport {\n Funnel,\n FunnelChart as RechartsFunnelChart,\n FunnelTrapezoidItem,\n LabelList,\n Legend,\n Tooltip,\n Trapezoid,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { FunnelChartProps } from \"../shared/types\";\n\nexport function FunnelChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n colorKey = \"color\" as keyof TDatum & string,\n containerStyle,\n data,\n dataKey,\n density,\n emptyState = null,\n fill,\n height = 320,\n label = true,\n nameKey,\n showLegend = false,\n showTooltip = true,\n stroke = \"#ffffff\",\n style,\n tooltipColor = \"#0f172a\",\n ...props\n}: FunnelChartProps<TDatum>) {\n const hasData = data.length > 0;\n const renderDefaultShape = (\n shapeProps: FunnelTrapezoidItem & { index?: number },\n ) => {\n const payload = shapeProps.payload as TDatum | undefined;\n const dataIndex =\n typeof shapeProps.index === \"number\" && shapeProps.index >= 0\n ? shapeProps.index\n : payload\n ? data.indexOf(payload)\n : -1;\n const datumColor = payload?.[colorKey];\n const color = resolveColor(\n typeof datumColor === \"string\"\n ? datumColor\n : typeof fill === \"string\"\n ? fill\n : undefined,\n dataIndex >= 0 ? dataIndex : 0,\n );\n\n return <Trapezoid {...shapeProps} fill={color.fill} stroke={stroke} />;\n };\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsFunnelChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n <Funnel\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n shape={renderDefaultShape}\n >\n {label ? (\n <LabelList\n dataKey={String(nameKey)}\n position=\"right\"\n fill=\"currentColor\"\n stroke=\"none\"\n fontSize={12}\n />\n ) : null}\n </Funnel>\n </RechartsFunnelChart>\n </ChartFrame>\n );\n}\n\nFunnelChart.displayName = \"FunnelChart\";\n"]}
@@ -0,0 +1,89 @@
1
+ "use client";
2
+ import { ChartFrame, resolveColor } from '../chunk-HZIRD3SR.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-HZIRD3SR.mjs';
4
+ import '../chunk-FXYPRPAT.mjs';
5
+ import '../chunk-4D54YOL6.mjs';
6
+ import { FunnelChart as FunnelChart$1, Tooltip, Legend, Funnel, LabelList, Trapezoid } from 'recharts';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+
9
+ function FunnelChart({
10
+ appearance,
11
+ className,
12
+ colorKey = "color",
13
+ containerStyle,
14
+ data,
15
+ dataKey,
16
+ density,
17
+ emptyState = null,
18
+ fill,
19
+ height = 320,
20
+ label = true,
21
+ nameKey,
22
+ showLegend = false,
23
+ showTooltip = true,
24
+ stroke = "#ffffff",
25
+ style,
26
+ tooltipColor = "#0f172a",
27
+ ...props
28
+ }) {
29
+ const hasData = data.length > 0;
30
+ const renderDefaultShape = (shapeProps) => {
31
+ const payload = shapeProps.payload;
32
+ const dataIndex = typeof shapeProps.index === "number" && shapeProps.index >= 0 ? shapeProps.index : payload ? data.indexOf(payload) : -1;
33
+ const datumColor = payload?.[colorKey];
34
+ const color = resolveColor(
35
+ typeof datumColor === "string" ? datumColor : typeof fill === "string" ? fill : void 0,
36
+ dataIndex >= 0 ? dataIndex : 0
37
+ );
38
+ return /* @__PURE__ */ jsx(Trapezoid, { ...shapeProps, fill: color.fill, stroke });
39
+ };
40
+ return /* @__PURE__ */ jsx(
41
+ ChartFrame,
42
+ {
43
+ appearance,
44
+ className,
45
+ containerStyle,
46
+ density,
47
+ emptyState,
48
+ hasData,
49
+ height,
50
+ style,
51
+ ...props,
52
+ children: /* @__PURE__ */ jsxs(FunnelChart$1, { children: [
53
+ showTooltip ? /* @__PURE__ */ jsx(
54
+ Tooltip,
55
+ {
56
+ contentStyle: { color: tooltipColor },
57
+ labelStyle: { color: tooltipColor },
58
+ itemStyle: { color: tooltipColor }
59
+ }
60
+ ) : null,
61
+ showLegend ? /* @__PURE__ */ jsx(Legend, {}) : null,
62
+ /* @__PURE__ */ jsx(
63
+ Funnel,
64
+ {
65
+ data,
66
+ dataKey: String(dataKey),
67
+ nameKey: String(nameKey),
68
+ shape: renderDefaultShape,
69
+ children: label ? /* @__PURE__ */ jsx(
70
+ LabelList,
71
+ {
72
+ dataKey: String(nameKey),
73
+ position: "right",
74
+ fill: "currentColor",
75
+ stroke: "none",
76
+ fontSize: 12
77
+ }
78
+ ) : null
79
+ }
80
+ )
81
+ ] })
82
+ }
83
+ );
84
+ }
85
+ FunnelChart.displayName = "FunnelChart";
86
+
87
+ export { FunnelChart };
88
+ //# sourceMappingURL=funnel.mjs.map
89
+ //# sourceMappingURL=funnel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/charts/funnel/Funnel.tsx"],"names":["RechartsFunnelChart"],"mappings":";;;;;;;AAgBO,SAAS,WAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA,GAAW,OAAA;AAAA,EACX,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,IAAA;AAAA,EACA,MAAA,GAAS,GAAA;AAAA,EACT,KAAA,GAAQ,IAAA;AAAA,EACR,OAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,MAAA,GAAS,SAAA;AAAA,EACT,KAAA;AAAA,EACA,YAAA,GAAe,SAAA;AAAA,EACf,GAAG;AACL,CAAA,EAA6B;AAC3B,EAAA,MAAM,OAAA,GAAU,KAAK,MAAA,GAAS,CAAA;AAC9B,EAAA,MAAM,kBAAA,GAAqB,CACzB,UAAA,KACG;AACH,IAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAC3B,IAAA,MAAM,SAAA,GACJ,OAAO,UAAA,CAAW,KAAA,KAAU,YAAY,UAAA,CAAW,KAAA,IAAS,CAAA,GACxD,UAAA,CAAW,KAAA,GACX,OAAA,GACE,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAA,GACpB,EAAA;AACR,IAAA,MAAM,UAAA,GAAa,UAAU,QAAQ,CAAA;AACrC,IAAA,MAAM,KAAA,GAAQ,YAAA;AAAA,MACZ,OAAO,UAAA,KAAe,QAAA,GAClB,aACA,OAAO,IAAA,KAAS,WACd,IAAA,GACA,MAAA;AAAA,MACN,SAAA,IAAa,IAAI,SAAA,GAAY;AAAA,KAC/B;AAEA,IAAA,2BAAQ,SAAA,EAAA,EAAW,GAAG,YAAY,IAAA,EAAM,KAAA,CAAM,MAAM,MAAA,EAAgB,CAAA;AAAA,EACtE,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,+BAACA,aAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,WAAA,mBACC,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAc,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YACpC,UAAA,EAAY,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,YAClC,SAAA,EAAW,EAAE,KAAA,EAAO,YAAA;AAAa;AAAA,SACnC,GACE,IAAA;AAAA,QACH,UAAA,mBAAa,GAAA,CAAC,MAAA,EAAA,EAAO,CAAA,GAAK,IAAA;AAAA,wBAC3B,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAA;AAAA,YACA,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,YACvB,KAAA,EAAO,kBAAA;AAAA,YAEN,QAAA,EAAA,KAAA,mBACC,GAAA;AAAA,cAAC,SAAA;AAAA,cAAA;AAAA,gBACC,OAAA,EAAS,OAAO,OAAO,CAAA;AAAA,gBACvB,QAAA,EAAS,OAAA;AAAA,gBACT,IAAA,EAAK,cAAA;AAAA,gBACL,MAAA,EAAO,MAAA;AAAA,gBACP,QAAA,EAAU;AAAA;AAAA,aACZ,GACE;AAAA;AAAA;AACN,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"funnel.mjs","sourcesContent":["\"use client\";\n\nimport {\n Funnel,\n FunnelChart as RechartsFunnelChart,\n FunnelTrapezoidItem,\n LabelList,\n Legend,\n Tooltip,\n Trapezoid,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { FunnelChartProps } from \"../shared/types\";\n\nexport function FunnelChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n colorKey = \"color\" as keyof TDatum & string,\n containerStyle,\n data,\n dataKey,\n density,\n emptyState = null,\n fill,\n height = 320,\n label = true,\n nameKey,\n showLegend = false,\n showTooltip = true,\n stroke = \"#ffffff\",\n style,\n tooltipColor = \"#0f172a\",\n ...props\n}: FunnelChartProps<TDatum>) {\n const hasData = data.length > 0;\n const renderDefaultShape = (\n shapeProps: FunnelTrapezoidItem & { index?: number },\n ) => {\n const payload = shapeProps.payload as TDatum | undefined;\n const dataIndex =\n typeof shapeProps.index === \"number\" && shapeProps.index >= 0\n ? shapeProps.index\n : payload\n ? data.indexOf(payload)\n : -1;\n const datumColor = payload?.[colorKey];\n const color = resolveColor(\n typeof datumColor === \"string\"\n ? datumColor\n : typeof fill === \"string\"\n ? fill\n : undefined,\n dataIndex >= 0 ? dataIndex : 0,\n );\n\n return <Trapezoid {...shapeProps} fill={color.fill} stroke={stroke} />;\n };\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsFunnelChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n <Funnel\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n shape={renderDefaultShape}\n >\n {label ? (\n <LabelList\n dataKey={String(nameKey)}\n position=\"right\"\n fill=\"currentColor\"\n stroke=\"none\"\n fontSize={12}\n />\n ) : null}\n </Funnel>\n </RechartsFunnelChart>\n </ChartFrame>\n );\n}\n\nFunnelChart.displayName = \"FunnelChart\";\n"]}
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkZ6S36PDD_js = require('../chunk-Z6S36PDD.js');
5
- var chunkQNUDODDX_js = require('../chunk-QNUDODDX.js');
4
+ var chunkPWPMKXEG_js = require('../chunk-PWPMKXEG.js');
6
5
  require('../chunk-W3QRRWQX.js');
7
6
  require('../chunk-ZS5756ZC.js');
8
7
  var recharts = require('recharts');
@@ -16,7 +15,7 @@ function LineChart({
16
15
  density,
17
16
  emptyState = null,
18
17
  height = 320,
19
- margin = chunkQNUDODDX_js.defaultChartMargin,
18
+ margin = chunkPWPMKXEG_js.defaultChartMargin,
20
19
  series,
21
20
  showGrid = true,
22
21
  showLegend = false,
@@ -31,7 +30,7 @@ function LineChart({
31
30
  const hasData = data.length > 0 && series.length > 0;
32
31
  const xAxisKey = String(xKey);
33
32
  return /* @__PURE__ */ jsxRuntime.jsx(
34
- chunkQNUDODDX_js.ChartFrame,
33
+ chunkPWPMKXEG_js.ChartFrame,
35
34
  {
36
35
  appearance,
37
36
  className,
@@ -44,7 +43,7 @@ function LineChart({
44
43
  ...props,
45
44
  children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.LineChart, { data, margin, syncId, children: [
46
45
  /* @__PURE__ */ jsxRuntime.jsx(
47
- chunkQNUDODDX_js.ChartDecorators,
46
+ chunkPWPMKXEG_js.ChartDecorators,
48
47
  {
49
48
  axis: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
50
49
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -76,7 +75,7 @@ function LineChart({
76
75
  }
77
76
  ),
78
77
  series.map((item, index) => {
79
- const color = chunkZ6S36PDD_js.resolveColor(item.color, index);
78
+ const color = chunkPWPMKXEG_js.resolveColor(item.color, index);
80
79
  return /* @__PURE__ */ jsxRuntime.jsx(
81
80
  recharts.Line,
82
81
  {
@@ -100,15 +99,15 @@ LineChart.displayName = "LineChart";
100
99
 
101
100
  Object.defineProperty(exports, "chartColorValues", {
102
101
  enumerable: true,
103
- get: function () { return chunkQNUDODDX_js.chartColorValues; }
102
+ get: function () { return chunkPWPMKXEG_js.chartColorValues; }
104
103
  });
105
104
  Object.defineProperty(exports, "chartPalette", {
106
105
  enumerable: true,
107
- get: function () { return chunkQNUDODDX_js.chartPalette; }
106
+ get: function () { return chunkPWPMKXEG_js.chartPalette; }
108
107
  });
109
108
  Object.defineProperty(exports, "chartVariants", {
110
109
  enumerable: true,
111
- get: function () { return chunkQNUDODDX_js.chartVariants; }
110
+ get: function () { return chunkPWPMKXEG_js.chartVariants; }
112
111
  });
113
112
  exports.LineChart = LineChart;
114
113
  //# sourceMappingURL=line.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/line/Line.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsLineChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Line"],"mappings":";;;;;;;;;AAYO,SAAS,SAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,MAAA,GAASA,mCAAA;AAAA,EACT,MAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,KAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,OAAO,MAAA,GAAS,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,OAAO,IAAI,CAAA;AAE5B,EAAA,uBACEC,cAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAC,eAAA,CAACC,kBAAA,EAAA,EAAkB,IAAA,EAAY,MAAA,EAAgB,MAAA,EAC7C,QAAA,EAAA;AAAA,wBAAAH,cAAA;AAAA,UAACI,gCAAA;AAAA,UAAA;AAAA,YACC,sBACEF,eAAA,CAAAG,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAAL,cAAA;AAAA,gBAACM,cAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,QAAA;AAAA,kBACT,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA,eACZ;AAAA,8BACAN,cAAA;AAAA,gBAACO,cAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,EAAA;AAAA,kBACP,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,CAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA;AACZ,aAAA,EACF,CAAA;AAAA,YAEF,QAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,QACC,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAC3B,UAAA,MAAM,KAAA,GAAQC,6BAAA,CAAa,IAAA,CAAK,KAAA,EAAO,KAAK,CAAA;AAC5C,UAAA,uBACER,cAAA;AAAA,YAACS,aAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,UAAA;AAAA,cACL,SAAS,IAAA,CAAK,OAAA;AAAA,cACd,MAAM,IAAA,CAAK,IAAA;AAAA,cACX,QAAQ,KAAA,CAAM,MAAA;AAAA,cACd,WAAA,EAAa,CAAA;AAAA,cACb,GAAA,EAAK,KAAA;AAAA,cACL,SAAA,EAAW,EAAE,CAAA,EAAG,CAAA,EAAE;AAAA,cAClB,iBAAiB,eAAA,IAAmB;AAAA,aAAA;AAAA,YAR/B,IAAA,CAAK;AAAA,WASZ;AAAA,QAEJ,CAAC;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"line.js","sourcesContent":["\"use client\";\n\nimport { Line, LineChart as RechartsLineChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { LineChartProps } from \"../shared/types\";\n\nexport function LineChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n strokeDasharray,\n ...props\n}: LineChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsLineChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Line\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stroke={color.stroke}\n strokeWidth={2}\n dot={false}\n activeDot={{ r: 5 }}\n strokeDasharray={strokeDasharray ?? undefined}\n />\n );\n })}\n </RechartsLineChart>\n </ChartFrame>\n );\n}\n\nLineChart.displayName = \"LineChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/line/Line.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsLineChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Line"],"mappings":";;;;;;;;AAYO,SAAS,SAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,MAAA,GAASA,mCAAA;AAAA,EACT,MAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,KAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,OAAO,MAAA,GAAS,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,OAAO,IAAI,CAAA;AAE5B,EAAA,uBACEC,cAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAC,eAAA,CAACC,kBAAA,EAAA,EAAkB,IAAA,EAAY,MAAA,EAAgB,MAAA,EAC7C,QAAA,EAAA;AAAA,wBAAAH,cAAA;AAAA,UAACI,gCAAA;AAAA,UAAA;AAAA,YACC,sBACEF,eAAA,CAAAG,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAAL,cAAA;AAAA,gBAACM,cAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,QAAA;AAAA,kBACT,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA,eACZ;AAAA,8BACAN,cAAA;AAAA,gBAACO,cAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,EAAA;AAAA,kBACP,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,CAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA;AACZ,aAAA,EACF,CAAA;AAAA,YAEF,QAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,QACC,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAC3B,UAAA,MAAM,KAAA,GAAQC,6BAAA,CAAa,IAAA,CAAK,KAAA,EAAO,KAAK,CAAA;AAC5C,UAAA,uBACER,cAAA;AAAA,YAACS,aAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,UAAA;AAAA,cACL,SAAS,IAAA,CAAK,OAAA;AAAA,cACd,MAAM,IAAA,CAAK,IAAA;AAAA,cACX,QAAQ,KAAA,CAAM,MAAA;AAAA,cACd,WAAA,EAAa,CAAA;AAAA,cACb,GAAA,EAAK,KAAA;AAAA,cACL,SAAA,EAAW,EAAE,CAAA,EAAG,CAAA,EAAE;AAAA,cAClB,iBAAiB,eAAA,IAAmB;AAAA,aAAA;AAAA,YAR/B,IAAA,CAAK;AAAA,WASZ;AAAA,QAEJ,CAAC;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"line.js","sourcesContent":["\"use client\";\n\nimport { Line, LineChart as RechartsLineChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { LineChartProps } from \"../shared/types\";\n\nexport function LineChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n strokeDasharray,\n ...props\n}: LineChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsLineChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Line\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stroke={color.stroke}\n strokeWidth={2}\n dot={false}\n activeDot={{ r: 5 }}\n strokeDasharray={strokeDasharray ?? undefined}\n />\n );\n })}\n </RechartsLineChart>\n </ChartFrame>\n );\n}\n\nLineChart.displayName = \"LineChart\";\n"]}
@@ -1,7 +1,6 @@
1
1
  "use client";
2
- import { resolveColor } from '../chunk-OULU7OC4.mjs';
3
- import { ChartFrame, defaultChartMargin, ChartDecorators } from '../chunk-G2WARVAM.mjs';
4
- export { chartColorValues, chartPalette, chartVariants } from '../chunk-G2WARVAM.mjs';
2
+ import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-HZIRD3SR.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-HZIRD3SR.mjs';
5
4
  import '../chunk-FXYPRPAT.mjs';
6
5
  import '../chunk-4D54YOL6.mjs';
7
6
  import { LineChart as LineChart$1, XAxis, YAxis, Line } from 'recharts';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/line/Line.tsx"],"names":["RechartsLineChart"],"mappings":";;;;;;;;AAYO,SAAS,SAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,MAAA,GAAS,kBAAA;AAAA,EACT,MAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,KAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,OAAO,MAAA,GAAS,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,OAAO,IAAI,CAAA;AAE5B,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,IAAA,CAACA,WAAA,EAAA,EAAkB,IAAA,EAAY,MAAA,EAAgB,MAAA,EAC7C,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,sBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,QAAA;AAAA,kBACT,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA,eACZ;AAAA,8BACA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,EAAA;AAAA,kBACP,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,CAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA;AACZ,aAAA,EACF,CAAA;AAAA,YAEF,QAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,QACC,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAC3B,UAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,IAAA,CAAK,KAAA,EAAO,KAAK,CAAA;AAC5C,UAAA,uBACE,GAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,UAAA;AAAA,cACL,SAAS,IAAA,CAAK,OAAA;AAAA,cACd,MAAM,IAAA,CAAK,IAAA;AAAA,cACX,QAAQ,KAAA,CAAM,MAAA;AAAA,cACd,WAAA,EAAa,CAAA;AAAA,cACb,GAAA,EAAK,KAAA;AAAA,cACL,SAAA,EAAW,EAAE,CAAA,EAAG,CAAA,EAAE;AAAA,cAClB,iBAAiB,eAAA,IAAmB;AAAA,aAAA;AAAA,YAR/B,IAAA,CAAK;AAAA,WASZ;AAAA,QAEJ,CAAC;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"line.mjs","sourcesContent":["\"use client\";\n\nimport { Line, LineChart as RechartsLineChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { LineChartProps } from \"../shared/types\";\n\nexport function LineChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n strokeDasharray,\n ...props\n}: LineChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsLineChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Line\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stroke={color.stroke}\n strokeWidth={2}\n dot={false}\n activeDot={{ r: 5 }}\n strokeDasharray={strokeDasharray ?? undefined}\n />\n );\n })}\n </RechartsLineChart>\n </ChartFrame>\n );\n}\n\nLineChart.displayName = \"LineChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/line/Line.tsx"],"names":["RechartsLineChart"],"mappings":";;;;;;;AAYO,SAAS,SAAA,CAEd;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,MAAA,GAAS,kBAAA;AAAA,EACT,MAAA;AAAA,EACA,QAAA,GAAW,IAAA;AAAA,EACX,UAAA,GAAa,KAAA;AAAA,EACb,WAAA,GAAc,IAAA;AAAA,EACd,YAAA,GAAe,SAAA;AAAA,EACf,KAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,OAAO,MAAA,GAAS,CAAA;AACnD,EAAA,MAAM,QAAA,GAAW,OAAO,IAAI,CAAA;AAE5B,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,IAAA,CAACA,WAAA,EAAA,EAAkB,IAAA,EAAY,MAAA,EAAgB,MAAA,EAC7C,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,eAAA;AAAA,UAAA;AAAA,YACC,sBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,QAAA;AAAA,kBACT,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,EAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA,eACZ;AAAA,8BACA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,KAAA,EAAO,EAAA;AAAA,kBACP,QAAA,EAAU,KAAA;AAAA,kBACV,UAAA,EAAY,CAAA;AAAA,kBACZ,QAAA,EAAU,KAAA;AAAA,kBACV,QAAA,EAAU;AAAA;AAAA;AACZ,aAAA,EACF,CAAA;AAAA,YAEF,QAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,QACC,MAAA,CAAO,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAC3B,UAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,IAAA,CAAK,KAAA,EAAO,KAAK,CAAA;AAC5C,UAAA,uBACE,GAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cAEC,IAAA,EAAK,UAAA;AAAA,cACL,SAAS,IAAA,CAAK,OAAA;AAAA,cACd,MAAM,IAAA,CAAK,IAAA;AAAA,cACX,QAAQ,KAAA,CAAM,MAAA;AAAA,cACd,WAAA,EAAa,CAAA;AAAA,cACb,GAAA,EAAK,KAAA;AAAA,cACL,SAAA,EAAW,EAAE,CAAA,EAAG,CAAA,EAAE;AAAA,cAClB,iBAAiB,eAAA,IAAmB;AAAA,aAAA;AAAA,YAR/B,IAAA,CAAK;AAAA,WASZ;AAAA,QAEJ,CAAC;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA","file":"line.mjs","sourcesContent":["\"use client\";\n\nimport { Line, LineChart as RechartsLineChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { LineChartProps } from \"../shared/types\";\n\nexport function LineChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n strokeDasharray,\n ...props\n}: LineChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsLineChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Line\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stroke={color.stroke}\n strokeWidth={2}\n dot={false}\n activeDot={{ r: 5 }}\n strokeDasharray={strokeDasharray ?? undefined}\n />\n );\n })}\n </RechartsLineChart>\n </ChartFrame>\n );\n}\n\nLineChart.displayName = \"LineChart\";\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { PieChartProps } from "../shared/types";
2
- export declare function PieChart<TDatum extends Record<string, number | string | null | undefined>>({ appearance, className, containerStyle, cornerRadius, data, dataKey, density, emptyState, height, label, labelLine, labelColor, nameKey, paddingAngle, showLegend, showTooltip, tooltipColor, stroke, fill, innerRadius, outerRadius, shape, style, ...props }: PieChartProps<TDatum>): import("react/jsx-runtime").JSX.Element;
2
+ export declare function PieChart<TDatum extends Record<string, number | string | null | undefined>>({ appearance, className, containerStyle, cornerRadius, center, data, dataKey, colorKey, density, emptyState, height, label, labelLine, labelColor, nameKey, paddingAngle, showLegend, showTooltip, tooltipColor, stroke, fill, innerRadius, outerRadius, shape, style, ...props }: PieChartProps<TDatum>): import("react/jsx-runtime").JSX.Element;
3
3
  export declare namespace PieChart {
4
4
  var displayName: string;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmCrD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAiB,EACjB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,KAAa,EACb,SAAiB,EACjB,UAAoB,EACpB,OAAO,EACP,YAAgB,EAChB,UAAiB,EACjB,WAAkB,EAClB,YAAwB,EACxB,MAAkB,EAClB,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,MAAM,CAAC,2CA8CvB;yBAzEe,QAAQ"}
1
+ {"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmCrD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAiB,EACjB,MAAM,EACN,IAAI,EACJ,OAAO,EACP,QAA2C,EAC3C,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,KAAa,EACb,SAAiB,EACjB,UAAoB,EACpB,OAAO,EACP,YAAgB,EAChB,UAAiB,EACjB,WAAkB,EAClB,YAAwB,EACxB,MAAkB,EAClB,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,MAAM,CAAC,2CAoEvB;yBAjGe,QAAQ"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkQNUDODDX_js = require('../chunk-QNUDODDX.js');
4
+ var chunkPWPMKXEG_js = require('../chunk-PWPMKXEG.js');
5
5
  require('../chunk-W3QRRWQX.js');
6
6
  require('../chunk-ZS5756ZC.js');
7
7
  var recharts = require('recharts');
@@ -42,8 +42,10 @@ function PieChart({
42
42
  className,
43
43
  containerStyle,
44
44
  cornerRadius = 10,
45
+ center,
45
46
  data,
46
47
  dataKey,
48
+ colorKey = "color",
47
49
  density,
48
50
  emptyState = null,
49
51
  height = 320,
@@ -64,8 +66,18 @@ function PieChart({
64
66
  ...props
65
67
  }) {
66
68
  const hasData = data.length > 0;
69
+ const renderDefaultShape = (props2, index) => {
70
+ const payload = props2.payload;
71
+ const shapeDatum = props2;
72
+ const datumColor = payload?.[colorKey] ?? shapeDatum[colorKey];
73
+ const color = chunkPWPMKXEG_js.resolveColor(
74
+ typeof datumColor === "string" ? datumColor : typeof fill === "string" ? fill : void 0,
75
+ typeof index === "number" ? index : props2.index
76
+ );
77
+ return /* @__PURE__ */ jsxRuntime.jsx(recharts.Sector, { ...props2, fill: color.fill, stroke });
78
+ };
67
79
  return /* @__PURE__ */ jsxRuntime.jsx(
68
- chunkQNUDODDX_js.ChartFrame,
80
+ chunkPWPMKXEG_js.ChartFrame,
69
81
  {
70
82
  appearance,
71
83
  className,
@@ -74,6 +86,7 @@ function PieChart({
74
86
  emptyState,
75
87
  hasData,
76
88
  height,
89
+ overlay: center ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center text-center", children: center }) : null,
77
90
  style,
78
91
  ...props,
79
92
  children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.PieChart, { children: [
@@ -100,7 +113,7 @@ function PieChart({
100
113
  label: label ? (props2) => renderCustomizedLabel({ ...props2, fill: labelColor }) : void 0,
101
114
  stroke,
102
115
  fill,
103
- shape
116
+ shape: shape ?? renderDefaultShape
104
117
  }
105
118
  )
106
119
  ] })
@@ -111,15 +124,15 @@ PieChart.displayName = "PieChart";
111
124
 
112
125
  Object.defineProperty(exports, "chartColorValues", {
113
126
  enumerable: true,
114
- get: function () { return chunkQNUDODDX_js.chartColorValues; }
127
+ get: function () { return chunkPWPMKXEG_js.chartColorValues; }
115
128
  });
116
129
  Object.defineProperty(exports, "chartPalette", {
117
130
  enumerable: true,
118
- get: function () { return chunkQNUDODDX_js.chartPalette; }
131
+ get: function () { return chunkPWPMKXEG_js.chartPalette; }
119
132
  });
120
133
  Object.defineProperty(exports, "chartVariants", {
121
134
  enumerable: true,
122
- get: function () { return chunkQNUDODDX_js.chartVariants; }
135
+ get: function () { return chunkPWPMKXEG_js.chartVariants; }
123
136
  });
124
137
  exports.PieChart = PieChart;
125
138
  //# sourceMappingURL=pie.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie","props"],"mappings":"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","file":"pie.js","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","props","resolveColor","Sector","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie"],"mappings":"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","file":"pie.js","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieSectorShapeProps,\n PieChart as RechartsPieChart,\n Sector,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n center,\n data,\n dataKey,\n colorKey = \"color\" as keyof TDatum & string,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n const renderDefaultShape = (props: PieSectorShapeProps, index: number) => {\n const payload = props.payload as TDatum | undefined;\n const shapeDatum = props as unknown as TDatum;\n const datumColor = payload?.[colorKey] ?? shapeDatum[colorKey];\n const color = resolveColor(\n typeof datumColor === \"string\"\n ? datumColor\n : typeof fill === \"string\"\n ? fill\n : undefined,\n typeof index === \"number\" ? index : props.index,\n );\n\n return <Sector {...props} fill={color.fill} stroke={stroke} />;\n };\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n overlay={\n center ? (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center text-center\">\n {center}\n </div>\n ) : null\n }\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape ?? renderDefaultShape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { ChartFrame } from '../chunk-G2WARVAM.mjs';
3
- export { chartColorValues, chartPalette, chartVariants } from '../chunk-G2WARVAM.mjs';
2
+ import { ChartFrame, resolveColor } from '../chunk-HZIRD3SR.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-HZIRD3SR.mjs';
4
4
  import '../chunk-FXYPRPAT.mjs';
5
5
  import '../chunk-4D54YOL6.mjs';
6
- import { PieChart as PieChart$1, Tooltip, Legend, Pie } from 'recharts';
6
+ import { PieChart as PieChart$1, Tooltip, Legend, Pie, Sector } from 'recharts';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
8
 
9
9
  var RADIAN = Math.PI / 180;
@@ -41,8 +41,10 @@ function PieChart({
41
41
  className,
42
42
  containerStyle,
43
43
  cornerRadius = 10,
44
+ center,
44
45
  data,
45
46
  dataKey,
47
+ colorKey = "color",
46
48
  density,
47
49
  emptyState = null,
48
50
  height = 320,
@@ -63,6 +65,16 @@ function PieChart({
63
65
  ...props
64
66
  }) {
65
67
  const hasData = data.length > 0;
68
+ const renderDefaultShape = (props2, index) => {
69
+ const payload = props2.payload;
70
+ const shapeDatum = props2;
71
+ const datumColor = payload?.[colorKey] ?? shapeDatum[colorKey];
72
+ const color = resolveColor(
73
+ typeof datumColor === "string" ? datumColor : typeof fill === "string" ? fill : void 0,
74
+ typeof index === "number" ? index : props2.index
75
+ );
76
+ return /* @__PURE__ */ jsx(Sector, { ...props2, fill: color.fill, stroke });
77
+ };
66
78
  return /* @__PURE__ */ jsx(
67
79
  ChartFrame,
68
80
  {
@@ -73,6 +85,7 @@ function PieChart({
73
85
  emptyState,
74
86
  hasData,
75
87
  height,
88
+ overlay: center ? /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center text-center", children: center }) : null,
76
89
  style,
77
90
  ...props,
78
91
  children: /* @__PURE__ */ jsxs(PieChart$1, { children: [
@@ -99,7 +112,7 @@ function PieChart({
99
112
  label: label ? (props2) => renderCustomizedLabel({ ...props2, fill: labelColor }) : void 0,
100
113
  stroke,
101
114
  fill,
102
- shape
115
+ shape: shape ?? renderDefaultShape
103
116
  }
104
117
  )
105
118
  ] })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["RechartsPieChart","props"],"mappings":"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","file":"pie.mjs","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["props","RechartsPieChart"],"mappings":"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","file":"pie.mjs","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieSectorShapeProps,\n PieChart as RechartsPieChart,\n Sector,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n center,\n data,\n dataKey,\n colorKey = \"color\" as keyof TDatum & string,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n const renderDefaultShape = (props: PieSectorShapeProps, index: number) => {\n const payload = props.payload as TDatum | undefined;\n const shapeDatum = props as unknown as TDatum;\n const datumColor = payload?.[colorKey] ?? shapeDatum[colorKey];\n const color = resolveColor(\n typeof datumColor === \"string\"\n ? datumColor\n : typeof fill === \"string\"\n ? fill\n : undefined,\n typeof index === \"number\" ? index : props.index,\n );\n\n return <Sector {...props} fill={color.fill} stroke={stroke} />;\n };\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n overlay={\n center ? (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center text-center\">\n {center}\n </div>\n ) : null\n }\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape ?? renderDefaultShape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
@@ -0,0 +1,6 @@
1
+ import type { RadarChartProps } from "../shared/types";
2
+ export declare function RadarChart<TDatum extends Record<string, number | string | null | undefined>>({ appearance, className, containerStyle, data, density, emptyState, height, series, showGrid, showLegend, showTooltip, tooltipColor, style, xKey, ...props }: RadarChartProps<TDatum>): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace RadarChart {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=Radar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radar.d.ts","sourceRoot":"","sources":["../../../src/charts/radar/Radar.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,wBAAgB,UAAU,CACxB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,MAAM,CAAC,2CA+CzB;yBAjEe,UAAU"}
@@ -0,0 +1,4 @@
1
+ export { RadarChart } from "./Radar";
2
+ export type { ChartColor, ChartDatum, ChartMargin, ChartSeries, ChartSharedStatic, RadarChartProps, } from "../shared/types";
3
+ export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/radar/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}