@wealthx/shadcn 1.0.0 → 1.0.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.
- package/.turbo/turbo-build.log +55 -55
- package/CHANGELOG.md +6 -0
- package/README.md +128 -0
- package/package.json +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -14,7 +14,7 @@ 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 [33m561ms[39m
|
|
18
18
|
Built dist/styles.css and src/styles/styles-css.ts
|
|
19
19
|
warning package.json: No license field
|
|
20
20
|
$ tsup
|
|
@@ -25,6 +25,50 @@ $ tsup
|
|
|
25
25
|
[34mCLI[39m Target: es6
|
|
26
26
|
[34mCJS[39m Build start
|
|
27
27
|
[34mESM[39m Build start
|
|
28
|
+
[32mCJS[39m [1mdist/index.js [22m[32m154.63 KB[39m
|
|
29
|
+
[32mCJS[39m [1mdist/lib/colors.js [22m[32m3.15 KB[39m
|
|
30
|
+
[32mCJS[39m [1mdist/lib/theme-provider.js [22m[32m6.09 KB[39m
|
|
31
|
+
[32mCJS[39m [1mdist/lib/typography.js [22m[32m5.49 KB[39m
|
|
32
|
+
[32mCJS[39m [1mdist/lib/utils.js [22m[32m1.20 KB[39m
|
|
33
|
+
[32mCJS[39m [1mdist/components/ui/accordion.js [22m[32m5.11 KB[39m
|
|
34
|
+
[32mCJS[39m [1mdist/components/ui/alert.js [22m[32m4.57 KB[39m
|
|
35
|
+
[32mCJS[39m [1mdist/components/ui/alert-dialog.js [22m[32m15.26 KB[39m
|
|
36
|
+
[32mCJS[39m [1mdist/components/ui/avatar.js [22m[32m5.71 KB[39m
|
|
37
|
+
[32mCJS[39m [1mdist/components/ui/badge.js [22m[32m6.12 KB[39m
|
|
38
|
+
[32mCJS[39m [1mdist/components/ui/button.js [22m[32m7.98 KB[39m
|
|
39
|
+
[32mCJS[39m [1mdist/components/ui/calendar.js [22m[32m15.83 KB[39m
|
|
40
|
+
[32mCJS[39m [1mdist/components/ui/card.js [22m[32m4.91 KB[39m
|
|
41
|
+
[32mCJS[39m [1mdist/components/ui/checkbox.js [22m[32m6.51 KB[39m
|
|
42
|
+
[32mCJS[39m [1mdist/components/ui/chip.js [22m[32m7.36 KB[39m
|
|
43
|
+
[32mCJS[39m [1mdist/components/ui/data-table.js [22m[32m37.83 KB[39m
|
|
44
|
+
[32mCJS[39m [1mdist/components/ui/date-picker.js [22m[32m21.43 KB[39m
|
|
45
|
+
[32mCJS[39m [1mdist/components/ui/dialog.js [22m[32m14.05 KB[39m
|
|
46
|
+
[32mCJS[39m [1mdist/components/ui/drawer.js [22m[32m7.96 KB[39m
|
|
47
|
+
[32mCJS[39m [1mdist/components/ui/dropdown-menu.js [22m[32m12.97 KB[39m
|
|
48
|
+
[32mCJS[39m [1mdist/components/ui/empty.js [22m[32m5.30 KB[39m
|
|
49
|
+
[32mCJS[39m [1mdist/components/ui/field.js [22m[32m11.19 KB[39m
|
|
50
|
+
[32mCJS[39m [1mdist/components/ui/input-group.js [22m[32m15.80 KB[39m
|
|
51
|
+
[32mCJS[39m [1mdist/components/ui/input-otp.js [22m[32m5.86 KB[39m
|
|
52
|
+
[32mCJS[39m [1mdist/components/ui/label.js [22m[32m2.92 KB[39m
|
|
53
|
+
[32mCJS[39m [1mdist/components/ui/pagination.js [22m[32m11.88 KB[39m
|
|
54
|
+
[32mCJS[39m [1mdist/components/ui/popover.js [22m[32m5.81 KB[39m
|
|
55
|
+
[32mCJS[39m [1mdist/components/ui/progress.js [22m[32m3.32 KB[39m
|
|
56
|
+
[32mCJS[39m [1mdist/components/ui/radio-group.js [22m[32m6.54 KB[39m
|
|
57
|
+
[32mCJS[39m [1mdist/components/ui/input.js [22m[32m3.26 KB[39m
|
|
58
|
+
[32mCJS[39m [1mdist/components/ui/separator.js [22m[32m2.97 KB[39m
|
|
59
|
+
[32mCJS[39m [1mdist/components/ui/select.js [22m[32m10.14 KB[39m
|
|
60
|
+
[32mCJS[39m [1mdist/components/ui/skeleton.js [22m[32m2.62 KB[39m
|
|
61
|
+
[32mCJS[39m [1mdist/components/ui/sheet.js [22m[32m8.05 KB[39m
|
|
62
|
+
[32mCJS[39m [1mdist/components/ui/sonner.js [22m[32m3.35 KB[39m
|
|
63
|
+
[32mCJS[39m [1mdist/components/ui/spinner.js [22m[32m3.12 KB[39m
|
|
64
|
+
[32mCJS[39m [1mdist/components/ui/switch.js [22m[32m6.34 KB[39m
|
|
65
|
+
[32mCJS[39m [1mdist/components/ui/table.js [22m[32m5.60 KB[39m
|
|
66
|
+
[32mCJS[39m [1mdist/components/ui/tabs.js [22m[32m6.44 KB[39m
|
|
67
|
+
[32mCJS[39m [1mdist/components/ui/textarea.js [22m[32m3.13 KB[39m
|
|
68
|
+
[32mCJS[39m [1mdist/components/ui/toggle-group.js [22m[32m6.71 KB[39m
|
|
69
|
+
[32mCJS[39m [1mdist/components/ui/toggle.js [22m[32m3.99 KB[39m
|
|
70
|
+
[32mCJS[39m [1mdist/components/ui/tooltip.js [22m[32m5.03 KB[39m
|
|
71
|
+
[32mCJS[39m ⚡️ Build success in 319ms
|
|
28
72
|
[32mESM[39m [1mdist/lib/colors.mjs [22m[32m205.00 B[39m
|
|
29
73
|
[32mESM[39m [1mdist/index.mjs [22m[32m7.84 KB[39m
|
|
30
74
|
[32mESM[39m [1mdist/chunk-DDPA2XXS.mjs [22m[32m2.45 KB[39m
|
|
@@ -35,6 +79,7 @@ $ tsup
|
|
|
35
79
|
[32mESM[39m [1mdist/chunk-BMFN37JH.mjs [22m[32m865.00 B[39m
|
|
36
80
|
[32mESM[39m [1mdist/chunk-VYMHBV6D.mjs [22m[32m3.78 KB[39m
|
|
37
81
|
[32mESM[39m [1mdist/chunk-RL772EH7.mjs [22m[32m4.04 KB[39m
|
|
82
|
+
[32mESM[39m [1mdist/chunk-NGYG2EA6.mjs [22m[32m3.51 KB[39m
|
|
38
83
|
[32mESM[39m [1mdist/chunk-BBJBJSXQ.mjs [22m[32m995.00 B[39m
|
|
39
84
|
[32mESM[39m [1mdist/chunk-JU2RUWHF.mjs [22m[32m3.88 KB[39m
|
|
40
85
|
[32mESM[39m [1mdist/chunk-AMJ23O53.mjs [22m[32m3.58 KB[39m
|
|
@@ -63,22 +108,21 @@ $ tsup
|
|
|
63
108
|
[32mESM[39m [1mdist/lib/theme-provider.mjs [22m[32m237.00 B[39m
|
|
64
109
|
[32mESM[39m [1mdist/lib/typography.mjs [22m[32m527.00 B[39m
|
|
65
110
|
[32mESM[39m [1mdist/chunk-3VQNJ235.mjs [22m[32m3.52 KB[39m
|
|
66
|
-
[32mESM[39m [1mdist/chunk-KKHTJNMM.mjs [22m[32m2.51 KB[39m
|
|
67
111
|
[32mESM[39m [1mdist/lib/utils.mjs [22m[32m95.00 B[39m
|
|
112
|
+
[32mESM[39m [1mdist/chunk-KKHTJNMM.mjs [22m[32m2.51 KB[39m
|
|
68
113
|
[32mESM[39m [1mdist/chunk-NWZ46DJL.mjs [22m[32m6.31 KB[39m
|
|
69
114
|
[32mESM[39m [1mdist/chunk-IAOOZCUY.mjs [22m[32m3.47 KB[39m
|
|
70
115
|
[32mESM[39m [1mdist/chunk-DBHJ5KC3.mjs [22m[32m1.56 KB[39m
|
|
71
|
-
[32mESM[39m [1mdist/chunk-OXQQNQZI.mjs [22m[32m2.93 KB[39m
|
|
72
116
|
[32mESM[39m [1mdist/chunk-QOJ2DQD6.mjs [22m[32m2.06 KB[39m
|
|
73
|
-
[32mESM[39m [1mdist/chunk-CZ3BW5GL.mjs [22m[32m2.25 KB[39m
|
|
74
117
|
[32mESM[39m [1mdist/chunk-V7CNWJT3.mjs [22m[32m168.00 B[39m
|
|
75
118
|
[32mESM[39m [1mdist/chunk-FWCSY2DS.mjs [22m[32m1.30 KB[39m
|
|
119
|
+
[32mESM[39m [1mdist/chunk-CZ3BW5GL.mjs [22m[32m2.25 KB[39m
|
|
76
120
|
[32mESM[39m [1mdist/components/ui/toggle-group.mjs [22m[32m241.00 B[39m
|
|
77
|
-
[32mESM[39m [1mdist/chunk-
|
|
121
|
+
[32mESM[39m [1mdist/chunk-OXQQNQZI.mjs [22m[32m2.93 KB[39m
|
|
78
122
|
[32mESM[39m [1mdist/components/ui/toggle.mjs [22m[32m194.00 B[39m
|
|
79
123
|
[32mESM[39m [1mdist/components/ui/tooltip.mjs [22m[32m326.00 B[39m
|
|
80
|
-
[32mESM[39m [1mdist/components/ui/skeleton.mjs [22m[32m148.00 B[39m
|
|
81
124
|
[32mESM[39m [1mdist/components/ui/sheet.mjs [22m[32m462.00 B[39m
|
|
125
|
+
[32mESM[39m [1mdist/components/ui/skeleton.mjs [22m[32m148.00 B[39m
|
|
82
126
|
[32mESM[39m [1mdist/components/ui/sonner.mjs [22m[32m111.00 B[39m
|
|
83
127
|
[32mESM[39m [1mdist/components/ui/spinner.mjs [22m[32m184.00 B[39m
|
|
84
128
|
[32mESM[39m [1mdist/components/ui/switch.mjs [22m[32m186.00 B[39m
|
|
@@ -90,8 +134,8 @@ $ tsup
|
|
|
90
134
|
[32mESM[39m [1mdist/components/ui/pagination.mjs [22m[32m460.00 B[39m
|
|
91
135
|
[32mESM[39m [1mdist/components/ui/popover.mjs [22m[32m432.00 B[39m
|
|
92
136
|
[32mESM[39m [1mdist/components/ui/progress.mjs [22m[32m148.00 B[39m
|
|
93
|
-
[32mESM[39m [1mdist/components/ui/radio-group.mjs [22m[32m224.00 B[39m
|
|
94
137
|
[32mESM[39m [1mdist/components/ui/select.mjs [22m[32m538.00 B[39m
|
|
138
|
+
[32mESM[39m [1mdist/components/ui/radio-group.mjs [22m[32m224.00 B[39m
|
|
95
139
|
[32mESM[39m [1mdist/components/ui/separator.mjs [22m[32m150.00 B[39m
|
|
96
140
|
[32mESM[39m [1mdist/components/ui/date-picker.mjs [22m[32m376.00 B[39m
|
|
97
141
|
[32mESM[39m [1mdist/components/ui/dialog.mjs [22m[32m584.00 B[39m
|
|
@@ -100,8 +144,8 @@ $ tsup
|
|
|
100
144
|
[32mESM[39m [1mdist/components/ui/empty.mjs [22m[32m300.00 B[39m
|
|
101
145
|
[32mESM[39m [1mdist/components/ui/field.mjs [22m[32m486.00 B[39m
|
|
102
146
|
[32mESM[39m [1mdist/components/ui/input-group.mjs [22m[32m488.00 B[39m
|
|
103
|
-
[32mESM[39m [1mdist/components/ui/avatar.mjs [22m[32m310.00 B[39m
|
|
104
147
|
[32mESM[39m [1mdist/components/ui/input-otp.mjs [22m[32m256.00 B[39m
|
|
148
|
+
[32mESM[39m [1mdist/components/ui/avatar.mjs [22m[32m310.00 B[39m
|
|
105
149
|
[32mESM[39m [1mdist/components/ui/badge.mjs [22m[32m211.00 B[39m
|
|
106
150
|
[32mESM[39m [1mdist/components/ui/button.mjs [22m[32m215.00 B[39m
|
|
107
151
|
[32mESM[39m [1mdist/components/ui/calendar.mjs [22m[32m260.00 B[39m
|
|
@@ -110,51 +154,7 @@ $ tsup
|
|
|
110
154
|
[32mESM[39m [1mdist/components/ui/chip.mjs [22m[32m210.00 B[39m
|
|
111
155
|
[32mESM[39m [1mdist/components/ui/data-table.mjs [22m[32m736.00 B[39m
|
|
112
156
|
[32mESM[39m [1mdist/components/ui/accordion.mjs [22m[32m264.00 B[39m
|
|
113
|
-
[32mESM[39m [1mdist/components/ui/alert-dialog.mjs [22m[32m768.00 B[39m
|
|
114
157
|
[32mESM[39m [1mdist/components/ui/alert.mjs [22m[32m210.00 B[39m
|
|
115
|
-
[32mESM[39m
|
|
116
|
-
[
|
|
117
|
-
|
|
118
|
-
[32mCJS[39m [1mdist/lib/colors.js [22m[32m3.15 KB[39m
|
|
119
|
-
[32mCJS[39m [1mdist/lib/typography.js [22m[32m5.49 KB[39m
|
|
120
|
-
[32mCJS[39m [1mdist/lib/utils.js [22m[32m1.20 KB[39m
|
|
121
|
-
[32mCJS[39m [1mdist/components/ui/accordion.js [22m[32m5.11 KB[39m
|
|
122
|
-
[32mCJS[39m [1mdist/components/ui/alert-dialog.js [22m[32m15.26 KB[39m
|
|
123
|
-
[32mCJS[39m [1mdist/components/ui/alert.js [22m[32m4.57 KB[39m
|
|
124
|
-
[32mCJS[39m [1mdist/components/ui/avatar.js [22m[32m5.71 KB[39m
|
|
125
|
-
[32mCJS[39m [1mdist/components/ui/badge.js [22m[32m6.12 KB[39m
|
|
126
|
-
[32mCJS[39m [1mdist/components/ui/button.js [22m[32m7.98 KB[39m
|
|
127
|
-
[32mCJS[39m [1mdist/components/ui/calendar.js [22m[32m15.83 KB[39m
|
|
128
|
-
[32mCJS[39m [1mdist/components/ui/card.js [22m[32m4.91 KB[39m
|
|
129
|
-
[32mCJS[39m [1mdist/components/ui/checkbox.js [22m[32m6.51 KB[39m
|
|
130
|
-
[32mCJS[39m [1mdist/components/ui/chip.js [22m[32m7.36 KB[39m
|
|
131
|
-
[32mCJS[39m [1mdist/components/ui/data-table.js [22m[32m37.83 KB[39m
|
|
132
|
-
[32mCJS[39m [1mdist/components/ui/date-picker.js [22m[32m21.43 KB[39m
|
|
133
|
-
[32mCJS[39m [1mdist/components/ui/dialog.js [22m[32m14.05 KB[39m
|
|
134
|
-
[32mCJS[39m [1mdist/components/ui/drawer.js [22m[32m7.96 KB[39m
|
|
135
|
-
[32mCJS[39m [1mdist/components/ui/dropdown-menu.js [22m[32m12.97 KB[39m
|
|
136
|
-
[32mCJS[39m [1mdist/components/ui/empty.js [22m[32m5.30 KB[39m
|
|
137
|
-
[32mCJS[39m [1mdist/components/ui/field.js [22m[32m11.19 KB[39m
|
|
138
|
-
[32mCJS[39m [1mdist/components/ui/input-group.js [22m[32m15.80 KB[39m
|
|
139
|
-
[32mCJS[39m [1mdist/components/ui/input-otp.js [22m[32m5.86 KB[39m
|
|
140
|
-
[32mCJS[39m [1mdist/components/ui/input.js [22m[32m3.26 KB[39m
|
|
141
|
-
[32mCJS[39m [1mdist/components/ui/label.js [22m[32m2.92 KB[39m
|
|
142
|
-
[32mCJS[39m [1mdist/components/ui/pagination.js [22m[32m11.88 KB[39m
|
|
143
|
-
[32mCJS[39m [1mdist/components/ui/popover.js [22m[32m5.81 KB[39m
|
|
144
|
-
[32mCJS[39m [1mdist/components/ui/progress.js [22m[32m3.32 KB[39m
|
|
145
|
-
[32mCJS[39m [1mdist/components/ui/radio-group.js [22m[32m6.54 KB[39m
|
|
146
|
-
[32mCJS[39m [1mdist/components/ui/select.js [22m[32m10.14 KB[39m
|
|
147
|
-
[32mCJS[39m [1mdist/components/ui/separator.js [22m[32m2.97 KB[39m
|
|
148
|
-
[32mCJS[39m [1mdist/components/ui/sheet.js [22m[32m8.05 KB[39m
|
|
149
|
-
[32mCJS[39m [1mdist/components/ui/skeleton.js [22m[32m2.62 KB[39m
|
|
150
|
-
[32mCJS[39m [1mdist/components/ui/spinner.js [22m[32m3.12 KB[39m
|
|
151
|
-
[32mCJS[39m [1mdist/components/ui/sonner.js [22m[32m3.35 KB[39m
|
|
152
|
-
[32mCJS[39m [1mdist/components/ui/switch.js [22m[32m6.34 KB[39m
|
|
153
|
-
[32mCJS[39m [1mdist/components/ui/table.js [22m[32m5.60 KB[39m
|
|
154
|
-
[32mCJS[39m [1mdist/components/ui/tabs.js [22m[32m6.44 KB[39m
|
|
155
|
-
[32mCJS[39m [1mdist/components/ui/textarea.js [22m[32m3.13 KB[39m
|
|
156
|
-
[32mCJS[39m [1mdist/components/ui/toggle-group.js [22m[32m6.71 KB[39m
|
|
157
|
-
[32mCJS[39m [1mdist/components/ui/toggle.js [22m[32m3.99 KB[39m
|
|
158
|
-
[32mCJS[39m [1mdist/components/ui/tooltip.js [22m[32m5.03 KB[39m
|
|
159
|
-
[32mCJS[39m ⚡️ Build success in 332ms
|
|
160
|
-
Done in 6.74s.
|
|
158
|
+
[32mESM[39m [1mdist/components/ui/alert-dialog.mjs [22m[32m768.00 B[39m
|
|
159
|
+
[32mESM[39m ⚡️ Build success in 326ms
|
|
160
|
+
Done in 7.14s.
|
package/CHANGELOG.md
CHANGED
package/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# @wealthx/shadcn
|
|
2
|
+
|
|
3
|
+
WealthX component library built on [shadcn/ui](https://ui.shadcn.com), Tailwind CSS v4, and Radix primitives.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
yarn add @wealthx/shadcn
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**Peer dependencies:** `react` and `react-dom` (^18.3.1)
|
|
12
|
+
|
|
13
|
+
## Setup
|
|
14
|
+
|
|
15
|
+
Import the global stylesheet in your app entry point:
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import "@wealthx/shadcn/styles.css";
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Wrap your app with the `ThemeProvider` for runtime theming:
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
import { ThemeProvider } from "@wealthx/shadcn/theme";
|
|
25
|
+
|
|
26
|
+
<ThemeProvider primaryColor="#33FF99" secondaryColor="#162029">
|
|
27
|
+
<App />
|
|
28
|
+
</ThemeProvider>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
Import components from the package root or individual entry points:
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
// Barrel import
|
|
37
|
+
import { Button, Card, Input } from "@wealthx/shadcn";
|
|
38
|
+
|
|
39
|
+
// Individual entry points (better tree-shaking)
|
|
40
|
+
import { Button } from "@wealthx/shadcn/button";
|
|
41
|
+
import { Card } from "@wealthx/shadcn/card";
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Components
|
|
45
|
+
|
|
46
|
+
| Component | Import path | Description |
|
|
47
|
+
|-----------|------------|-------------|
|
|
48
|
+
| Accordion | `./accordion` | Collapsible content sections |
|
|
49
|
+
| Alert | `./alert` | Status messages |
|
|
50
|
+
| AlertDialog | `./alert-dialog` | Confirmation modals |
|
|
51
|
+
| Avatar | `./avatar` | User images with fallback, group, and badge |
|
|
52
|
+
| Badge | `./badge` | Labels and tags |
|
|
53
|
+
| Button | `./button` | Primary action element |
|
|
54
|
+
| Calendar | `./calendar` | Date picker calendar |
|
|
55
|
+
| Card | `./card` | Container with header, content, and footer |
|
|
56
|
+
| Checkbox | `./checkbox` | Single or multiple selection |
|
|
57
|
+
| Chip | `./chip` | Small labeled element |
|
|
58
|
+
| DataTable | `./data-table` | Table powered by TanStack Table |
|
|
59
|
+
| DatePicker | `./date-picker` | Calendar with popover |
|
|
60
|
+
| Dialog | `./dialog` | Modal dialog |
|
|
61
|
+
| Drawer | `./drawer` | Slide-out side panel |
|
|
62
|
+
| DropdownMenu | `./dropdown-menu` | Contextual menu |
|
|
63
|
+
| Empty | `./empty` | Empty state placeholder |
|
|
64
|
+
| Field | `./field` | Form field wrapper with label and error |
|
|
65
|
+
| Input | `./input` | Text input |
|
|
66
|
+
| InputGroup | `./input-group` | Input with addons and buttons |
|
|
67
|
+
| InputOTP | `./input-otp` | Multi-slot OTP entry |
|
|
68
|
+
| Label | `./label` | Form label |
|
|
69
|
+
| Pagination | `./pagination` | Page navigation |
|
|
70
|
+
| Popover | `./popover` | Floating content |
|
|
71
|
+
| Progress | `./progress` | Progress bar |
|
|
72
|
+
| RadioGroup | `./radio-group` | Single selection group |
|
|
73
|
+
| Select | `./select` | Dropdown select |
|
|
74
|
+
| Separator | `./separator` | Visual divider |
|
|
75
|
+
| Sheet | `./sheet` | Off-canvas panel |
|
|
76
|
+
| Skeleton | `./skeleton` | Loading placeholder |
|
|
77
|
+
| Sonner | `./sonner` | Toast notifications |
|
|
78
|
+
| Spinner | `./spinner` | Loading indicator |
|
|
79
|
+
| Switch | `./switch` | Toggle switch |
|
|
80
|
+
| Table | `./table` | Basic HTML table |
|
|
81
|
+
| Tabs | `./tabs` | Tabbed interface |
|
|
82
|
+
| Textarea | `./textarea` | Multi-line text input |
|
|
83
|
+
| Toggle | `./toggle` | Button toggle |
|
|
84
|
+
| ToggleGroup | `./toggle-group` | Grouped toggles |
|
|
85
|
+
| Tooltip | `./tooltip` | Hover hint |
|
|
86
|
+
|
|
87
|
+
## Utilities
|
|
88
|
+
|
|
89
|
+
| Export | Import path | Description |
|
|
90
|
+
|--------|------------|-------------|
|
|
91
|
+
| `cn()` | `@wealthx/shadcn/lib/utils` | Merge class names (clsx + tailwind-merge) |
|
|
92
|
+
| Color utils | `@wealthx/shadcn/lib/colors` | `hexToRgb`, `hexToOklch`, `getContrastText`, `getLuminance` |
|
|
93
|
+
| Typography | `@wealthx/shadcn/typography` | Rem-based type scale with CSS variable generators |
|
|
94
|
+
| ThemeProvider | `@wealthx/shadcn/theme` | Runtime theme provider for tenant colors |
|
|
95
|
+
|
|
96
|
+
## Design tokens
|
|
97
|
+
|
|
98
|
+
All tokens are defined as CSS custom properties in `src/styles/globals.css`:
|
|
99
|
+
|
|
100
|
+
- **Colors** — OKLch format. Core tokens: `--background`, `--foreground`, `--primary`, `--secondary`, `--muted`, `--accent`, `--destructive`. Status tokens: `--warning`, `--success`, `--info`. Chart series: `--chart-1` through `--chart-5`.
|
|
101
|
+
- **Typography** — Figtree font family. 13 styles from Display down to Code, each with `--font-size-*`, `--line-height-*`, `--letter-spacing-*`, and `--font-weight-*` variables.
|
|
102
|
+
- **Border radius** — All radii set to `0px` (sharp corners by design).
|
|
103
|
+
|
|
104
|
+
## Development
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Install dependencies
|
|
108
|
+
yarn
|
|
109
|
+
|
|
110
|
+
# Build the package (CSS + JS)
|
|
111
|
+
yarn workspace @wealthx/shadcn build
|
|
112
|
+
|
|
113
|
+
# Watch mode
|
|
114
|
+
yarn workspace @wealthx/shadcn dev
|
|
115
|
+
|
|
116
|
+
# Lint
|
|
117
|
+
yarn workspace @wealthx/shadcn lint
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Tech stack
|
|
121
|
+
|
|
122
|
+
- [shadcn/ui](https://ui.shadcn.com) — Component primitives
|
|
123
|
+
- [Tailwind CSS v4](https://tailwindcss.com) — Utility-first styles
|
|
124
|
+
- [Radix Primitives](https://www.radix-ui.com) via `@base-ui/react` — Accessible headless components
|
|
125
|
+
- [TanStack Table](https://tanstack.com/table) — DataTable
|
|
126
|
+
- [Lucide](https://lucide.dev) — Icons
|
|
127
|
+
- [tsup](https://tsup.egoist.dev) — Build tooling (CJS + ESM)
|
|
128
|
+
- [class-variance-authority](https://cva.style) — Variant management
|