@zentauri-ui/zentauri-components 1.4.64 → 1.4.70

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 (88) hide show
  1. package/README.md +97 -51
  2. package/cli/index.mjs +45 -26
  3. package/cli/registry.json +9 -1
  4. package/cli/rewrite-imports.mjs +8 -3
  5. package/dist/charts/area/Area.d.ts +6 -0
  6. package/dist/charts/area/Area.d.ts.map +1 -0
  7. package/dist/charts/area/index.d.ts +4 -0
  8. package/dist/charts/area/index.d.ts.map +1 -0
  9. package/dist/charts/area.js +119 -0
  10. package/dist/charts/area.js.map +1 -0
  11. package/dist/charts/area.mjs +106 -0
  12. package/dist/charts/area.mjs.map +1 -0
  13. package/dist/charts/bar/Bar.d.ts +6 -0
  14. package/dist/charts/bar/Bar.d.ts.map +1 -0
  15. package/dist/charts/bar/index.d.ts +4 -0
  16. package/dist/charts/bar/index.d.ts.map +1 -0
  17. package/dist/charts/bar.js +110 -0
  18. package/dist/charts/bar.js.map +1 -0
  19. package/dist/charts/bar.mjs +97 -0
  20. package/dist/charts/bar.mjs.map +1 -0
  21. package/dist/charts/bubble/Bubble.d.ts +6 -0
  22. package/dist/charts/bubble/Bubble.d.ts.map +1 -0
  23. package/dist/charts/bubble/index.d.ts +4 -0
  24. package/dist/charts/bubble/index.d.ts.map +1 -0
  25. package/dist/charts/bubble.js +122 -0
  26. package/dist/charts/bubble.js.map +1 -0
  27. package/dist/charts/bubble.mjs +109 -0
  28. package/dist/charts/bubble.mjs.map +1 -0
  29. package/dist/charts/line/Line.d.ts +6 -0
  30. package/dist/charts/line/Line.d.ts.map +1 -0
  31. package/dist/charts/line/index.d.ts +4 -0
  32. package/dist/charts/line/index.d.ts.map +1 -0
  33. package/dist/charts/line.js +113 -0
  34. package/dist/charts/line.js.map +1 -0
  35. package/dist/charts/line.mjs +100 -0
  36. package/dist/charts/line.mjs.map +1 -0
  37. package/dist/charts/shared/chart-frame.d.ts +32 -0
  38. package/dist/charts/shared/chart-frame.d.ts.map +1 -0
  39. package/dist/charts/shared/colors.d.ts +43 -0
  40. package/dist/charts/shared/colors.d.ts.map +1 -0
  41. package/dist/charts/shared/types.d.ts +43 -0
  42. package/dist/charts/shared/types.d.ts.map +1 -0
  43. package/dist/charts/shared/variants.d.ts +93 -0
  44. package/dist/charts/shared/variants.d.ts.map +1 -0
  45. package/dist/chunk-CIN5JDN4.js +174 -0
  46. package/dist/chunk-CIN5JDN4.js.map +1 -0
  47. package/dist/chunk-IQZROQNJ.mjs +165 -0
  48. package/dist/chunk-IQZROQNJ.mjs.map +1 -0
  49. package/dist/ui/accordion/variants.d.ts +2 -2
  50. package/dist/ui/alert/variants.d.ts +1 -1
  51. package/dist/ui/avatar/variants.d.ts +1 -1
  52. package/dist/ui/badge/variants.d.ts +2 -2
  53. package/dist/ui/breadcrumb/variants.d.ts +1 -1
  54. package/dist/ui/buttons/variants.d.ts +2 -2
  55. package/dist/ui/card/variants.d.ts +1 -1
  56. package/dist/ui/divider/variants.d.ts +2 -2
  57. package/dist/ui/drawer/variants.d.ts +3 -3
  58. package/dist/ui/dropdown/variants.d.ts +4 -4
  59. package/dist/ui/file-upload/variants.d.ts +1 -1
  60. package/dist/ui/inputs/variants.d.ts +2 -2
  61. package/dist/ui/modal/variants.d.ts +2 -2
  62. package/dist/ui/pagination/pagination.d.ts +2 -2
  63. package/dist/ui/pagination/variants.d.ts +3 -3
  64. package/dist/ui/progress/variants.d.ts +1 -1
  65. package/dist/ui/select/variants.d.ts +4 -4
  66. package/dist/ui/skeleton/variants.d.ts +2 -2
  67. package/dist/ui/slider/variants.d.ts +1 -1
  68. package/dist/ui/spinner/animated/variants.d.ts +1 -1
  69. package/dist/ui/stepper/variants.d.ts +1 -1
  70. package/dist/ui/table/variants.d.ts +3 -3
  71. package/dist/ui/tabs/variants.d.ts +1 -1
  72. package/dist/ui/toast/variants.d.ts +1 -1
  73. package/dist/ui/toggle/variants.d.ts +1 -1
  74. package/dist/ui/tooltip/variants.d.ts +1 -1
  75. package/dist/ui/typography/variants.d.ts +3 -3
  76. package/package.json +32 -12
  77. package/src/charts/area/Area.tsx +103 -0
  78. package/src/charts/area/index.ts +9 -0
  79. package/src/charts/bar/Bar.tsx +94 -0
  80. package/src/charts/bar/index.ts +9 -0
  81. package/src/charts/bubble/Bubble.tsx +113 -0
  82. package/src/charts/bubble/index.ts +9 -0
  83. package/src/charts/line/Line.tsx +97 -0
  84. package/src/charts/line/index.ts +9 -0
  85. package/src/charts/shared/chart-frame.tsx +107 -0
  86. package/src/charts/shared/colors.ts +31 -0
  87. package/src/charts/shared/types.ts +60 -0
  88. package/src/charts/shared/variants.ts +87 -0
