@wealthx/shadcn 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +154 -138
- package/CHANGELOG.md +6 -0
- package/README.md +82 -0
- package/dist/chunk-3EQP72AW.mjs +58 -0
- package/dist/chunk-5JGQAAQV.mjs +212 -0
- package/dist/chunk-GLW2UO6O.mjs +212 -0
- package/dist/chunk-RN67642N.mjs +171 -0
- package/dist/chunk-UEL4RD5P.mjs +272 -0
- package/dist/chunk-YBXCIF5Q.mjs +198 -0
- package/dist/components/ui/cashflow-bar-chart.js +596 -0
- package/dist/components/ui/cashflow-bar-chart.mjs +16 -0
- package/dist/components/ui/combobox.js +261 -0
- package/dist/components/ui/combobox.mjs +28 -0
- package/dist/components/ui/data-table.mjs +3 -3
- package/dist/components/ui/expense-bar-chart.js +543 -0
- package/dist/components/ui/expense-bar-chart.mjs +16 -0
- package/dist/components/ui/field.mjs +2 -2
- package/dist/components/ui/income-bar-chart.js +543 -0
- package/dist/components/ui/income-bar-chart.mjs +16 -0
- package/dist/components/ui/transactions-income-expense-bar-chart.js +478 -0
- package/dist/components/ui/transactions-income-expense-bar-chart.mjs +16 -0
- package/dist/index.js +1685 -725
- package/dist/index.mjs +152 -111
- package/dist/styles.css +1 -1
- package/package.json +30 -2
- package/src/components/index.tsx +56 -0
- package/src/components/ui/cashflow-bar-chart.tsx +336 -0
- package/src/components/ui/chart-shared.tsx +100 -0
- package/src/components/ui/combobox.tsx +217 -0
- package/src/components/ui/expense-bar-chart.tsx +278 -0
- package/src/components/ui/income-bar-chart.tsx +278 -0
- package/src/components/ui/transactions-income-expense-bar-chart.tsx +198 -0
- package/src/styles/styles-css.ts +1 -1
- package/tsup.config.ts +5 -0
- package/dist/{chunk-K76E2TQU.mjs → chunk-CJ46PDXE.mjs} +5 -5
- package/dist/{chunk-HUVTPUV2.mjs → chunk-NLLKTU4B.mjs} +3 -3
package/.turbo/turbo-build.log
CHANGED
|
@@ -14,150 +14,166 @@ npm warn Unknown project config "auto-install-peers". This will stop working in
|
|
|
14
14
|
npm warn Unknown project config "public-hoist-pattern". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
|
|
15
15
|
[3m[1m[34m≈[39m[22m[23m tailwindcss [34mv4.2.2[39m
|
|
16
16
|
|
|
17
|
-
Done in [
|
|
17
|
+
Done in [33m539ms[39m
|
|
18
18
|
Built dist/styles.css and src/styles/styles-css.ts
|
|
19
19
|
warning package.json: No license field
|
|
20
20
|
$ tsup
|
|
21
|
-
[34mCLI[39m Building entry: src/index.ts, src/lib/colors.ts, src/lib/theme-provider.tsx, src/lib/typography.ts, src/lib/utils.ts, src/components/ui/accordion.tsx, src/components/ui/alert-dialog.tsx, src/components/ui/alert.tsx, src/components/ui/avatar.tsx, src/components/ui/badge.tsx, src/components/ui/button.tsx, src/components/ui/calendar.tsx, src/components/ui/card.tsx, src/components/ui/checkbox.tsx, src/components/ui/chip.tsx, src/components/ui/data-table.tsx, src/components/ui/date-picker.tsx, src/components/ui/dialog.tsx, src/components/ui/drawer.tsx, src/components/ui/dropdown-menu.tsx, src/components/ui/empty.tsx, src/components/ui/field.tsx, src/components/ui/input-group.tsx, src/components/ui/input-otp.tsx, src/components/ui/input.tsx, src/components/ui/label.tsx, src/components/ui/pagination.tsx, src/components/ui/popover.tsx, src/components/ui/progress.tsx, src/components/ui/radio-group.tsx, src/components/ui/select.tsx, src/components/ui/separator.tsx, src/components/ui/sheet.tsx, src/components/ui/skeleton.tsx, src/components/ui/slider.tsx, src/components/ui/sonner.tsx, src/components/ui/spinner.tsx, src/components/ui/switch.tsx, src/components/ui/table.tsx, src/components/ui/tabs.tsx, src/components/ui/textarea.tsx, src/components/ui/toggle-group.tsx, src/components/ui/toggle.tsx, src/components/ui/tooltip.tsx
|
|
21
|
+
[34mCLI[39m Building entry: src/index.ts, src/lib/colors.ts, src/lib/theme-provider.tsx, src/lib/typography.ts, src/lib/utils.ts, src/components/ui/accordion.tsx, src/components/ui/alert-dialog.tsx, src/components/ui/alert.tsx, src/components/ui/avatar.tsx, src/components/ui/badge.tsx, src/components/ui/button.tsx, src/components/ui/calendar.tsx, src/components/ui/card.tsx, src/components/ui/cashflow-bar-chart.tsx, src/components/ui/checkbox.tsx, src/components/ui/chip.tsx, src/components/ui/combobox.tsx, src/components/ui/data-table.tsx, src/components/ui/date-picker.tsx, src/components/ui/dialog.tsx, src/components/ui/drawer.tsx, src/components/ui/dropdown-menu.tsx, src/components/ui/empty.tsx, src/components/ui/expense-bar-chart.tsx, src/components/ui/field.tsx, src/components/ui/income-bar-chart.tsx, src/components/ui/input-group.tsx, src/components/ui/input-otp.tsx, src/components/ui/input.tsx, src/components/ui/label.tsx, src/components/ui/pagination.tsx, src/components/ui/popover.tsx, src/components/ui/progress.tsx, src/components/ui/radio-group.tsx, src/components/ui/select.tsx, src/components/ui/separator.tsx, src/components/ui/sheet.tsx, src/components/ui/skeleton.tsx, src/components/ui/slider.tsx, src/components/ui/sonner.tsx, src/components/ui/spinner.tsx, src/components/ui/switch.tsx, src/components/ui/table.tsx, src/components/ui/tabs.tsx, src/components/ui/textarea.tsx, src/components/ui/toggle-group.tsx, src/components/ui/toggle.tsx, src/components/ui/tooltip.tsx, src/components/ui/transactions-income-expense-bar-chart.tsx
|
|
22
22
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
23
23
|
[34mCLI[39m tsup v8.5.1
|
|
24
24
|
[34mCLI[39m Using tsup config: /home/runner/work/wealthx-ui/wealthx-ui/packages/shadcn/tsup.config.ts
|
|
25
25
|
[34mCLI[39m Target: es6
|
|
26
26
|
[34mCJS[39m Build start
|
|
27
27
|
[34mESM[39m Build start
|
|
28
|
-
[32mESM[39m [1mdist/lib/colors.mjs
|
|
29
|
-
[32mESM[39m [1mdist/index.mjs
|
|
30
|
-
[32mESM[39m [1mdist/chunk-
|
|
31
|
-
[32mESM[39m [1mdist/chunk-
|
|
32
|
-
[32mESM[39m [1mdist/chunk-
|
|
33
|
-
[32mESM[39m [1mdist/chunk-
|
|
34
|
-
[32mESM[39m [1mdist/chunk-
|
|
35
|
-
[32mESM[39m [1mdist/chunk-
|
|
36
|
-
[32mESM[39m [1mdist/chunk-
|
|
37
|
-
[32mESM[39m [1mdist/chunk-
|
|
38
|
-
[32mESM[39m [1mdist/chunk-
|
|
39
|
-
[32mESM[39m [1mdist/chunk-
|
|
40
|
-
[32mESM[39m [1mdist/chunk-
|
|
41
|
-
[32mESM[39m [1mdist/chunk-
|
|
42
|
-
[32mESM[39m [1mdist/chunk-
|
|
43
|
-
[32mESM[39m [1mdist/chunk-
|
|
44
|
-
[32mESM[39m [1mdist/chunk-
|
|
45
|
-
[32mESM[39m [1mdist/chunk-
|
|
46
|
-
[32mESM[39m [1mdist/chunk-
|
|
47
|
-
[32mESM[39m [1mdist/chunk-
|
|
48
|
-
[32mESM[39m [1mdist/chunk-
|
|
49
|
-
[32mESM[39m [1mdist/chunk-
|
|
50
|
-
[32mESM[39m [1mdist/chunk-
|
|
51
|
-
[32mESM[39m [1mdist/chunk-
|
|
52
|
-
[32mESM[39m [1mdist/chunk-
|
|
53
|
-
[32mESM[39m [1mdist/chunk-
|
|
54
|
-
[32mESM[39m [1mdist/chunk-
|
|
55
|
-
[32mESM[39m [1mdist/chunk-
|
|
56
|
-
[32mESM[39m [1mdist/chunk-
|
|
57
|
-
[32mESM[39m [1mdist/chunk-
|
|
58
|
-
[32mESM[39m [1mdist/chunk-
|
|
59
|
-
[32mESM[39m [1mdist/chunk-
|
|
60
|
-
[32mESM[39m [1mdist/chunk-
|
|
61
|
-
[32mESM[39m [1mdist/chunk-
|
|
62
|
-
[32mESM[39m [1mdist/chunk-
|
|
63
|
-
[32mESM[39m [1mdist/chunk-
|
|
64
|
-
[32mESM[39m [1mdist/chunk-
|
|
65
|
-
[32mESM[39m [1mdist/
|
|
66
|
-
[32mESM[39m [1mdist/
|
|
67
|
-
[32mESM[39m [1mdist/chunk-
|
|
68
|
-
[32mESM[39m [1mdist/
|
|
69
|
-
[32mESM[39m [1mdist/chunk-
|
|
70
|
-
[32mESM[39m [1mdist/chunk-
|
|
71
|
-
[32mESM[39m [1mdist/
|
|
72
|
-
[32mESM[39m [1mdist/
|
|
73
|
-
[32mESM[39m [1mdist/chunk-
|
|
74
|
-
[32mESM[39m [1mdist/
|
|
75
|
-
[32mESM[39m [1mdist/chunk-
|
|
76
|
-
[32mESM[39m [1mdist/chunk-
|
|
77
|
-
[32mESM[39m [1mdist/chunk-
|
|
78
|
-
[32mESM[39m [1mdist/
|
|
79
|
-
[32mESM[39m [1mdist/
|
|
80
|
-
[32mESM[39m [1mdist/
|
|
81
|
-
[32mESM[39m [1mdist/
|
|
82
|
-
[32mESM[39m [1mdist/
|
|
83
|
-
[32mESM[39m [1mdist/
|
|
84
|
-
[32mESM[39m [1mdist/components/ui/
|
|
85
|
-
[32mESM[39m [1mdist/components/ui/
|
|
86
|
-
[32mESM[39m [1mdist/components/ui/
|
|
87
|
-
[32mESM[39m [1mdist/components/ui/
|
|
88
|
-
[32mESM[39m [1mdist/components/ui/
|
|
89
|
-
[32mESM[39m [1mdist/components/ui/
|
|
90
|
-
[32mESM[39m [1mdist/components/ui/
|
|
91
|
-
[32mESM[39m [1mdist/components/ui/
|
|
92
|
-
[32mESM[39m [1mdist/components/ui/
|
|
93
|
-
[32mESM[39m [1mdist/components/ui/
|
|
94
|
-
[32mESM[39m [1mdist/components/ui/
|
|
95
|
-
[32mESM[39m [1mdist/components/ui/
|
|
96
|
-
[32mESM[39m [1mdist/components/ui/
|
|
97
|
-
[32mESM[39m [1mdist/components/ui/
|
|
98
|
-
[32mESM[39m [1mdist/components/ui/
|
|
99
|
-
[32mESM[39m [1mdist/components/ui/
|
|
100
|
-
[32mESM[39m [1mdist/components/ui/
|
|
101
|
-
[32mESM[39m [1mdist/components/ui/
|
|
102
|
-
[32mESM[39m [1mdist/components/ui/
|
|
103
|
-
[32mESM[39m [1mdist/components/ui/
|
|
104
|
-
[32mESM[39m [1mdist/components/ui/input
|
|
105
|
-
[32mESM[39m [1mdist/components/ui/
|
|
106
|
-
[32mESM[39m [1mdist/components/ui/
|
|
107
|
-
[32mESM[39m [1mdist/components/ui/
|
|
108
|
-
[32mESM[39m [1mdist/components/ui/
|
|
109
|
-
[32mESM[39m [1mdist/components/ui/
|
|
110
|
-
[32mESM[39m [1mdist/components/ui/
|
|
111
|
-
[32mESM[39m [1mdist/components/ui/
|
|
112
|
-
[32mESM[39m [1mdist/components/ui/
|
|
113
|
-
[32mESM[39m [1mdist/components/ui/
|
|
114
|
-
[32mESM[39m [1mdist/components/ui/
|
|
115
|
-
[32mESM[39m [1mdist/components/ui/
|
|
116
|
-
[32mESM[39m [1mdist/components/ui/
|
|
117
|
-
[32mESM[39m
|
|
118
|
-
[
|
|
119
|
-
[
|
|
120
|
-
[
|
|
121
|
-
[
|
|
122
|
-
[
|
|
123
|
-
[
|
|
124
|
-
[
|
|
125
|
-
[
|
|
126
|
-
[
|
|
127
|
-
[
|
|
128
|
-
[
|
|
129
|
-
[32mCJS[39m [1mdist/
|
|
130
|
-
[32mCJS[39m [1mdist/
|
|
131
|
-
[32mCJS[39m [1mdist/
|
|
132
|
-
[32mCJS[39m [1mdist/
|
|
133
|
-
[32mCJS[39m [1mdist/
|
|
134
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
135
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
136
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
137
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
138
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
139
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
140
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
141
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
142
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
143
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
144
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
145
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
146
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
147
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
148
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
149
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
150
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
151
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
152
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
153
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
154
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
155
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
156
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
157
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
158
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
159
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
160
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
161
|
-
[32mCJS[39m [1mdist/components/ui/
|
|
162
|
-
[32mCJS[39m
|
|
163
|
-
|
|
28
|
+
[32mESM[39m [1mdist/lib/colors.mjs [22m[32m205.00 B[39m
|
|
29
|
+
[32mESM[39m [1mdist/index.mjs [22m[32m8.68 KB[39m
|
|
30
|
+
[32mESM[39m [1mdist/chunk-RN67642N.mjs [22m[32m5.41 KB[39m
|
|
31
|
+
[32mESM[39m [1mdist/chunk-BMFN37JH.mjs [22m[32m865.00 B[39m
|
|
32
|
+
[32mESM[39m [1mdist/chunk-VYMHBV6D.mjs [22m[32m3.78 KB[39m
|
|
33
|
+
[32mESM[39m [1mdist/chunk-RL772EH7.mjs [22m[32m4.04 KB[39m
|
|
34
|
+
[32mESM[39m [1mdist/chunk-DDPA2XXS.mjs [22m[32m2.45 KB[39m
|
|
35
|
+
[32mESM[39m [1mdist/chunk-3U7SD3MS.mjs [22m[32m1.74 KB[39m
|
|
36
|
+
[32mESM[39m [1mdist/chunk-CGOKTPXU.mjs [22m[32m2.24 KB[39m
|
|
37
|
+
[32mESM[39m [1mdist/chunk-BBJBJSXQ.mjs [22m[32m995.00 B[39m
|
|
38
|
+
[32mESM[39m [1mdist/chunk-JU2RUWHF.mjs [22m[32m3.88 KB[39m
|
|
39
|
+
[32mESM[39m [1mdist/chunk-PMKODV6M.mjs [22m[32m4.88 KB[39m
|
|
40
|
+
[32mESM[39m [1mdist/chunk-K74JRTJR.mjs [22m[32m2.75 KB[39m
|
|
41
|
+
[32mESM[39m [1mdist/chunk-2Y7YJKPE.mjs [22m[32m1.24 KB[39m
|
|
42
|
+
[32mESM[39m [1mdist/chunk-NLLKTU4B.mjs [22m[32m6.89 KB[39m
|
|
43
|
+
[32mESM[39m [1mdist/chunk-55CEW76V.mjs [22m[32m840.00 B[39m
|
|
44
|
+
[32mESM[39m [1mdist/chunk-GLW2UO6O.mjs [22m[32m6.90 KB[39m
|
|
45
|
+
[32mESM[39m [1mdist/chunk-46OFHMQA.mjs [22m[32m5.71 KB[39m
|
|
46
|
+
[32mESM[39m [1mdist/chunk-GPRJQ24C.mjs [22m[32m1005.00 B[39m
|
|
47
|
+
[32mESM[39m [1mdist/chunk-Z3MK2KKZ.mjs [22m[32m2.66 KB[39m
|
|
48
|
+
[32mESM[39m [1mdist/chunk-ZZV5JVNW.mjs [22m[32m835.00 B[39m
|
|
49
|
+
[32mESM[39m [1mdist/chunk-I64K754C.mjs [22m[32m3.51 KB[39m
|
|
50
|
+
[32mESM[39m [1mdist/chunk-YBXCIF5Q.mjs [22m[32m6.79 KB[39m
|
|
51
|
+
[32mESM[39m [1mdist/chunk-CJ46PDXE.mjs [22m[32m12.35 KB[39m
|
|
52
|
+
[32mESM[39m [1mdist/chunk-BGP2N52Z.mjs [22m[32m3.07 KB[39m
|
|
53
|
+
[32mESM[39m [1mdist/chunk-VZ2NR7L3.mjs [22m[32m6.68 KB[39m
|
|
54
|
+
[32mESM[39m [1mdist/chunk-DS2AMHN2.mjs [22m[32m1.12 KB[39m
|
|
55
|
+
[32mESM[39m [1mdist/chunk-FHNT55I5.mjs [22m[32m3.58 KB[39m
|
|
56
|
+
[32mESM[39m [1mdist/chunk-MQ72DIBH.mjs [22m[32m3.01 KB[39m
|
|
57
|
+
[32mESM[39m [1mdist/chunk-DKZRJOMF.mjs [22m[32m5.28 KB[39m
|
|
58
|
+
[32mESM[39m [1mdist/chunk-6AFMNC42.mjs [22m[32m4.84 KB[39m
|
|
59
|
+
[32mESM[39m [1mdist/chunk-MJIEMGRD.mjs [22m[32m9.04 KB[39m
|
|
60
|
+
[32mESM[39m [1mdist/chunk-5JGQAAQV.mjs [22m[32m6.93 KB[39m
|
|
61
|
+
[32mESM[39m [1mdist/chunk-6OJF6XRN.mjs [22m[32m3.27 KB[39m
|
|
62
|
+
[32mESM[39m [1mdist/chunk-3NQGYJEZ.mjs [22m[32m7.72 KB[39m
|
|
63
|
+
[32mESM[39m [1mdist/chunk-UEL4RD5P.mjs [22m[32m8.50 KB[39m
|
|
64
|
+
[32mESM[39m [1mdist/chunk-3EQP72AW.mjs [22m[32m1.68 KB[39m
|
|
65
|
+
[32mESM[39m [1mdist/chunk-HS7TFG7V.mjs [22m[32m483.00 B[39m
|
|
66
|
+
[32mESM[39m [1mdist/chunk-YN5SYTOO.mjs [22m[32m2.81 KB[39m
|
|
67
|
+
[32mESM[39m [1mdist/chunk-SLWCCURD.mjs [22m[32m2.45 KB[39m
|
|
68
|
+
[32mESM[39m [1mdist/chunk-JF4PHPD5.mjs [22m[32m3.93 KB[39m
|
|
69
|
+
[32mESM[39m [1mdist/chunk-VG6UF6UT.mjs [22m[32m1.63 KB[39m
|
|
70
|
+
[32mESM[39m [1mdist/chunk-E3K6O4FZ.mjs [22m[32m1.87 KB[39m
|
|
71
|
+
[32mESM[39m [1mdist/lib/theme-provider.mjs [22m[32m237.00 B[39m
|
|
72
|
+
[32mESM[39m [1mdist/lib/typography.mjs [22m[32m527.00 B[39m
|
|
73
|
+
[32mESM[39m [1mdist/chunk-3VQNJ235.mjs [22m[32m3.52 KB[39m
|
|
74
|
+
[32mESM[39m [1mdist/lib/utils.mjs [22m[32m95.00 B[39m
|
|
75
|
+
[32mESM[39m [1mdist/chunk-KKHTJNMM.mjs [22m[32m2.51 KB[39m
|
|
76
|
+
[32mESM[39m [1mdist/chunk-KQDD5MU3.mjs [22m[32m6.31 KB[39m
|
|
77
|
+
[32mESM[39m [1mdist/chunk-4AJ5HWHD.mjs [22m[32m3.52 KB[39m
|
|
78
|
+
[32mESM[39m [1mdist/chunk-DBHJ5KC3.mjs [22m[32m1.56 KB[39m
|
|
79
|
+
[32mESM[39m [1mdist/chunk-OXQQNQZI.mjs [22m[32m2.93 KB[39m
|
|
80
|
+
[32mESM[39m [1mdist/chunk-QOJ2DQD6.mjs [22m[32m2.06 KB[39m
|
|
81
|
+
[32mESM[39m [1mdist/chunk-CZ3BW5GL.mjs [22m[32m2.25 KB[39m
|
|
82
|
+
[32mESM[39m [1mdist/chunk-V7CNWJT3.mjs [22m[32m168.00 B[39m
|
|
83
|
+
[32mESM[39m [1mdist/chunk-FWCSY2DS.mjs [22m[32m1.30 KB[39m
|
|
84
|
+
[32mESM[39m [1mdist/components/ui/transactions-income-expense-bar-chart.mjs [22m[32m478.00 B[39m
|
|
85
|
+
[32mESM[39m [1mdist/components/ui/switch.mjs [22m[32m186.00 B[39m
|
|
86
|
+
[32mESM[39m [1mdist/components/ui/table.mjs [22m[32m336.00 B[39m
|
|
87
|
+
[32mESM[39m [1mdist/components/ui/tabs.mjs [22m[32m264.00 B[39m
|
|
88
|
+
[32mESM[39m [1mdist/components/ui/textarea.mjs [22m[32m148.00 B[39m
|
|
89
|
+
[32mESM[39m [1mdist/components/ui/toggle-group.mjs [22m[32m241.00 B[39m
|
|
90
|
+
[32mESM[39m [1mdist/components/ui/toggle.mjs [22m[32m194.00 B[39m
|
|
91
|
+
[32mESM[39m [1mdist/components/ui/progress.mjs [22m[32m148.00 B[39m
|
|
92
|
+
[32mESM[39m [1mdist/components/ui/tooltip.mjs [22m[32m326.00 B[39m
|
|
93
|
+
[32mESM[39m [1mdist/components/ui/radio-group.mjs [22m[32m224.00 B[39m
|
|
94
|
+
[32mESM[39m [1mdist/components/ui/separator.mjs [22m[32m150.00 B[39m
|
|
95
|
+
[32mESM[39m [1mdist/components/ui/select.mjs [22m[32m538.00 B[39m
|
|
96
|
+
[32mESM[39m [1mdist/components/ui/sheet.mjs [22m[32m462.00 B[39m
|
|
97
|
+
[32mESM[39m [1mdist/components/ui/skeleton.mjs [22m[32m148.00 B[39m
|
|
98
|
+
[32mESM[39m [1mdist/components/ui/slider.mjs [22m[32m144.00 B[39m
|
|
99
|
+
[32mESM[39m [1mdist/components/ui/sonner.mjs [22m[32m111.00 B[39m
|
|
100
|
+
[32mESM[39m [1mdist/components/ui/field.mjs [22m[32m486.00 B[39m
|
|
101
|
+
[32mESM[39m [1mdist/components/ui/income-bar-chart.mjs [22m[32m440.00 B[39m
|
|
102
|
+
[32mESM[39m [1mdist/components/ui/input-group.mjs [22m[32m488.00 B[39m
|
|
103
|
+
[32mESM[39m [1mdist/components/ui/input-otp.mjs [22m[32m256.00 B[39m
|
|
104
|
+
[32mESM[39m [1mdist/components/ui/input.mjs [22m[32m142.00 B[39m
|
|
105
|
+
[32mESM[39m [1mdist/components/ui/label.mjs [22m[32m142.00 B[39m
|
|
106
|
+
[32mESM[39m [1mdist/components/ui/pagination.mjs [22m[32m460.00 B[39m
|
|
107
|
+
[32mESM[39m [1mdist/components/ui/popover.mjs [22m[32m432.00 B[39m
|
|
108
|
+
[32mESM[39m [1mdist/components/ui/combobox.mjs [22m[32m510.00 B[39m
|
|
109
|
+
[32mESM[39m [1mdist/components/ui/data-table.mjs [22m[32m736.00 B[39m
|
|
110
|
+
[32mESM[39m [1mdist/components/ui/date-picker.mjs [22m[32m376.00 B[39m
|
|
111
|
+
[32mESM[39m [1mdist/components/ui/dialog.mjs [22m[32m584.00 B[39m
|
|
112
|
+
[32mESM[39m [1mdist/components/ui/drawer.mjs [22m[32m514.00 B[39m
|
|
113
|
+
[32mESM[39m [1mdist/components/ui/dropdown-menu.mjs [22m[32m884.00 B[39m
|
|
114
|
+
[32mESM[39m [1mdist/components/ui/empty.mjs [22m[32m300.00 B[39m
|
|
115
|
+
[32mESM[39m [1mdist/components/ui/expense-bar-chart.mjs [22m[32m442.00 B[39m
|
|
116
|
+
[32mESM[39m [1mdist/components/ui/avatar.mjs [22m[32m310.00 B[39m
|
|
117
|
+
[32mESM[39m [1mdist/components/ui/badge.mjs [22m[32m211.00 B[39m
|
|
118
|
+
[32mESM[39m [1mdist/components/ui/button.mjs [22m[32m215.00 B[39m
|
|
119
|
+
[32mESM[39m [1mdist/components/ui/calendar.mjs [22m[32m260.00 B[39m
|
|
120
|
+
[32mESM[39m [1mdist/components/ui/card.mjs [22m[32m318.00 B[39m
|
|
121
|
+
[32mESM[39m [1mdist/components/ui/cashflow-bar-chart.mjs [22m[32m444.00 B[39m
|
|
122
|
+
[32mESM[39m [1mdist/components/ui/checkbox.mjs [22m[32m194.00 B[39m
|
|
123
|
+
[32mESM[39m [1mdist/components/ui/chip.mjs [22m[32m210.00 B[39m
|
|
124
|
+
[32mESM[39m [1mdist/components/ui/accordion.mjs [22m[32m264.00 B[39m
|
|
125
|
+
[32mESM[39m [1mdist/components/ui/alert-dialog.mjs [22m[32m768.00 B[39m
|
|
126
|
+
[32mESM[39m [1mdist/components/ui/alert.mjs [22m[32m210.00 B[39m
|
|
127
|
+
[32mESM[39m [1mdist/components/ui/spinner.mjs [22m[32m184.00 B[39m
|
|
128
|
+
[32mESM[39m ⚡️ Build success in 415ms
|
|
129
|
+
[32mCJS[39m [1mdist/index.js [22m[32m195.14 KB[39m
|
|
130
|
+
[32mCJS[39m [1mdist/lib/colors.js [22m[32m3.15 KB[39m
|
|
131
|
+
[32mCJS[39m [1mdist/lib/theme-provider.js [22m[32m6.09 KB[39m
|
|
132
|
+
[32mCJS[39m [1mdist/lib/typography.js [22m[32m5.49 KB[39m
|
|
133
|
+
[32mCJS[39m [1mdist/lib/utils.js [22m[32m1.20 KB[39m
|
|
134
|
+
[32mCJS[39m [1mdist/components/ui/accordion.js [22m[32m5.11 KB[39m
|
|
135
|
+
[32mCJS[39m [1mdist/components/ui/alert-dialog.js [22m[32m15.30 KB[39m
|
|
136
|
+
[32mCJS[39m [1mdist/components/ui/alert.js [22m[32m4.57 KB[39m
|
|
137
|
+
[32mCJS[39m [1mdist/components/ui/avatar.js [22m[32m5.71 KB[39m
|
|
138
|
+
[32mCJS[39m [1mdist/components/ui/badge.js [22m[32m6.12 KB[39m
|
|
139
|
+
[32mCJS[39m [1mdist/components/ui/button.js [22m[32m8.02 KB[39m
|
|
140
|
+
[32mCJS[39m [1mdist/components/ui/calendar.js [22m[32m15.88 KB[39m
|
|
141
|
+
[32mCJS[39m [1mdist/components/ui/card.js [22m[32m4.91 KB[39m
|
|
142
|
+
[32mCJS[39m [1mdist/components/ui/cashflow-bar-chart.js [22m[32m21.59 KB[39m
|
|
143
|
+
[32mCJS[39m [1mdist/components/ui/checkbox.js [22m[32m6.51 KB[39m
|
|
144
|
+
[32mCJS[39m [1mdist/components/ui/chip.js [22m[32m7.36 KB[39m
|
|
145
|
+
[32mCJS[39m [1mdist/components/ui/combobox.js [22m[32m10.04 KB[39m
|
|
146
|
+
[32mCJS[39m [1mdist/components/ui/data-table.js [22m[32m37.88 KB[39m
|
|
147
|
+
[32mCJS[39m [1mdist/components/ui/date-picker.js [22m[32m21.48 KB[39m
|
|
148
|
+
[32mCJS[39m [1mdist/components/ui/dialog.js [22m[32m14.09 KB[39m
|
|
149
|
+
[32mCJS[39m [1mdist/components/ui/drawer.js [22m[32m7.96 KB[39m
|
|
150
|
+
[32mCJS[39m [1mdist/components/ui/dropdown-menu.js [22m[32m12.97 KB[39m
|
|
151
|
+
[32mCJS[39m [1mdist/components/ui/empty.js [22m[32m5.30 KB[39m
|
|
152
|
+
[32mCJS[39m [1mdist/components/ui/expense-bar-chart.js [22m[32m20.43 KB[39m
|
|
153
|
+
[32mCJS[39m [1mdist/components/ui/field.js [22m[32m11.19 KB[39m
|
|
154
|
+
[32mCJS[39m [1mdist/components/ui/income-bar-chart.js [22m[32m20.39 KB[39m
|
|
155
|
+
[32mCJS[39m [1mdist/components/ui/input-group.js [22m[32m15.85 KB[39m
|
|
156
|
+
[32mCJS[39m [1mdist/components/ui/input-otp.js [22m[32m5.86 KB[39m
|
|
157
|
+
[32mCJS[39m [1mdist/components/ui/input.js [22m[32m3.26 KB[39m
|
|
158
|
+
[32mCJS[39m [1mdist/components/ui/label.js [22m[32m2.92 KB[39m
|
|
159
|
+
[32mCJS[39m [1mdist/components/ui/pagination.js [22m[32m11.93 KB[39m
|
|
160
|
+
[32mCJS[39m [1mdist/components/ui/popover.js [22m[32m5.81 KB[39m
|
|
161
|
+
[32mCJS[39m [1mdist/components/ui/progress.js [22m[32m3.32 KB[39m
|
|
162
|
+
[32mCJS[39m [1mdist/components/ui/radio-group.js [22m[32m6.54 KB[39m
|
|
163
|
+
[32mCJS[39m [1mdist/components/ui/select.js [22m[32m10.14 KB[39m
|
|
164
|
+
[32mCJS[39m [1mdist/components/ui/separator.js [22m[32m2.97 KB[39m
|
|
165
|
+
[32mCJS[39m [1mdist/components/ui/sheet.js [22m[32m8.05 KB[39m
|
|
166
|
+
[32mCJS[39m [1mdist/components/ui/skeleton.js [22m[32m2.62 KB[39m
|
|
167
|
+
[32mCJS[39m [1mdist/components/ui/slider.js [22m[32m5.56 KB[39m
|
|
168
|
+
[32mCJS[39m [1mdist/components/ui/sonner.js [22m[32m3.35 KB[39m
|
|
169
|
+
[32mCJS[39m [1mdist/components/ui/spinner.js [22m[32m3.12 KB[39m
|
|
170
|
+
[32mCJS[39m [1mdist/components/ui/switch.js [22m[32m6.34 KB[39m
|
|
171
|
+
[32mCJS[39m [1mdist/components/ui/table.js [22m[32m5.60 KB[39m
|
|
172
|
+
[32mCJS[39m [1mdist/components/ui/tabs.js [22m[32m6.44 KB[39m
|
|
173
|
+
[32mCJS[39m [1mdist/components/ui/textarea.js [22m[32m3.13 KB[39m
|
|
174
|
+
[32mCJS[39m [1mdist/components/ui/toggle-group.js [22m[32m6.71 KB[39m
|
|
175
|
+
[32mCJS[39m [1mdist/components/ui/toggle.js [22m[32m3.99 KB[39m
|
|
176
|
+
[32mCJS[39m [1mdist/components/ui/tooltip.js [22m[32m5.03 KB[39m
|
|
177
|
+
[32mCJS[39m [1mdist/components/ui/transactions-income-expense-bar-chart.js [22m[32m17.68 KB[39m
|
|
178
|
+
[32mCJS[39m ⚡️ Build success in 421ms
|
|
179
|
+
Done in 7.38s.
|
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -84,6 +84,87 @@ import { Card } from "@wealthx/shadcn/card";
|
|
|
84
84
|
| ToggleGroup | `./toggle-group` | Grouped toggles |
|
|
85
85
|
| Tooltip | `./tooltip` | Hover hint |
|
|
86
86
|
|
|
87
|
+
## Charts
|
|
88
|
+
|
|
89
|
+
Chart components built on [Chart.js](https://www.chartjs.org/) and [react-chartjs-2](https://react-chartjs-2.js.org/). All charts read brand colors from `ThemeProvider` and render inside a `Card` wrapper.
|
|
90
|
+
|
|
91
|
+
| Component | Import path | Description |
|
|
92
|
+
|-----------|------------|-------------|
|
|
93
|
+
| CashflowBarChart | `./cashflow-bar-chart` | Grouped bars showing income, expenses, and surplus/overspending per month |
|
|
94
|
+
| ExpenseBarChart | `./expense-bar-chart` | Stacked bar chart of expenses by category with period toggle |
|
|
95
|
+
| IncomeBarChart | `./income-bar-chart` | Stacked bar chart of income by source with period toggle |
|
|
96
|
+
| TransactionsIncomeExpenseBarChart | `./transactions-income-expense-bar-chart` | Horizontal bar comparing total income vs total expense |
|
|
97
|
+
|
|
98
|
+
### TransactionsIncomeExpenseBarChart
|
|
99
|
+
|
|
100
|
+
Simplest chart — just two numbers:
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
import { TransactionsIncomeExpenseBarChart } from "@wealthx/shadcn";
|
|
104
|
+
|
|
105
|
+
<TransactionsIncomeExpenseBarChart
|
|
106
|
+
totalIncome={12450.75}
|
|
107
|
+
totalExpense={-8320.50}
|
|
108
|
+
title="Transactions — Income vs Expense"
|
|
109
|
+
/>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### IncomeBarChart / ExpenseBarChart
|
|
113
|
+
|
|
114
|
+
Stacked bars broken down by source or category. Supports `"monthly"` and `"daily"` granularity with a period toggle (3M / 6M / 12M).
|
|
115
|
+
|
|
116
|
+
```tsx
|
|
117
|
+
import { IncomeBarChart } from "@wealthx/shadcn";
|
|
118
|
+
|
|
119
|
+
<IncomeBarChart
|
|
120
|
+
incomeData={{
|
|
121
|
+
months: ["Jul", "Aug", "Sep"],
|
|
122
|
+
dates: ["2024-07-01", "2024-08-01", "2024-09-01"],
|
|
123
|
+
datasets: [
|
|
124
|
+
{ label: "Employment", data: [7500, 7500, 7500] },
|
|
125
|
+
{ label: "Rental", data: [1200, 1200, 1400] },
|
|
126
|
+
],
|
|
127
|
+
}}
|
|
128
|
+
defaultPeriod={6}
|
|
129
|
+
granularity="monthly"
|
|
130
|
+
/>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
`ExpenseBarChart` has the same API — swap `incomeData` for `expenseData`. Income bars use the primary color; expense bars use the secondary color.
|
|
134
|
+
|
|
135
|
+
### CashflowBarChart
|
|
136
|
+
|
|
137
|
+
Grouped bars showing income, expenses, and surplus/overspending. Period toggle is 3M / 6M / 12M (monthly only).
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
import { CashflowBarChart } from "@wealthx/shadcn";
|
|
141
|
+
|
|
142
|
+
<CashflowBarChart
|
|
143
|
+
cashflowData={{
|
|
144
|
+
months: ["Jul", "Aug", "Sep"],
|
|
145
|
+
data: [
|
|
146
|
+
{ date: "2024-07-01", income: 9200, expenses: 6800, surplus: 2400, overspending: 0 },
|
|
147
|
+
{ date: "2024-08-01", income: 7500, expenses: 8100, surplus: 0, overspending: 600 },
|
|
148
|
+
{ date: "2024-09-01", income: 8800, expenses: 7200, surplus: 1600, overspending: 0 },
|
|
149
|
+
],
|
|
150
|
+
}}
|
|
151
|
+
defaultPeriod={6}
|
|
152
|
+
/>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Shared chart props
|
|
156
|
+
|
|
157
|
+
| Prop | Default | Description |
|
|
158
|
+
|------|---------|-------------|
|
|
159
|
+
| `title` | Varies | Card heading |
|
|
160
|
+
| `height` | 280 (120 for Transactions) | Canvas height in px |
|
|
161
|
+
| `width` | `"100%"` | Card width |
|
|
162
|
+
| `isLoading` | `false` | Shows skeleton placeholder |
|
|
163
|
+
| `showLegend` | `true` | Toggle legend visibility |
|
|
164
|
+
| `showXAxis` / `showYAxis` | `true` | Toggle axis visibility |
|
|
165
|
+
| `legendPosition` | `"top"` | `"top"` or `"bottom"` |
|
|
166
|
+
| `className` | — | Class applied to the Card wrapper |
|
|
167
|
+
|
|
87
168
|
## Utilities
|
|
88
169
|
|
|
89
170
|
| Export | Import path | Description |
|
|
@@ -122,6 +203,7 @@ yarn workspace @wealthx/shadcn lint
|
|
|
122
203
|
- [shadcn/ui](https://ui.shadcn.com) — Component primitives
|
|
123
204
|
- [Tailwind CSS v4](https://tailwindcss.com) — Utility-first styles
|
|
124
205
|
- [Radix Primitives](https://www.radix-ui.com) via `@base-ui/react` — Accessible headless components
|
|
206
|
+
- [Chart.js](https://www.chartjs.org/) + [react-chartjs-2](https://react-chartjs-2.js.org/) — Chart components
|
|
125
207
|
- [TanStack Table](https://tanstack.com/table) — DataTable
|
|
126
208
|
- [Lucide](https://lucide.dev) — Icons
|
|
127
209
|
- [tsup](https://tsup.egoist.dev) — Build tooling (CJS + ESM)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Button
|
|
3
|
+
} from "./chunk-4AJ5HWHD.mjs";
|
|
4
|
+
|
|
5
|
+
// src/components/ui/chart-shared.tsx
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
var CHART_SLICE_COUNT = {
|
|
8
|
+
monthly: { 1: 1, 3: 3, 6: 6, 12: 12 },
|
|
9
|
+
daily: { 1: 30, 3: 90, 6: 180, 12: 365 }
|
|
10
|
+
};
|
|
11
|
+
var CHART_PERIODS = {
|
|
12
|
+
monthly: [3, 6, 12],
|
|
13
|
+
daily: [1, 3, 6, 12]
|
|
14
|
+
};
|
|
15
|
+
function hexToRgba(hex, alpha) {
|
|
16
|
+
const clean = hex.replace("#", "");
|
|
17
|
+
const full = clean.length === 3 ? clean.split("").map((c) => c + c).join("") : clean;
|
|
18
|
+
const r = parseInt(full.slice(0, 2), 16);
|
|
19
|
+
const g = parseInt(full.slice(2, 4), 16);
|
|
20
|
+
const b = parseInt(full.slice(4, 6), 16);
|
|
21
|
+
return `rgba(${r},${g},${b},${alpha})`;
|
|
22
|
+
}
|
|
23
|
+
var DATASET_ALPHAS = [1, 0.72, 0.52, 0.36, 0.24, 0.15];
|
|
24
|
+
var FALLBACK_TICK = "#9EAAB5";
|
|
25
|
+
function formatTooltipDate(iso, granularity) {
|
|
26
|
+
const d = new Date(iso);
|
|
27
|
+
return d.toLocaleDateString(
|
|
28
|
+
"en-US",
|
|
29
|
+
granularity === "daily" ? { month: "short", day: "numeric", year: "numeric" } : { month: "short", year: "numeric" }
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
function ChartLegendItem({ label, color }) {
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
34
|
+
/* @__PURE__ */ jsx("div", { style: { width: 10, height: 10, backgroundColor: color, flexShrink: 0 } }),
|
|
35
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-muted-foreground leading-none", children: label })
|
|
36
|
+
] });
|
|
37
|
+
}
|
|
38
|
+
function ChartPeriodButton({
|
|
39
|
+
period,
|
|
40
|
+
active,
|
|
41
|
+
onClick
|
|
42
|
+
}) {
|
|
43
|
+
return /* @__PURE__ */ jsxs(Button, { variant: active ? "default" : "outline", size: "xs", onClick, children: [
|
|
44
|
+
period,
|
|
45
|
+
"M"
|
|
46
|
+
] });
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export {
|
|
50
|
+
CHART_SLICE_COUNT,
|
|
51
|
+
CHART_PERIODS,
|
|
52
|
+
hexToRgba,
|
|
53
|
+
DATASET_ALPHAS,
|
|
54
|
+
FALLBACK_TICK,
|
|
55
|
+
formatTooltipDate,
|
|
56
|
+
ChartLegendItem,
|
|
57
|
+
ChartPeriodButton
|
|
58
|
+
};
|