@zentauri-ui/zentauri-components 1.5.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +1 -2
  2. package/dist/charts/area/Area.d.ts.map +1 -1
  3. package/dist/charts/area/index.d.ts +1 -1
  4. package/dist/charts/area/index.d.ts.map +1 -1
  5. package/dist/charts/area.js +9 -10
  6. package/dist/charts/area.js.map +1 -1
  7. package/dist/charts/area.mjs +2 -3
  8. package/dist/charts/area.mjs.map +1 -1
  9. package/dist/charts/bar/index.d.ts +1 -1
  10. package/dist/charts/bar/index.d.ts.map +1 -1
  11. package/dist/charts/bar.js +8 -8
  12. package/dist/charts/bar.mjs +2 -2
  13. package/dist/charts/bubble/Bubble.d.ts.map +1 -1
  14. package/dist/charts/bubble/index.d.ts +1 -1
  15. package/dist/charts/bubble/index.d.ts.map +1 -1
  16. package/dist/charts/bubble.js +11 -18
  17. package/dist/charts/bubble.js.map +1 -1
  18. package/dist/charts/bubble.mjs +6 -13
  19. package/dist/charts/bubble.mjs.map +1 -1
  20. package/dist/charts/line/index.d.ts +1 -1
  21. package/dist/charts/line/index.d.ts.map +1 -1
  22. package/dist/charts/line.js +8 -8
  23. package/dist/charts/line.mjs +2 -2
  24. package/dist/charts/shared/chart-frame.d.ts +0 -3
  25. package/dist/charts/shared/chart-frame.d.ts.map +1 -1
  26. package/dist/{chunk-CIN5JDN4.js → chunk-4E4XKJNR.js} +24 -4
  27. package/dist/chunk-4E4XKJNR.js.map +1 -0
  28. package/dist/{chunk-IQZROQNJ.mjs → chunk-7I44JVWY.mjs} +24 -4
  29. package/dist/chunk-7I44JVWY.mjs.map +1 -0
  30. package/dist/ui/buttons/variants.d.ts +1 -1
  31. package/dist/ui/pagination/pagination.d.ts +1 -1
  32. package/dist/ui/pagination/variants.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/src/charts/area/Area.tsx +0 -1
  35. package/src/charts/area/index.ts +8 -1
  36. package/src/charts/bar/index.ts +8 -1
  37. package/src/charts/bubble/Bubble.tsx +3 -10
  38. package/src/charts/bubble/index.ts +8 -1
  39. package/src/charts/line/index.ts +8 -1
  40. package/src/charts/shared/chart-frame.tsx +27 -5
  41. package/dist/chunk-CIN5JDN4.js.map +0 -1
  42. package/dist/chunk-IQZROQNJ.mjs.map +0 -1
package/README.md CHANGED
@@ -480,8 +480,7 @@ From this package directory in the monorepo:
480
480
  - `pnpm build` (or `npm run build`) — production bundle via `tsup` (Rollup treeshake + `scripts/prepend-use-client.mjs` via `onSuccess` so each UI entry under `dist/ui/`, the chart entry under `dist/charts/`, and `dist/ui/<name>/animated.*` starts with `"use client"` where needed)
481
481
  - `pnpm dev` — `tsup` watch mode (same `onSuccess` hook after each rebuild)
482
482
  - `pnpm test` / `pnpm test:watch` — **Vitest** and **Testing Library** unit tests // covered 300+ test cases in total
483
- - **`pnpm run generate:registry`** — runs `scripts/generate-registry.mjs`, which reads **`uiComponentNames`** and **`hooksEntryNames`** from `tsup.config.ts`, merges in **`spinner`**, applies fixed **`nameAliases`**, and writes **`cli/registry.json`** (`components` + `hooks`). Run this after adding or renaming UI/chart areas or hook entries so the CLI stays in sync (the script prints counts).
484
- - **`prepack`** — invokes `generate:registry` automatically before `npm pack` / publish so the published tarball always ships an up-to-date registry alongside `cli/index.mjs`.
483
+ **`pnpm run generate:registry`** — runs `scripts/generate-registry.mjs`, which reads **`uiComponentNames`**, **`chartEntryNames`**, and **`hooksEntryNames`** from `tsup.config.ts`, merges in **`spinner`**, applies fixed **`nameAliases`**, and writes **`cli/registry.json`** (`components` + `hooks`). Run this after adding or renaming UI/chart areas or hook entries so the CLI stays in sync (the script prints counts).
485
484
 
486
485
  ## Github Release log
487
486
 