@@ -0,0 +1,31 @@
1
+ import type { ChartColor, ChartSeries } from "./types";
2
+ import { chartPalette } from "./variants";
3
+
4
+ export function resolveColor(
5
+ color: ChartColor | string | undefined,
6
+ index: number,
7
+ ) {
8
+ if (color && color in chartPalette) {
9
+ return chartPalette[color as ChartColor];
10
+ }
11
+ if (color) {
12
+ return { stroke: color, fill: color };
13
+ }
14
+
15
+ const paletteValues = Object.values(chartPalette);
16
+ return paletteValues[index % paletteValues.length] ?? chartPalette.cyan;
17
+ }
18
+
19
+ export function getSeriesFill(
20
+ series: ChartSeries,
21
+ index: number,
22
+ opacity = 0.18,
23
+ ) {
24
+ const color = resolveColor(series.color, index);
25
+ return (
26
+ series.fill ??
27
+ `${color.fill}${Math.round(opacity * 255)
28
+ .toString(16)
29
+ .padStart(2, "0")}`
30
+ );
31
+ }
@@ -0,0 +1,60 @@
1
+ import type { VariantProps } from "class-variance-authority";
2
+ import type { CSSProperties, HTMLAttributes, ReactNode } from "react";
3
+
4
+ import type { chartPalette, chartVariants } from "./variants";
5
+
6
+ export type ChartType = "area" | "bar" | "bubble" | "line";
7
+
8
+ export type ChartColor = keyof typeof chartPalette;
9
+
10
+ export type ChartDatum = Record<string, number | string | null | undefined>;
11
+
12
+ export type ChartMargin = {
13
+ top?: number;
14
+ right?: number;
15
+ bottom?: number;
16
+ left?: number;
17
+ };
18
+
19
+ export type ChartSeries = {
20
+ dataKey: string;
21
+ name?: string;
22
+ color?: ChartColor | string;
23
+ textColor?: string;
24
+ fill?: string;
25
+ stackId?: string;
26
+ zKey?: string;
27
+ };
28
+
29
+ export type ChartSharedStatic = VariantProps<typeof chartVariants>;
30
+
31
+ export type BaseChartProps<TDatum extends ChartDatum = ChartDatum> =
32
+ ChartSharedStatic &
33
+ Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
34
+ data: TDatum[];
35
+ series: ChartSeries[];
36
+ xKey: keyof TDatum & string;
37
+ height?: number;
38
+ showGrid?: boolean;
39
+ showLegend?: boolean;
40
+ showTooltip?: boolean;
41
+ tooltipColor?: string;
42
+ stacked?: boolean;
43
+ syncId?: string;
44
+ margin?: ChartMargin;
45
+ emptyState?: ReactNode;
46
+ containerStyle?: CSSProperties;
47
+ strokeDasharray?: string;
48
+ };
49
+
50
+ export type AreaChartProps<TDatum extends ChartDatum = ChartDatum> =
51
+ BaseChartProps<TDatum>;
52
+
53
+ export type BarChartProps<TDatum extends ChartDatum = ChartDatum> =
54
+ BaseChartProps<TDatum>;
55
+
56
+ export type LineChartProps<TDatum extends ChartDatum = ChartDatum> =
57
+ BaseChartProps<TDatum>;
58
+
59
+ export type BubbleChartProps<TDatum extends ChartDatum = ChartDatum> =
60
+ BaseChartProps<TDatum>;
@@ -0,0 +1,87 @@
1
+ import { cva } from "class-variance-authority";
2
+
3
+ export const chartVariants = cva(
4
+ [
5
+ "relative w-full min-w-0 overflow-hidden rounded-xl",
6
+ "h-[var(--chart-height)] min-h-64 sm:min-h-72 md:min-h-80",
7
+ "[&_.recharts-default-tooltip]:rounded-lg [&_.recharts-default-tooltip]:border [&_.recharts-default-tooltip]:border-slate-200",
8
+ "[&_.recharts-default-tooltip]:bg-white/95 [&_.recharts-default-tooltip]:shadow-lg",
9
+ "[&_.recharts-default-tooltip]:text-slate-900",
10
+ ],
11
+ {
12
+ variants: {
13
+ appearance: {
14
+ default:
15
+ "bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
16
+ muted:
17
+ "bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
18
+ outline:
19
+ "border border-slate-200 bg-white text-slate-600 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
20
+ glass:
21
+ "border border-white/15 bg-white/10 text-slate-100 backdrop-blur-md [&_.recharts-cartesian-axis-tick-value]:fill-white",
22
+ sky: "bg-sky-50 text-sky-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
23
+ emerald:
24
+ "bg-emerald-50 text-emerald-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
25
+ violet:
26
+ "bg-violet-50 text-violet-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
27
+ amber:
28
+ "bg-amber-50 text-amber-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
29
+ rose: "bg-rose-50 text-rose-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
30
+ slate:
31
+ "bg-slate-50 text-slate-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
32
+ gray: "bg-gray-50 text-gray-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
33
+ indigo:
34
+ "bg-indigo-50 text-indigo-500 [&_.recharts-cartesian-axis-tick-value]:fill-slate-900",
35
+ "gradient-cyan-violet":
36
+ "bg-gradient-to-r from-cyan-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
37
+ "gradient-emerald-violet":
38
+ "bg-gradient-to-r from-emerald-500 to-violet-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
39
+ "gradient-amber-rose":
40
+ "bg-gradient-to-r from-amber-500 to-rose-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
41
+ "gradient-slate-gray":
42
+ "bg-gradient-to-r from-slate-500 to-gray-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
43
+ "gradient-indigo-purple":
44
+ "bg-gradient-to-r from-indigo-500 to-purple-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
45
+ "gradient-cyan-blue":
46
+ "bg-gradient-to-r from-cyan-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
47
+ "gradient-emerald-blue":
48
+ "bg-gradient-to-r from-emerald-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
49
+ "gradient-amber-blue":
50
+ "bg-gradient-to-r from-amber-500 to-blue-500 text-white [&_.recharts-cartesian-axis-tick-value]:fill-white",
51
+ },
52
+ density: {
53
+ compact: "p-2 sm:p-3",
54
+ comfortable: "p-3 sm:p-4",
55
+ spacious: "p-4 sm:p-5 md:p-6",
56
+ },
57
+ },
58
+ defaultVariants: {
59
+ appearance: "default",
60
+ density: "comfortable",
61
+ },
62
+ },
63
+ );
64
+
65
+ export const chartPalette = {
66
+ cyan: { stroke: "#0891b2", fill: "#67e8f9", textColor: "#0891b2" },
67
+ emerald: { stroke: "#059669", fill: "#6ee7b7", textColor: "#059669" },
68
+ violet: { stroke: "#7c3aed", fill: "#c4b5fd", textColor: "#7c3aed" },
69
+ amber: { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" },
70
+ rose: { stroke: "#e11d48", fill: "#fda4af", textColor: "#e11d48" },
71
+ slate: { stroke: "#475569", fill: "#cbd5e1", textColor: "#475569" },
72
+ gray: { stroke: "#6b7280", fill: "#d1d5db", textColor: "#6b7280" },
73
+ white: { stroke: "#ffffff", fill: "#ffffff", textColor: "#ffffff" },
74
+ indigo: { stroke: "#6366f1", fill: "#c7d2fe", textColor: "#6366f1" },
75
+ "gradient-cyan-violet": { stroke: "#0891b2", fill: "#67e8f9", textColor: "#0891b2" },
76
+ "gradient-emerald-violet": { stroke: "#059669", fill: "#6ee7b7", textColor: "#059669" },
77
+ "gradient-amber-rose": { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" },
78
+ "gradient-slate-gray": { stroke: "#475569", fill: "#cbd5e1", textColor: "#475569" },
79
+ "gradient-indigo-purple": { stroke: "#6366f1", fill: "#c7d2fe", textColor: "#6366f1" },
80
+ "gradient-cyan-blue": { stroke: "#0891b2", fill: "#67e8f9", textColor: "#0891b2" },
81
+ "gradient-emerald-blue": { stroke: "#059669", fill: "#6ee7b7", textColor: "#059669" },
82
+ "gradient-amber-blue": { stroke: "#d97706", fill: "#fcd34d", textColor: "#d97706" },
83
+ } as const;
84
+
85
+ export const chartColorValues = Object.keys(chartPalette) as Array<
86
+ keyof typeof chartPalette
87
+ >;