@@ -1 +1 @@
1
- {"version":3,"file":"Area.d.ts","sourceRoot":"","sources":["../../../src/charts/area/Area.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wBAAgB,SAAS,CACvB,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,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,OAAe,EACf,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,MAAM,CAAC,2CAmExB;yBAxFe,SAAS"}
1
+ {"version":3,"file":"Area.d.ts","sourceRoot":"","sources":["../../../src/charts/area/Area.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,wBAAgB,SAAS,CACvB,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,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,OAAe,EACf,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,MAAM,CAAC,2CAkExB;yBAvFe,SAAS"}
@@ -1,4 +1,4 @@
1
1
  export { AreaChart } from "./Area";
2
- export type { AreaChartProps } from "../shared/types";
2
+ export type { AreaChartProps, ChartColor, ChartDatum, ChartMargin, ChartSeries, ChartSharedStatic, } from "../shared/types";
3
3
  export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/area/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/area/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkCIN5JDN4_js = require('../chunk-CIN5JDN4.js');
4
+ var chunk4E4XKJNR_js = require('../chunk-4E4XKJNR.js');
5
5
  require('../chunk-ZS5756ZC.js');
6
6
  var recharts = require('recharts');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -14,7 +14,7 @@ function AreaChart({
14
14
  density,
15
15
  emptyState = null,
16
16
  height = 320,
17
- margin = chunkCIN5JDN4_js.defaultChartMargin,
17
+ margin = chunk4E4XKJNR_js.defaultChartMargin,
18
18
  series,
19
19
  showGrid = true,
20
20
  showLegend = false,
@@ -29,7 +29,7 @@ function AreaChart({
29
29
  const hasData = data.length > 0 && series.length > 0;
30
30
  const xAxisKey = String(xKey);
31
31
  return /* @__PURE__ */ jsxRuntime.jsx(
32
- chunkCIN5JDN4_js.ChartFrame,
32
+ chunk4E4XKJNR_js.ChartFrame,
33
33
  {
34
34
  appearance,
35
35
  className,
@@ -42,7 +42,7 @@ function AreaChart({
42
42
  ...props,
43
43
  children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.AreaChart, { data, margin, syncId, children: [
44
44
  /* @__PURE__ */ jsxRuntime.jsx(
45
- chunkCIN5JDN4_js.ChartDecorators,
45
+ chunk4E4XKJNR_js.ChartDecorators,
46
46
  {
47
47
  axis: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
48
48
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -78,9 +78,8 @@ function AreaChart({
78
78
  }
79
79
  ),
80
80
  series.map((item, index) => {
81
- const color = chunkCIN5JDN4_js.resolveColor(item.color, index);
82
- const fill = chunkCIN5JDN4_js.getSeriesFill(item, index);
83
- console.log(fill);
81
+ const color = chunk4E4XKJNR_js.resolveColor(item.color, index);
82
+ const fill = chunk4E4XKJNR_js.getSeriesFill(item, index);
84
83
  return /* @__PURE__ */ jsxRuntime.jsx(
85
84
  recharts.Area,
86
85
  {
@@ -104,15 +103,15 @@ AreaChart.displayName = "AreaChart";
104
103
 
105
104
  Object.defineProperty(exports, "chartColorValues", {
106
105
  enumerable: true,
107
- get: function () { return chunkCIN5JDN4_js.chartColorValues; }
106
+ get: function () { return chunk4E4XKJNR_js.chartColorValues; }
108
107
  });
109
108
  Object.defineProperty(exports, "chartPalette", {
110
109
  enumerable: true,
111
- get: function () { return chunkCIN5JDN4_js.chartPalette; }
110
+ get: function () { return chunk4E4XKJNR_js.chartPalette; }
112
111
  });
113
112
  Object.defineProperty(exports, "chartVariants", {
114
113
  enumerable: true,
115
- get: function () { return chunkCIN5JDN4_js.chartVariants; }
114
+ get: function () { return chunk4E4XKJNR_js.chartVariants; }
116
115
  });
117
116
  exports.AreaChart = AreaChart;
118
117
  //# sourceMappingURL=area.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsAreaChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","getSeriesFill","Area"],"mappings":"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","file":"area.js","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\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 stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<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 <RechartsAreaChart 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 fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\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 const fill = getSeriesFill(item, index)\n console.log(fill)\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsAreaChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","getSeriesFill","Area"],"mappings":"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","file":"area.js","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\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 stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<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 <RechartsAreaChart 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 fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\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 const fill = getSeriesFill(item, index)\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor, getSeriesFill } from '../chunk-IQZROQNJ.mjs';
3
- export { chartColorValues, chartPalette, chartVariants } from '../chunk-IQZROQNJ.mjs';
2
+ import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor, getSeriesFill } from '../chunk-7I44JVWY.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-7I44JVWY.mjs';
4
4
  import '../chunk-4D54YOL6.mjs';
5
5
  import { AreaChart as AreaChart$1, XAxis, YAxis, Area } from 'recharts';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -79,7 +79,6 @@ function AreaChart({
79
79
  series.map((item, index) => {
80
80
  const color = resolveColor(item.color, index);
81
81
  const fill = getSeriesFill(item, index);
82
- console.log(fill);
83
82
  return /* @__PURE__ */ jsx(
84
83
  Area,
85
84
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["RechartsAreaChart"],"mappings":"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","file":"area.mjs","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\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 stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<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 <RechartsAreaChart 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 fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\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 const fill = getSeriesFill(item, index)\n console.log(fill)\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["RechartsAreaChart"],"mappings":"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","file":"area.mjs","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\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 stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<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 <RechartsAreaChart 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 fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\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 const fill = getSeriesFill(item, index)\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
@@ -1,4 +1,4 @@
1
1
  export { BarChart } from "./Bar";
2
- export type { BarChartProps } from "../shared/types";
2
+ export type { BarChartProps, ChartColor, ChartDatum, ChartMargin, ChartSeries, ChartSharedStatic, } from "../shared/types";
3
3
  export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/bar/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/bar/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,YAAY,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkCIN5JDN4_js = require('../chunk-CIN5JDN4.js');
4
+ var chunk4E4XKJNR_js = require('../chunk-4E4XKJNR.js');
5
5
  require('../chunk-ZS5756ZC.js');
6
6
  var recharts = require('recharts');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -14,7 +14,7 @@ function BarChart({
14
14
  density,
15
15
  emptyState = null,
16
16
  height = 320,
17
- margin = chunkCIN5JDN4_js.defaultChartMargin,
17
+ margin = chunk4E4XKJNR_js.defaultChartMargin,
18
18
  series,
19
19
  showGrid = true,
20
20
  showLegend = false,
@@ -29,7 +29,7 @@ function BarChart({
29
29
  const hasData = data.length > 0 && series.length > 0;
30
30
  const xAxisKey = String(xKey);
31
31
  return /* @__PURE__ */ jsxRuntime.jsx(
32
- chunkCIN5JDN4_js.ChartFrame,
32
+ chunk4E4XKJNR_js.ChartFrame,
33
33
  {
34
34
  appearance,
35
35
  className,
@@ -42,7 +42,7 @@ function BarChart({
42
42
  ...props,
43
43
  children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.BarChart, { data, margin, syncId, children: [
44
44
  /* @__PURE__ */ jsxRuntime.jsx(
45
- chunkCIN5JDN4_js.ChartDecorators,
45
+ chunk4E4XKJNR_js.ChartDecorators,
46
46
  {
47
47
  axis: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
48
48
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -74,7 +74,7 @@ function BarChart({
74
74
  }
75
75
  ),
76
76
  series.map((item, index) => {
77
- const color = chunkCIN5JDN4_js.resolveColor(item.color, index);
77
+ const color = chunk4E4XKJNR_js.resolveColor(item.color, index);
78
78
  return /* @__PURE__ */ jsxRuntime.jsx(
79
79
  recharts.Bar,
80
80
  {
@@ -95,15 +95,15 @@ BarChart.displayName = "BarChart";
95
95
 
96
96
  Object.defineProperty(exports, "chartColorValues", {
97
97
  enumerable: true,
98
- get: function () { return chunkCIN5JDN4_js.chartColorValues; }
98
+ get: function () { return chunk4E4XKJNR_js.chartColorValues; }
99
99
  });
100
100
  Object.defineProperty(exports, "chartPalette", {
101
101
  enumerable: true,
102
- get: function () { return chunkCIN5JDN4_js.chartPalette; }
102
+ get: function () { return chunk4E4XKJNR_js.chartPalette; }
103
103
  });
104
104
  Object.defineProperty(exports, "chartVariants", {
105
105
  enumerable: true,
106
- get: function () { return chunkCIN5JDN4_js.chartVariants; }
106
+ get: function () { return chunk4E4XKJNR_js.chartVariants; }
107
107
  });
108
108
  exports.BarChart = BarChart;
109
109
  //# sourceMappingURL=bar.js.map
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-IQZROQNJ.mjs';
3
- export { chartColorValues, chartPalette, chartVariants } from '../chunk-IQZROQNJ.mjs';
2
+ import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-7I44JVWY.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-7I44JVWY.mjs';
4
4
  import '../chunk-4D54YOL6.mjs';
5
5
  import { BarChart as BarChart$1, XAxis, YAxis, Bar } from 'recharts';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/Bubble.tsx"],"names":[],"mappings":"AAiBA,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,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAuE1B;yBA3Fe,WAAW"}
1
+ {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/Bubble.tsx"],"names":[],"mappings":"AAiBA,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,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAgE1B;yBApFe,WAAW"}
@@ -1,4 +1,4 @@
1
1
  export { BubbleChart } from "./Bubble";
2
- export type { BubbleChartProps } from "../shared/types";
2
+ export type { BubbleChartProps, ChartColor, ChartDatum, ChartMargin, ChartSeries, ChartSharedStatic, } from "../shared/types";
3
3
  export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkCIN5JDN4_js = require('../chunk-CIN5JDN4.js');
4
+ var chunk4E4XKJNR_js = require('../chunk-4E4XKJNR.js');
5
5
  require('../chunk-ZS5756ZC.js');
6
6
  var recharts = require('recharts');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -14,7 +14,7 @@ function BubbleChart({
14
14
  density,
15
15
  emptyState = null,
16
16
  height = 320,
17
- margin = chunkCIN5JDN4_js.defaultChartMargin,
17
+ margin = chunk4E4XKJNR_js.defaultChartMargin,
18
18
  series,
19
19
  showGrid = true,
20
20
  showLegend = false,
@@ -28,7 +28,7 @@ function BubbleChart({
28
28
  const hasData = data.length > 0 && series.length > 0;
29
29
  const xAxisKey = String(xKey);
30
30
  return /* @__PURE__ */ jsxRuntime.jsx(
31
- chunkCIN5JDN4_js.ChartFrame,
31
+ chunk4E4XKJNR_js.ChartFrame,
32
32
  {
33
33
  appearance,
34
34
  className,
@@ -41,14 +41,14 @@ function BubbleChart({
41
41
  ...props,
42
42
  children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.ScatterChart, { data, margin, syncId, children: [
43
43
  /* @__PURE__ */ jsxRuntime.jsx(
44
- chunkCIN5JDN4_js.ChartDecorators,
44
+ chunk4E4XKJNR_js.ChartDecorators,
45
45
  {
46
46
  axis: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
47
47
  /* @__PURE__ */ jsxRuntime.jsx(
48
48
  recharts.XAxis,
49
49
  {
50
50
  dataKey: xAxisKey,
51
- type: "number",
51
+ type: typeof data[0]?.[xAxisKey] === "number" ? "number" : "category",
52
52
  minTickGap: 24,
53
53
  tickLine: false,
54
54
  tickMargin: 10,
@@ -60,7 +60,7 @@ function BubbleChart({
60
60
  recharts.YAxis,
61
61
  {
62
62
  dataKey: "__chartY",
63
- type: "number",
63
+ type: typeof data[0]?.[xAxisKey] === "number" ? "number" : "category",
64
64
  width: 40,
65
65
  tickLine: false,
66
66
  tickMargin: 8,
@@ -76,7 +76,7 @@ function BubbleChart({
76
76
  }
77
77
  ),
78
78
  series.map((item, index) => {
79
- const color = chunkCIN5JDN4_js.resolveColor(item.color, index);
79
+ const color = chunk4E4XKJNR_js.resolveColor(item.color, index);
80
80
  return /* @__PURE__ */ jsxRuntime.jsx(
81
81
  recharts.Scatter,
82
82
  {
@@ -86,14 +86,7 @@ function BubbleChart({
86
86
  __chartZ: item.zKey ? entry[item.zKey] : void 0
87
87
  })),
88
88
  name: item.name,
89
- fill: item.fill ?? color.stroke,
90
- children: data.map((_entry, cellIndex) => /* @__PURE__ */ jsxRuntime.jsx(
91
- recharts.Bar,
92
- {
93
- fill: item.fill ?? color.stroke
94
- },
95
- `${item.dataKey}-${cellIndex}`
96
- ))
89
+ fill: item.fill ?? color.stroke
97
90
  },
98
91
  item.dataKey
99
92
  );
@@ -107,15 +100,15 @@ BubbleChart.displayName = "BubbleChart";
107
100
 
108
101
  Object.defineProperty(exports, "chartColorValues", {
109
102
  enumerable: true,
110
- get: function () { return chunkCIN5JDN4_js.chartColorValues; }
103
+ get: function () { return chunk4E4XKJNR_js.chartColorValues; }
111
104
  });
112
105
  Object.defineProperty(exports, "chartPalette", {
113
106
  enumerable: true,
114
- get: function () { return chunkCIN5JDN4_js.chartPalette; }
107
+ get: function () { return chunk4E4XKJNR_js.chartPalette; }
115
108
  });
116
109
  Object.defineProperty(exports, "chartVariants", {
117
110
  enumerable: true,
118
- get: function () { return chunkCIN5JDN4_js.chartVariants; }
111
+ get: function () { return chunk4E4XKJNR_js.chartVariants; }
119
112
  });
120
113
  exports.BubbleChart = BubbleChart;
121
114
  //# sourceMappingURL=bubble.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsScatterChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Scatter","Bar","ZAxis"],"mappings":"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","file":"bubble.js","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=\"number\"\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type=\"number\"\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 {data.map((_entry, cellIndex) => (\n <Bar\n key={`${item.dataKey}-${cellIndex}`}\n fill={item.fill ?? color.stroke}\n />\n ))}\n </Scatter>\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":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsScatterChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Scatter","ZAxis"],"mappings":"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","file":"bubble.js","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={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\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,8 +1,8 @@
1
1
  "use client";
2
- import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-IQZROQNJ.mjs';
3
- export { chartColorValues, chartPalette, chartVariants } from '../chunk-IQZROQNJ.mjs';
2
+ import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-7I44JVWY.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-7I44JVWY.mjs';
4
4
  import '../chunk-4D54YOL6.mjs';
5
- import { ScatterChart, XAxis, YAxis, Scatter, Bar, ZAxis } from 'recharts';
5
+ import { ScatterChart, XAxis, YAxis, Scatter, ZAxis } from 'recharts';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
 
8
8
  function BubbleChart({
@@ -47,7 +47,7 @@ function BubbleChart({
47
47
  XAxis,
48
48
  {
49
49
  dataKey: xAxisKey,
50
- type: "number",
50
+ type: typeof data[0]?.[xAxisKey] === "number" ? "number" : "category",
51
51
  minTickGap: 24,
52
52
  tickLine: false,
53
53
  tickMargin: 10,
@@ -59,7 +59,7 @@ function BubbleChart({
59
59
  YAxis,
60
60
  {
61
61
  dataKey: "__chartY",
62
- type: "number",
62
+ type: typeof data[0]?.[xAxisKey] === "number" ? "number" : "category",
63
63
  width: 40,
64
64
  tickLine: false,
65
65
  tickMargin: 8,
@@ -85,14 +85,7 @@ function BubbleChart({
85
85
  __chartZ: item.zKey ? entry[item.zKey] : void 0
86
86
  })),
87
87
  name: item.name,
88
- fill: item.fill ?? color.stroke,
89
- children: data.map((_entry, cellIndex) => /* @__PURE__ */ jsx(
90
- Bar,
91
- {
92
- fill: item.fill ?? color.stroke
93
- },
94
- `${item.dataKey}-${cellIndex}`
95
- ))
88
+ fill: item.fill ?? color.stroke
96
89
  },
97
90
  item.dataKey
98
91
  );
@@ -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=\"number\"\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type=\"number\"\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 {data.map((_entry, cellIndex) => (\n <Bar\n key={`${item.dataKey}-${cellIndex}`}\n fill={item.fill ?? color.stroke}\n />\n ))}\n </Scatter>\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={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\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,4 +1,4 @@
1
1
  export { LineChart } from "./Line";
2
- export type { LineChartProps } from "../shared/types";
2
+ export type { ChartColor, ChartDatum, ChartMargin, ChartSeries, ChartSharedStatic, LineChartProps, } from "../shared/types";
3
3
  export { chartColorValues, chartPalette, chartVariants, } from "../shared/variants";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/charts/line/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkCIN5JDN4_js = require('../chunk-CIN5JDN4.js');
4
+ var chunk4E4XKJNR_js = require('../chunk-4E4XKJNR.js');
5
5
  require('../chunk-ZS5756ZC.js');
6
6
  var recharts = require('recharts');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -14,7 +14,7 @@ function LineChart({
14
14
  density,
15
15
  emptyState = null,
16
16
  height = 320,
17
- margin = chunkCIN5JDN4_js.defaultChartMargin,
17
+ margin = chunk4E4XKJNR_js.defaultChartMargin,
18
18
  series,
19
19
  showGrid = true,
20
20
  showLegend = false,
@@ -29,7 +29,7 @@ function LineChart({
29
29
  const hasData = data.length > 0 && series.length > 0;
30
30
  const xAxisKey = String(xKey);
31
31
  return /* @__PURE__ */ jsxRuntime.jsx(
32
- chunkCIN5JDN4_js.ChartFrame,
32
+ chunk4E4XKJNR_js.ChartFrame,
33
33
  {
34
34
  appearance,
35
35
  className,
@@ -42,7 +42,7 @@ function LineChart({
42
42
  ...props,
43
43
  children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.LineChart, { data, margin, syncId, children: [
44
44
  /* @__PURE__ */ jsxRuntime.jsx(
45
- chunkCIN5JDN4_js.ChartDecorators,
45
+ chunk4E4XKJNR_js.ChartDecorators,
46
46
  {
47
47
  axis: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
48
48
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -74,7 +74,7 @@ function LineChart({
74
74
  }
75
75
  ),
76
76
  series.map((item, index) => {
77
- const color = chunkCIN5JDN4_js.resolveColor(item.color, index);
77
+ const color = chunk4E4XKJNR_js.resolveColor(item.color, index);
78
78
  return /* @__PURE__ */ jsxRuntime.jsx(
79
79
  recharts.Line,
80
80
  {
@@ -98,15 +98,15 @@ LineChart.displayName = "LineChart";
98
98
 
99
99
  Object.defineProperty(exports, "chartColorValues", {
100
100
  enumerable: true,
101
- get: function () { return chunkCIN5JDN4_js.chartColorValues; }
101
+ get: function () { return chunk4E4XKJNR_js.chartColorValues; }
102
102
  });
103
103
  Object.defineProperty(exports, "chartPalette", {
104
104
  enumerable: true,
105
- get: function () { return chunkCIN5JDN4_js.chartPalette; }
105
+ get: function () { return chunk4E4XKJNR_js.chartPalette; }
106
106
  });
107
107
  Object.defineProperty(exports, "chartVariants", {
108
108
  enumerable: true,
109
- get: function () { return chunkCIN5JDN4_js.chartVariants; }
109
+ get: function () { return chunk4E4XKJNR_js.chartVariants; }
110
110
  });
111
111
  exports.LineChart = LineChart;
112
112
  //# sourceMappingURL=line.js.map
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-IQZROQNJ.mjs';
3
- export { chartColorValues, chartPalette, chartVariants } from '../chunk-IQZROQNJ.mjs';
2
+ import { ChartFrame, defaultChartMargin, ChartDecorators, resolveColor } from '../chunk-7I44JVWY.mjs';
3
+ export { chartColorValues, chartPalette, chartVariants } from '../chunk-7I44JVWY.mjs';
4
4
  import '../chunk-4D54YOL6.mjs';
5
5
  import { LineChart as LineChart$1, XAxis, YAxis, Line } from 'recharts';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -8,9 +8,6 @@ type ChartFrameProps = HTMLAttributes<HTMLDivElement> & {
8
8
  emptyState?: ReactNode;
9
9
  hasData: boolean;
10
10
  height: number;
11
- showGrid?: boolean;
12
- showLegend?: boolean;
13
- showTooltip?: boolean;
14
11
  style?: CSSProperties;
15
12
  children: ReactNode;
16
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chart-frame.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/chart-frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,KAAK,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACtD,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC;IACxD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;CAA6C,CAAC;AAE7E,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,UAAiB,EACjB,OAAO,EACP,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,2CAoCjB;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAwB,GACzB,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAsBA"}
1
+ {"version":3,"file":"chart-frame.d.ts","sourceRoot":"","sources":["../../../src/charts/shared/chart-frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA0BxD,KAAK,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACtD,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC;IACxD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;CAA6C,CAAC;AAE7E,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,UAAiB,EACjB,OAAO,EACP,MAAM,EACN,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,2CAqCjB;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAwB,GACzB,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAsBA"}
@@ -69,6 +69,25 @@ var chartPalette = {
69
69
  "gradient-amber-blue": { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" }
70
70
  };
71
71
  var chartColorValues = Object.keys(chartPalette);
72
+ var CHART_ONLY_DIV_PROP_KEYS = /* @__PURE__ */ new Set([
73
+ "data",
74
+ "margin",
75
+ "series",
76
+ "showGrid",
77
+ "showLegend",
78
+ "showTooltip",
79
+ "stacked",
80
+ "strokeDasharray",
81
+ "syncId",
82
+ "tooltipColor",
83
+ "xKey"
84
+ ]);
85
+ function filterDivProps(props) {
86
+ const entries = Object.entries(props).filter(
87
+ ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key)
88
+ );
89
+ return Object.fromEntries(entries);
90
+ }
72
91
  var defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };
73
92
  function ChartFrame({
74
93
  appearance,
@@ -82,6 +101,7 @@ function ChartFrame({
82
101
  style,
83
102
  ...props
84
103
  }) {
104
+ const divProps = filterDivProps(props);
85
105
  const chartStyle = {
86
106
  "--chart-height": `${height}px`,
87
107
  ...style
@@ -92,7 +112,7 @@ function ChartFrame({
92
112
  {
93
113
  className: chunkZS5756ZC_js.cn(chartVariants({ appearance, density }), className),
94
114
  style: chartStyle,
95
- ...props,
115
+ ...divProps,
96
116
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full min-h-48 items-center justify-center text-sm text-slate-500", children: emptyState })
97
117
  }
98
118
  );
@@ -102,7 +122,7 @@ function ChartFrame({
102
122
  {
103
123
  className: chunkZS5756ZC_js.cn(chartVariants({ appearance, density }), className),
104
124
  style: chartStyle,
105
- ...props,
125
+ ...divProps,
106
126
  children: /* @__PURE__ */ jsxRuntime.jsx(
107
127
  recharts.ResponsiveContainer,
108
128
  {
@@ -170,5 +190,5 @@ exports.chartVariants = chartVariants;
170
190
  exports.defaultChartMargin = defaultChartMargin;
171
191
  exports.getSeriesFill = getSeriesFill;
172
192
  exports.resolveColor = resolveColor;
173
- //# sourceMappingURL=chunk-CIN5JDN4.js.map
174
- //# sourceMappingURL=chunk-CIN5JDN4.js.map
193
+ //# sourceMappingURL=chunk-4E4XKJNR.js.map
194
+ //# sourceMappingURL=chunk-4E4XKJNR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/shared/variants.ts","../src/charts/shared/chart-frame.tsx","../src/charts/shared/colors.ts"],"names":["cva","jsx","cn","ResponsiveContainer","jsxs","Fragment","CartesianGrid","Tooltip","Legend"],"mappings":"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","file":"chunk-4E4XKJNR.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const chartVariants = cva(\n [\n \"relative w-full min-w-0 overflow-hidden rounded-xl\",\n \"h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80\",\n \"[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200\",\n \"[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg\",\n \"[&_.recharts-default-tooltip]:text-slate-900\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n muted:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n outline:\n \"border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n glass:\n \"border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n sky: \"bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n emerald:\n \"bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n violet:\n \"bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n amber:\n \"bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n rose: \"bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n slate:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n gray: \"bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n indigo:\n \"bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n \"gradient-cyan-violet\":\n \"bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-violet\":\n \"bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-rose\":\n \"bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-slate-gray\":\n \"bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-indigo-purple\":\n \"bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-cyan-blue\":\n \"bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-blue\":\n \"bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-blue\":\n \"bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n },\n density: {\n compact: \"p-2 sm:p-3\",\n comfortable: \"p-3 sm:p-4\",\n spacious: \"p-4 sm:p-5 md:p-6\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n density: \"comfortable\",\n },\n },\n);\n\nexport const chartPalette = {\n cyan: { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n emerald: { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n violet: { stroke: \"#7c3aed\", fill: \"#c4b5fd\", textColor: \"#7c3aed\" },\n amber: { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n rose: { stroke: \"#e11d48\", fill: \"#fda4af\", textColor: \"#e11d48\" },\n slate: { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n gray: { stroke: \"#6b7280\", fill: \"#d1d5db\", textColor: \"#6b7280\" },\n white: { stroke: \"#ffffff\", fill: \"#ffffff\", textColor: \"#ffffff\" },\n indigo: { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-violet\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-violet\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-rose\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n \"gradient-slate-gray\": { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n \"gradient-indigo-purple\": { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-blue\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-blue\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-blue\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n} as const;\n\nexport const chartColorValues = Object.keys(chartPalette) as Array<\n keyof typeof chartPalette\n>;\n","import type { CSSProperties, HTMLAttributes, ReactNode } from \"react\";\nimport { CartesianGrid, Legend, ResponsiveContainer, Tooltip } from \"recharts\";\n\nimport { cn } from \"../../lib/utils\";\nimport { chartVariants } from \"./variants\";\nimport { VariantProps } from \"class-variance-authority\";\n\n/** Chart-level props that may be forwarded from *Chart `...rest` and must not reach a DOM node. */\nconst CHART_ONLY_DIV_PROP_KEYS = new Set([\n \"data\",\n \"margin\",\n \"series\",\n \"showGrid\",\n \"showLegend\",\n \"showTooltip\",\n \"stacked\",\n \"strokeDasharray\",\n \"syncId\",\n \"tooltipColor\",\n \"xKey\",\n]);\n\nfunction filterDivProps(\n props: HTMLAttributes<HTMLDivElement>,\n): HTMLAttributes<HTMLDivElement> {\n const entries = Object.entries(props).filter(\n ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key),\n );\n return Object.fromEntries(entries) as HTMLAttributes<HTMLDivElement>;\n}\n\ntype ChartFrameProps = HTMLAttributes<HTMLDivElement> & {\n appearance?: VariantProps<typeof chartVariants>[\"appearance\"];\n containerStyle?: CSSProperties;\n density?: \"compact\" | \"comfortable\" | \"spacious\" | null;\n emptyState?: ReactNode;\n hasData: boolean;\n height: number;\n style?: CSSProperties;\n children: ReactNode;\n};\n\nexport const defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };\n\nexport function ChartFrame({\n appearance,\n children,\n className,\n containerStyle,\n density,\n emptyState = null,\n hasData,\n height,\n style,\n ...props\n}: ChartFrameProps) {\n const divProps = filterDivProps(props);\n const chartStyle = {\n \"--chart-height\": `${height}px`,\n ...style,\n } as CSSProperties;\n\n if (!hasData) {\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <div className=\"flex h-full min-h-48 items-center justify-center text-sm text-slate-500\">\n {emptyState}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n debounce={80}\n style={containerStyle}\n >\n {children}\n </ResponsiveContainer>\n </div>\n );\n}\n\nexport function ChartDecorators({\n axis,\n showGrid,\n showLegend,\n showTooltip,\n tooltipColor = \"#0f172a\",\n}: {\n axis: ReactNode;\n showGrid: boolean;\n showLegend: boolean;\n showTooltip: boolean;\n tooltipColor?: string;\n}) {\n return (\n <>\n {showGrid ? (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"currentColor\"\n opacity={0.16}\n />\n ) : null}\n {axis}\n {showTooltip ? (\n <Tooltip\n cursor={{ opacity: 0.12 }}\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n </>\n );\n}\n","import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}
@@ -67,6 +67,25 @@ var chartPalette = {
67
67
  "gradient-amber-blue": { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" }
68
68
  };
69
69
  var chartColorValues = Object.keys(chartPalette);
70
+ var CHART_ONLY_DIV_PROP_KEYS = /* @__PURE__ */ new Set([
71
+ "data",
72
+ "margin",
73
+ "series",
74
+ "showGrid",
75
+ "showLegend",
76
+ "showTooltip",
77
+ "stacked",
78
+ "strokeDasharray",
79
+ "syncId",
80
+ "tooltipColor",
81
+ "xKey"
82
+ ]);
83
+ function filterDivProps(props) {
84
+ const entries = Object.entries(props).filter(
85
+ ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key)
86
+ );
87
+ return Object.fromEntries(entries);
88
+ }
70
89
  var defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };
71
90
  function ChartFrame({
72
91
  appearance,
@@ -80,6 +99,7 @@ function ChartFrame({
80
99
  style,
81
100
  ...props
82
101
  }) {
102
+ const divProps = filterDivProps(props);
83
103
  const chartStyle = {
84
104
  "--chart-height": `${height}px`,
85
105
  ...style
@@ -90,7 +110,7 @@ function ChartFrame({
90
110
  {
91
111
  className: cn(chartVariants({ appearance, density }), className),
92
112
  style: chartStyle,
93
- ...props,
113
+ ...divProps,
94
114
  children: /* @__PURE__ */ jsx("div", { className: "flex h-full min-h-48 items-center justify-center text-sm text-slate-500", children: emptyState })
95
115
  }
96
116
  );
@@ -100,7 +120,7 @@ function ChartFrame({
100
120
  {
101
121
  className: cn(chartVariants({ appearance, density }), className),
102
122
  style: chartStyle,
103
- ...props,
123
+ ...divProps,
104
124
  children: /* @__PURE__ */ jsx(
105
125
  ResponsiveContainer,
106
126
  {
@@ -161,5 +181,5 @@ function getSeriesFill(series, index, opacity = 0.18) {
161
181
  }
162
182
 
163
183
  export { ChartDecorators, ChartFrame, chartColorValues, chartPalette, chartVariants, defaultChartMargin, getSeriesFill, resolveColor };
164
- //# sourceMappingURL=chunk-IQZROQNJ.mjs.map
165
- //# sourceMappingURL=chunk-IQZROQNJ.mjs.map
184
+ //# sourceMappingURL=chunk-7I44JVWY.mjs.map
185
+ //# sourceMappingURL=chunk-7I44JVWY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/shared/variants.ts","../src/charts/shared/chart-frame.tsx","../src/charts/shared/colors.ts"],"names":[],"mappings":"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","file":"chunk-7I44JVWY.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const chartVariants = cva(\n [\n \"relative w-full min-w-0 overflow-hidden rounded-xl\",\n \"h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80\",\n \"[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200\",\n \"[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg\",\n \"[&_.recharts-default-tooltip]:text-slate-900\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n muted:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n outline:\n \"border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n glass:\n \"border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n sky: \"bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n emerald:\n \"bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n violet:\n \"bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n amber:\n \"bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n rose: \"bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n slate:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n gray: \"bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n indigo:\n \"bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n \"gradient-cyan-violet\":\n \"bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-violet\":\n \"bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-rose\":\n \"bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-slate-gray\":\n \"bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-indigo-purple\":\n \"bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-cyan-blue\":\n \"bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-blue\":\n \"bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-blue\":\n \"bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n },\n density: {\n compact: \"p-2 sm:p-3\",\n comfortable: \"p-3 sm:p-4\",\n spacious: \"p-4 sm:p-5 md:p-6\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n density: \"comfortable\",\n },\n },\n);\n\nexport const chartPalette = {\n cyan: { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n emerald: { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n violet: { stroke: \"#7c3aed\", fill: \"#c4b5fd\", textColor: \"#7c3aed\" },\n amber: { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n rose: { stroke: \"#e11d48\", fill: \"#fda4af\", textColor: \"#e11d48\" },\n slate: { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n gray: { stroke: \"#6b7280\", fill: \"#d1d5db\", textColor: \"#6b7280\" },\n white: { stroke: \"#ffffff\", fill: \"#ffffff\", textColor: \"#ffffff\" },\n indigo: { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-violet\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-violet\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-rose\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n \"gradient-slate-gray\": { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n \"gradient-indigo-purple\": { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-blue\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-blue\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-blue\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n} as const;\n\nexport const chartColorValues = Object.keys(chartPalette) as Array<\n keyof typeof chartPalette\n>;\n","import type { CSSProperties, HTMLAttributes, ReactNode } from \"react\";\nimport { CartesianGrid, Legend, ResponsiveContainer, Tooltip } from \"recharts\";\n\nimport { cn } from \"../../lib/utils\";\nimport { chartVariants } from \"./variants\";\nimport { VariantProps } from \"class-variance-authority\";\n\n/** Chart-level props that may be forwarded from *Chart `...rest` and must not reach a DOM node. */\nconst CHART_ONLY_DIV_PROP_KEYS = new Set([\n \"data\",\n \"margin\",\n \"series\",\n \"showGrid\",\n \"showLegend\",\n \"showTooltip\",\n \"stacked\",\n \"strokeDasharray\",\n \"syncId\",\n \"tooltipColor\",\n \"xKey\",\n]);\n\nfunction filterDivProps(\n props: HTMLAttributes<HTMLDivElement>,\n): HTMLAttributes<HTMLDivElement> {\n const entries = Object.entries(props).filter(\n ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key),\n );\n return Object.fromEntries(entries) as HTMLAttributes<HTMLDivElement>;\n}\n\ntype ChartFrameProps = HTMLAttributes<HTMLDivElement> & {\n appearance?: VariantProps<typeof chartVariants>[\"appearance\"];\n containerStyle?: CSSProperties;\n density?: \"compact\" | \"comfortable\" | \"spacious\" | null;\n emptyState?: ReactNode;\n hasData: boolean;\n height: number;\n style?: CSSProperties;\n children: ReactNode;\n};\n\nexport const defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };\n\nexport function ChartFrame({\n appearance,\n children,\n className,\n containerStyle,\n density,\n emptyState = null,\n hasData,\n height,\n style,\n ...props\n}: ChartFrameProps) {\n const divProps = filterDivProps(props);\n const chartStyle = {\n \"--chart-height\": `${height}px`,\n ...style,\n } as CSSProperties;\n\n if (!hasData) {\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <div className=\"flex h-full min-h-48 items-center justify-center text-sm text-slate-500\">\n {emptyState}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...divProps}\n >\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n debounce={80}\n style={containerStyle}\n >\n {children}\n </ResponsiveContainer>\n </div>\n );\n}\n\nexport function ChartDecorators({\n axis,\n showGrid,\n showLegend,\n showTooltip,\n tooltipColor = \"#0f172a\",\n}: {\n axis: ReactNode;\n showGrid: boolean;\n showLegend: boolean;\n showTooltip: boolean;\n tooltipColor?: string;\n}) {\n return (\n <>\n {showGrid ? (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"currentColor\"\n opacity={0.16}\n />\n ) : null}\n {axis}\n {showTooltip ? (\n <Tooltip\n cursor={{ opacity: 0.12 }}\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n </>\n );\n}\n","import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  export declare const buttonVariants: (props?: ({
2
- appearance?: "default" | "outline" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "link" | "secondary" | "destructive" | "ghost" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
2
+ appearance?: "default" | "outline" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "link" | "orange" | "pink" | "purple" | "teal" | "yellow" | "secondary" | "destructive" | "ghost" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
3
3
  size?: "icon" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
5
  //# sourceMappingURL=variants.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export declare const Pagination: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "onChange"> & import("class-variance-authority").VariantProps<(props?: ({
2
- appearance?: "default" | "outline" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "link" | "secondary" | "destructive" | "ghost" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
2
+ appearance?: "default" | "outline" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "link" | "orange" | "pink" | "purple" | "teal" | "yellow" | "secondary" | "destructive" | "ghost" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
3
3
  size?: "icon" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
5
5
  pageCount: number;
@@ -3,7 +3,7 @@
3
3
  * `components/ui/buttons/variants.ts` for consistent design-system tokens.
4
4
  */
5
5
  export declare const paginationListVariants: (props?: ({
6
- appearance?: "default" | "outline" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "orange" | "pink" | "purple" | "teal" | "yellow" | "link" | "secondary" | "destructive" | "ghost" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
6
+ appearance?: "default" | "outline" | "glass" | "sky" | "emerald" | "violet" | "amber" | "rose" | "gray" | "indigo" | "link" | "orange" | "pink" | "purple" | "teal" | "yellow" | "secondary" | "destructive" | "ghost" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
7
7
  size?: "icon" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | "10xl" | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export declare const paginationEllipsisVariants: (props?: ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zentauri-ui/zentauri-components",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "React + Tailwind UI kit with charts, ESM/CJS builds, per-entry exports, and a zentauri-components / zentauri-ui CLI to vendor UI or hook source into your app",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -80,7 +80,6 @@ export function AreaChart<
80
80
  {series.map((item, index) => {
81
81
  const color = resolveColor(item.color, index);
82
82
  const fill = getSeriesFill(item, index)
83
- console.log(fill)
84
83
  return (
85
84
  <Area
86
85
  key={item.dataKey}
@@ -1,7 +1,14 @@
1
1
  "use client";
2
2
 
3
3
  export { AreaChart } from "./Area";
4
- export type { AreaChartProps } from "../shared/types";
4
+ export type {
5
+ AreaChartProps,
6
+ ChartColor,
7
+ ChartDatum,
8
+ ChartMargin,
9
+ ChartSeries,
10
+ ChartSharedStatic,
11
+ } from "../shared/types";
5
12
  export {
6
13
  chartColorValues,
7
14
  chartPalette,
@@ -1,7 +1,14 @@
1
1
  "use client";
2
2
 
3
3
  export { BarChart } from "./Bar";
4
- export type { BarChartProps } from "../shared/types";
4
+ export type {
5
+ BarChartProps,
6
+ ChartColor,
7
+ ChartDatum,
8
+ ChartMargin,
9
+ ChartSeries,
10
+ ChartSharedStatic,
11
+ } from "../shared/types";
5
12
  export {
6
13
  chartColorValues,
7
14
  chartPalette,
@@ -59,7 +59,7 @@ export function BubbleChart<
59
59
  <>
60
60
  <XAxis
61
61
  dataKey={xAxisKey}
62
- type="number"
62
+ type={typeof data[0]?.[xAxisKey] === "number" ? "number" : "category"}
63
63
  minTickGap={24}
64
64
  tickLine={false}
65
65
  tickMargin={10}
@@ -68,7 +68,7 @@ export function BubbleChart<
68
68
  />
69
69
  <YAxis
70
70
  dataKey="__chartY"
71
- type="number"
71
+ type={typeof data[0]?.[xAxisKey] === "number" ? "number" : "category"}
72
72
  width={40}
73
73
  tickLine={false}
74
74
  tickMargin={8}
@@ -94,14 +94,7 @@ export function BubbleChart<
94
94
  }))}
95
95
  name={item.name}
96
96
  fill={item.fill ?? color.stroke}
97
- >
98
- {data.map((_entry, cellIndex) => (
99
- <Bar
100
- key={`${item.dataKey}-${cellIndex}`}
101
- fill={item.fill ?? color.stroke}
102
- />
103
- ))}
104
- </Scatter>
97
+ />
105
98
  );
106
99
  })}
107
100
  <ZAxis dataKey="__chartZ" range={[64, 720]} />
@@ -1,7 +1,14 @@
1
1
  "use client";
2
2
 
3
3
  export { BubbleChart } from "./Bubble";
4
- export type { BubbleChartProps } from "../shared/types";
4
+ export type {
5
+ BubbleChartProps,
6
+ ChartColor,
7
+ ChartDatum,
8
+ ChartMargin,
9
+ ChartSeries,
10
+ ChartSharedStatic,
11
+ } from "../shared/types";
5
12
  export {
6
13
  chartColorValues,
7
14
  chartPalette,
@@ -1,7 +1,14 @@
1
1
  "use client";
2
2
 
3
3
  export { LineChart } from "./Line";
4
- export type { LineChartProps } from "../shared/types";
4
+ export type {
5
+ ChartColor,
6
+ ChartDatum,
7
+ ChartMargin,
8
+ ChartSeries,
9
+ ChartSharedStatic,
10
+ LineChartProps,
11
+ } from "../shared/types";
5
12
  export {
6
13
  chartColorValues,
7
14
  chartPalette,
@@ -5,6 +5,30 @@ import { cn } from "../../lib/utils";
5
5
  import { chartVariants } from "./variants";
6
6
  import { VariantProps } from "class-variance-authority";
7
7
 
8
+ /** Chart-level props that may be forwarded from *Chart `...rest` and must not reach a DOM node. */
9
+ const CHART_ONLY_DIV_PROP_KEYS = new Set([
10
+ "data",
11
+ "margin",
12
+ "series",
13
+ "showGrid",
14
+ "showLegend",
15
+ "showTooltip",
16
+ "stacked",
17
+ "strokeDasharray",
18
+ "syncId",
19
+ "tooltipColor",
20
+ "xKey",
21
+ ]);
22
+
23
+ function filterDivProps(
24
+ props: HTMLAttributes<HTMLDivElement>,
25
+ ): HTMLAttributes<HTMLDivElement> {
26
+ const entries = Object.entries(props).filter(
27
+ ([key]) => !CHART_ONLY_DIV_PROP_KEYS.has(key),
28
+ );
29
+ return Object.fromEntries(entries) as HTMLAttributes<HTMLDivElement>;
30
+ }
31
+
8
32
  type ChartFrameProps = HTMLAttributes<HTMLDivElement> & {
9
33
  appearance?: VariantProps<typeof chartVariants>["appearance"];
10
34
  containerStyle?: CSSProperties;
@@ -12,9 +36,6 @@ type ChartFrameProps = HTMLAttributes<HTMLDivElement> & {
12
36
  emptyState?: ReactNode;
13
37
  hasData: boolean;
14
38
  height: number;
15
- showGrid?: boolean;
16
- showLegend?: boolean;
17
- showTooltip?: boolean;
18
39
  style?: CSSProperties;
19
40
  children: ReactNode;
20
41
  };
@@ -33,6 +54,7 @@ export function ChartFrame({
33
54
  style,
34
55
  ...props
35
56
  }: ChartFrameProps) {
57
+ const divProps = filterDivProps(props);
36
58
  const chartStyle = {
37
59
  "--chart-height": `${height}px`,
38
60
  ...style,
@@ -43,7 +65,7 @@ export function ChartFrame({
43
65
  <div
44
66
  className={cn(chartVariants({ appearance, density }), className)}
45
67
  style={chartStyle}
46
- {...props}
68
+ {...divProps}
47
69
  >
48
70
  <div className="flex h-full min-h-48 items-center justify-center text-sm text-slate-500">
49
71
  {emptyState}
@@ -56,7 +78,7 @@ export function ChartFrame({
56
78
  <div
57
79
  className={cn(chartVariants({ appearance, density }), className)}
58
80
  style={chartStyle}
59
- {...props}
81
+ {...divProps}
60
82
  >
61
83
  <ResponsiveContainer
62
84
  width="100%"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/charts/shared/variants.ts","../src/charts/shared/chart-frame.tsx","../src/charts/shared/colors.ts"],"names":["cva","jsx","cn","ResponsiveContainer","jsxs","Fragment","CartesianGrid","Tooltip","Legend"],"mappings":";;;;;;;AAEO,IAAM,aAAA,GAAgBA,0BAAA;AAAA,EAC3B;AAAA,IACE,oDAAA;AAAA,IACA,0DAAA;AAAA,IACA,8HAAA;AAAA,IACA,mFAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EACE,gFAAA;AAAA,QACF,KAAA,EACE,mFAAA;AAAA,QACF,OAAA,EACE,wGAAA;AAAA,QACF,KAAA,EACE,uHAAA;AAAA,QACF,GAAA,EAAK,+EAAA;AAAA,QACL,OAAA,EACE,uFAAA;AAAA,QACF,MAAA,EACE,qFAAA;AAAA,QACF,KAAA,EACE,mFAAA;AAAA,QACF,IAAA,EAAM,iFAAA;AAAA,QACN,KAAA,EACE,mFAAA;AAAA,QACF,IAAA,EAAM,iFAAA;AAAA,QACN,MAAA,EACE,qFAAA;AAAA,QACF,sBAAA,EACE,4GAAA;AAAA,QACF,yBAAA,EACE,+GAAA;AAAA,QACF,qBAAA,EACE,2GAAA;AAAA,QACF,qBAAA,EACE,2GAAA;AAAA,QACF,wBAAA,EACE,8GAAA;AAAA,QACF,oBAAA,EACE,0GAAA;AAAA,QACF,uBAAA,EACE,6GAAA;AAAA,QACF,qBAAA,EACE;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,YAAA;AAAA,QACT,WAAA,EAAa,YAAA;AAAA,QACb,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,OAAA,EAAS;AAAA;AACX;AAEJ;AAEO,IAAM,YAAA,GAAe;AAAA,EAC1B,MAAM,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjE,SAAS,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACpE,QAAQ,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACnE,OAAO,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClE,MAAM,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjE,OAAO,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClE,MAAM,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjE,OAAO,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClE,QAAQ,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACnE,wBAAwB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACnF,2BAA2B,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACtF,uBAAuB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClF,uBAAuB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClF,0BAA0B,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACrF,sBAAsB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjF,yBAAyB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACpF,uBAAuB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA;AAC1E;AAEO,IAAM,gBAAA,GAAmB,MAAA,CAAO,IAAA,CAAK,YAAY;AC/DjD,IAAM,kBAAA,GAAqB,EAAE,GAAA,EAAK,EAAA,EAAI,OAAO,EAAA,EAAI,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,CAAA;AAElE,SAAS,UAAA,CAAW;AAAA,EACzB,UAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoB;AAClB,EAAA,MAAM,UAAA,GAAa;AAAA,IACjB,gBAAA,EAAkB,GAAG,MAAM,CAAA,EAAA,CAAA;AAAA,IAC3B,GAAG;AAAA,GACL;AAEA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,uBACEC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWC,oBAAG,aAAA,CAAc,EAAE,YAAY,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,QAC/D,KAAA,EAAO,UAAA;AAAA,QACN,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACZ,QAAA,EAAA,UAAA,EACH;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAG,aAAA,CAAc,EAAE,YAAY,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAC/D,KAAA,EAAO,UAAA;AAAA,MACN,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAD,cAAA;AAAA,QAACE,4BAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,MAAA;AAAA,UACN,MAAA,EAAO,MAAA;AAAA,UACP,QAAA,EAAU,EAAA;AAAA,UACV,KAAA,EAAO,cAAA;AAAA,UAEN;AAAA;AAAA;AACH;AAAA,GACF;AAEJ;AAEO,SAAS,eAAA,CAAgB;AAAA,EAC9B,IAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA,GAAe;AACjB,CAAA,EAMG;AACD,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,QAAA,mBACCJ,cAAA;AAAA,MAACK,sBAAA;AAAA,MAAA;AAAA,QACC,eAAA,EAAgB,KAAA;AAAA,QAChB,MAAA,EAAO,cAAA;AAAA,QACP,OAAA,EAAS;AAAA;AAAA,KACX,GACE,IAAA;AAAA,IACH,IAAA;AAAA,IACA,WAAA,mBACCL,cAAA;AAAA,MAACM,gBAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAK;AAAA,QACxB,YAAA,EAAc,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,QACpC,UAAA,EAAY,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,QAClC,SAAA,EAAW,EAAE,KAAA,EAAO,YAAA;AAAa;AAAA,KACnC,GACE,IAAA;AAAA,IACH,UAAA,mBAAaN,cAAA,CAACO,eAAA,EAAA,EAAO,CAAA,GAAK;AAAA,GAAA,EAC7B,CAAA;AAEJ;;;ACvGO,SAAS,YAAA,CACd,OACA,KAAA,EACA;AACA,EAAA,IAAI,KAAA,IAAS,SAAS,YAAA,EAAc;AAClC,IAAA,OAAO,aAAa,KAAmB,CAAA;AAAA,EACzC;AACA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,OAAO,EAAE,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM,KAAA,EAAM;AAAA,EACtC;AAEA,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA;AAChD,EAAA,OAAO,aAAA,CAAc,KAAA,GAAQ,aAAA,CAAc,MAAM,KAAK,YAAA,CAAa,IAAA;AACrE;AAEO,SAAS,aAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,GAAU,IAAA,EACV;AACA,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,MAAA,CAAO,KAAA,EAAO,KAAK,CAAA;AAC9C,EAAA,OACE,OAAO,IAAA,IACP,CAAA,EAAG,KAAA,CAAM,IAAI,GAAG,IAAA,CAAK,KAAA,CAAM,OAAA,GAAU,GAAG,EACrC,QAAA,CAAS,EAAE,EACX,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEvB","file":"chunk-CIN5JDN4.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const chartVariants = cva(\n [\n \"relative w-full min-w-0 overflow-hidden rounded-xl\",\n \"h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80\",\n \"[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200\",\n \"[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg\",\n \"[&_.recharts-default-tooltip]:text-slate-900\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n muted:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n outline:\n \"border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n glass:\n \"border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n sky: \"bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n emerald:\n \"bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n violet:\n \"bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n amber:\n \"bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n rose: \"bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n slate:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n gray: \"bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n indigo:\n \"bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n \"gradient-cyan-violet\":\n \"bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-violet\":\n \"bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-rose\":\n \"bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-slate-gray\":\n \"bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-indigo-purple\":\n \"bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-cyan-blue\":\n \"bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-blue\":\n \"bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-blue\":\n \"bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n },\n density: {\n compact: \"p-2 sm:p-3\",\n comfortable: \"p-3 sm:p-4\",\n spacious: \"p-4 sm:p-5 md:p-6\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n density: \"comfortable\",\n },\n },\n);\n\nexport const chartPalette = {\n cyan: { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n emerald: { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n violet: { stroke: \"#7c3aed\", fill: \"#c4b5fd\", textColor: \"#7c3aed\" },\n amber: { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n rose: { stroke: \"#e11d48\", fill: \"#fda4af\", textColor: \"#e11d48\" },\n slate: { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n gray: { stroke: \"#6b7280\", fill: \"#d1d5db\", textColor: \"#6b7280\" },\n white: { stroke: \"#ffffff\", fill: \"#ffffff\", textColor: \"#ffffff\" },\n indigo: { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-violet\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-violet\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-rose\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n \"gradient-slate-gray\": { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n \"gradient-indigo-purple\": { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-blue\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-blue\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-blue\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n} as const;\n\nexport const chartColorValues = Object.keys(chartPalette) as Array<\n keyof typeof chartPalette\n>;\n","import type { CSSProperties, HTMLAttributes, ReactNode } from \"react\";\nimport { CartesianGrid, Legend, ResponsiveContainer, Tooltip } from \"recharts\";\n\nimport { cn } from \"../../lib/utils\";\nimport { chartVariants } from \"./variants\";\nimport { VariantProps } from \"class-variance-authority\";\n\ntype ChartFrameProps = HTMLAttributes<HTMLDivElement> & {\n appearance?: VariantProps<typeof chartVariants>[\"appearance\"];\n containerStyle?: CSSProperties;\n density?: \"compact\" | \"comfortable\" | \"spacious\" | null;\n emptyState?: ReactNode;\n hasData: boolean;\n height: number;\n showGrid?: boolean;\n showLegend?: boolean;\n showTooltip?: boolean;\n style?: CSSProperties;\n children: ReactNode;\n};\n\nexport const defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };\n\nexport function ChartFrame({\n appearance,\n children,\n className,\n containerStyle,\n density,\n emptyState = null,\n hasData,\n height,\n style,\n ...props\n}: ChartFrameProps) {\n const chartStyle = {\n \"--chart-height\": `${height}px`,\n ...style,\n } as CSSProperties;\n\n if (!hasData) {\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...props}\n >\n <div className=\"flex h-full min-h-48 items-center justify-center text-sm text-slate-500\">\n {emptyState}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...props}\n >\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n debounce={80}\n style={containerStyle}\n >\n {children}\n </ResponsiveContainer>\n </div>\n );\n}\n\nexport function ChartDecorators({\n axis,\n showGrid,\n showLegend,\n showTooltip,\n tooltipColor = \"#0f172a\",\n}: {\n axis: ReactNode;\n showGrid: boolean;\n showLegend: boolean;\n showTooltip: boolean;\n tooltipColor?: string;\n}) {\n return (\n <>\n {showGrid ? (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"currentColor\"\n opacity={0.16}\n />\n ) : null}\n {axis}\n {showTooltip ? (\n <Tooltip\n cursor={{ opacity: 0.12 }}\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n </>\n );\n}\n","import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/charts/shared/variants.ts","../src/charts/shared/chart-frame.tsx","../src/charts/shared/colors.ts"],"names":[],"mappings":";;;;;AAEO,IAAM,aAAA,GAAgB,GAAA;AAAA,EAC3B;AAAA,IACE,oDAAA;AAAA,IACA,0DAAA;AAAA,IACA,8HAAA;AAAA,IACA,mFAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,OAAA,EACE,gFAAA;AAAA,QACF,KAAA,EACE,mFAAA;AAAA,QACF,OAAA,EACE,wGAAA;AAAA,QACF,KAAA,EACE,uHAAA;AAAA,QACF,GAAA,EAAK,+EAAA;AAAA,QACL,OAAA,EACE,uFAAA;AAAA,QACF,MAAA,EACE,qFAAA;AAAA,QACF,KAAA,EACE,mFAAA;AAAA,QACF,IAAA,EAAM,iFAAA;AAAA,QACN,KAAA,EACE,mFAAA;AAAA,QACF,IAAA,EAAM,iFAAA;AAAA,QACN,MAAA,EACE,qFAAA;AAAA,QACF,sBAAA,EACE,4GAAA;AAAA,QACF,yBAAA,EACE,+GAAA;AAAA,QACF,qBAAA,EACE,2GAAA;AAAA,QACF,qBAAA,EACE,2GAAA;AAAA,QACF,wBAAA,EACE,8GAAA;AAAA,QACF,oBAAA,EACE,0GAAA;AAAA,QACF,uBAAA,EACE,6GAAA;AAAA,QACF,qBAAA,EACE;AAAA,OACJ;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,YAAA;AAAA,QACT,WAAA,EAAa,YAAA;AAAA,QACb,QAAA,EAAU;AAAA;AACZ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,UAAA,EAAY,SAAA;AAAA,MACZ,OAAA,EAAS;AAAA;AACX;AAEJ;AAEO,IAAM,YAAA,GAAe;AAAA,EAC1B,MAAM,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjE,SAAS,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACpE,QAAQ,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACnE,OAAO,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClE,MAAM,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjE,OAAO,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClE,MAAM,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjE,OAAO,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClE,QAAQ,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACnE,wBAAwB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACnF,2BAA2B,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACtF,uBAAuB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClF,uBAAuB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EAClF,0BAA0B,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACrF,sBAAsB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACjF,yBAAyB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA,EAAU;AAAA,EACpF,uBAAuB,EAAE,MAAA,EAAQ,WAAW,IAAA,EAAM,SAAA,EAAW,WAAW,SAAA;AAC1E;AAEO,IAAM,gBAAA,GAAmB,MAAA,CAAO,IAAA,CAAK,YAAY;AC/DjD,IAAM,kBAAA,GAAqB,EAAE,GAAA,EAAK,EAAA,EAAI,OAAO,EAAA,EAAI,MAAA,EAAQ,CAAA,EAAG,IAAA,EAAM,CAAA;AAElE,SAAS,UAAA,CAAW;AAAA,EACzB,UAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoB;AAClB,EAAA,MAAM,UAAA,GAAa;AAAA,IACjB,gBAAA,EAAkB,GAAG,MAAM,CAAA,EAAA,CAAA;AAAA,IAC3B,GAAG;AAAA,GACL;AAEA,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,GAAG,aAAA,CAAc,EAAE,YAAY,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,QAC/D,KAAA,EAAO,UAAA;AAAA,QACN,GAAG,KAAA;AAAA,QAEJ,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACZ,QAAA,EAAA,UAAA,EACH;AAAA;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,aAAA,CAAc,EAAE,YAAY,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAC/D,KAAA,EAAO,UAAA;AAAA,MACN,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,MAAA;AAAA,UACN,MAAA,EAAO,MAAA;AAAA,UACP,QAAA,EAAU,EAAA;AAAA,UACV,KAAA,EAAO,cAAA;AAAA,UAEN;AAAA;AAAA;AACH;AAAA,GACF;AAEJ;AAEO,SAAS,eAAA,CAAgB;AAAA,EAC9B,IAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA,GAAe;AACjB,CAAA,EAMG;AACD,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,QAAA,mBACC,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,eAAA,EAAgB,KAAA;AAAA,QAChB,MAAA,EAAO,cAAA;AAAA,QACP,OAAA,EAAS;AAAA;AAAA,KACX,GACE,IAAA;AAAA,IACH,IAAA;AAAA,IACA,WAAA,mBACC,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAK;AAAA,QACxB,YAAA,EAAc,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,QACpC,UAAA,EAAY,EAAE,KAAA,EAAO,YAAA,EAAa;AAAA,QAClC,SAAA,EAAW,EAAE,KAAA,EAAO,YAAA;AAAa;AAAA,KACnC,GACE,IAAA;AAAA,IACH,UAAA,mBAAa,GAAA,CAAC,MAAA,EAAA,EAAO,CAAA,GAAK;AAAA,GAAA,EAC7B,CAAA;AAEJ;;;ACvGO,SAAS,YAAA,CACd,OACA,KAAA,EACA;AACA,EAAA,IAAI,KAAA,IAAS,SAAS,YAAA,EAAc;AAClC,IAAA,OAAO,aAAa,KAAmB,CAAA;AAAA,EACzC;AACA,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,OAAO,EAAE,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM,KAAA,EAAM;AAAA,EACtC;AAEA,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA;AAChD,EAAA,OAAO,aAAA,CAAc,KAAA,GAAQ,aAAA,CAAc,MAAM,KAAK,YAAA,CAAa,IAAA;AACrE;AAEO,SAAS,aAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,GAAU,IAAA,EACV;AACA,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,MAAA,CAAO,KAAA,EAAO,KAAK,CAAA;AAC9C,EAAA,OACE,OAAO,IAAA,IACP,CAAA,EAAG,KAAA,CAAM,IAAI,GAAG,IAAA,CAAK,KAAA,CAAM,OAAA,GAAU,GAAG,EACrC,QAAA,CAAS,EAAE,EACX,QAAA,CAAS,CAAA,EAAG,GAAG,CAAC,CAAA,CAAA;AAEvB","file":"chunk-IQZROQNJ.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const chartVariants = cva(\n [\n \"relative w-full min-w-0 overflow-hidden rounded-xl\",\n \"h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80\",\n \"[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200\",\n \"[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg\",\n \"[&_.recharts-default-tooltip]:text-slate-900\",\n ],\n {\n variants: {\n appearance: {\n default:\n \"bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n muted:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n outline:\n \"border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n glass:\n \"border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n sky: \"bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n emerald:\n \"bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n violet:\n \"bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n amber:\n \"bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n rose: \"bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n slate:\n \"bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n gray: \"bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n indigo:\n \"bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900\",\n \"gradient-cyan-violet\":\n \"bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-violet\":\n \"bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-rose\":\n \"bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-slate-gray\":\n \"bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-indigo-purple\":\n \"bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-cyan-blue\":\n \"bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-emerald-blue\":\n \"bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n \"gradient-amber-blue\":\n \"bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white\",\n },\n density: {\n compact: \"p-2 sm:p-3\",\n comfortable: \"p-3 sm:p-4\",\n spacious: \"p-4 sm:p-5 md:p-6\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n density: \"comfortable\",\n },\n },\n);\n\nexport const chartPalette = {\n cyan: { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n emerald: { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n violet: { stroke: \"#7c3aed\", fill: \"#c4b5fd\", textColor: \"#7c3aed\" },\n amber: { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n rose: { stroke: \"#e11d48\", fill: \"#fda4af\", textColor: \"#e11d48\" },\n slate: { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n gray: { stroke: \"#6b7280\", fill: \"#d1d5db\", textColor: \"#6b7280\" },\n white: { stroke: \"#ffffff\", fill: \"#ffffff\", textColor: \"#ffffff\" },\n indigo: { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-violet\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-violet\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-rose\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n \"gradient-slate-gray\": { stroke: \"#475569\", fill: \"#cbd5e1\", textColor: \"#475569\" },\n \"gradient-indigo-purple\": { stroke: \"#6366f1\", fill: \"#c7d2fe\", textColor: \"#6366f1\" },\n \"gradient-cyan-blue\": { stroke: \"#0891b2\", fill: \"#67e8f9\", textColor: \"#0891b2\" },\n \"gradient-emerald-blue\": { stroke: \"#059669\", fill: \"#6ee7b7\", textColor: \"#059669\" },\n \"gradient-amber-blue\": { stroke: \"#d97706\", fill: \"#fcd34d\", textColor: \"#d97706\" },\n} as const;\n\nexport const chartColorValues = Object.keys(chartPalette) as Array<\n keyof typeof chartPalette\n>;\n","import type { CSSProperties, HTMLAttributes, ReactNode } from \"react\";\nimport { CartesianGrid, Legend, ResponsiveContainer, Tooltip } from \"recharts\";\n\nimport { cn } from \"../../lib/utils\";\nimport { chartVariants } from \"./variants\";\nimport { VariantProps } from \"class-variance-authority\";\n\ntype ChartFrameProps = HTMLAttributes<HTMLDivElement> & {\n appearance?: VariantProps<typeof chartVariants>[\"appearance\"];\n containerStyle?: CSSProperties;\n density?: \"compact\" | \"comfortable\" | \"spacious\" | null;\n emptyState?: ReactNode;\n hasData: boolean;\n height: number;\n showGrid?: boolean;\n showLegend?: boolean;\n showTooltip?: boolean;\n style?: CSSProperties;\n children: ReactNode;\n};\n\nexport const defaultChartMargin = { top: 16, right: 16, bottom: 8, left: 0 };\n\nexport function ChartFrame({\n appearance,\n children,\n className,\n containerStyle,\n density,\n emptyState = null,\n hasData,\n height,\n style,\n ...props\n}: ChartFrameProps) {\n const chartStyle = {\n \"--chart-height\": `${height}px`,\n ...style,\n } as CSSProperties;\n\n if (!hasData) {\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...props}\n >\n <div className=\"flex h-full min-h-48 items-center justify-center text-sm text-slate-500\">\n {emptyState}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(chartVariants({ appearance, density }), className)}\n style={chartStyle}\n {...props}\n >\n <ResponsiveContainer\n width=\"100%\"\n height=\"100%\"\n debounce={80}\n style={containerStyle}\n >\n {children}\n </ResponsiveContainer>\n </div>\n );\n}\n\nexport function ChartDecorators({\n axis,\n showGrid,\n showLegend,\n showTooltip,\n tooltipColor = \"#0f172a\",\n}: {\n axis: ReactNode;\n showGrid: boolean;\n showLegend: boolean;\n showTooltip: boolean;\n tooltipColor?: string;\n}) {\n return (\n <>\n {showGrid ? (\n <CartesianGrid\n strokeDasharray=\"3 3\"\n stroke=\"currentColor\"\n opacity={0.16}\n />\n ) : null}\n {axis}\n {showTooltip ? (\n <Tooltip\n cursor={{ opacity: 0.12 }}\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend /> : null}\n </>\n );\n}\n","import type { ChartColor, ChartSeries } from \"./types\";\nimport { chartPalette } from \"./variants\";\n\nexport function resolveColor(\n color: ChartColor | string | undefined,\n index: number,\n) {\n if (color && color in chartPalette) {\n return chartPalette[color as ChartColor];\n }\n if (color) {\n return { stroke: color, fill: color };\n }\n\n const paletteValues = Object.values(chartPalette);\n return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;\n}\n\nexport function getSeriesFill(\n series: ChartSeries,\n index: number,\n opacity = 0.18,\n) {\n const color = resolveColor(series.color, index);\n return (\n series.fill ??\n `${color.fill}${Math.round(opacity * 255)\n .toString(16)\n .padStart(2, \"0\")}`\n );\n}\n"]}