@wealthx/shadcn 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.turbo/turbo-build.log +76 -67
  2. package/CHANGELOG.md +7 -0
  3. package/dist/{chunk-4CX4SBRO.mjs → chunk-A6AAWBPF.mjs} +1 -1
  4. package/dist/{chunk-WOEHFRGB.mjs → chunk-BDYZCBRT.mjs} +4 -4
  5. package/dist/{chunk-PMB3A7V3.mjs → chunk-EI5F6FMT.mjs} +1 -1
  6. package/dist/{chunk-CSDO6VBW.mjs → chunk-LBMRIB3G.mjs} +10 -10
  7. package/dist/{chunk-PG6K5XEC.mjs → chunk-S4QRUQNW.mjs} +1 -1
  8. package/dist/chunk-U4NDAF2P.mjs +207 -0
  9. package/dist/{chunk-DOH3EHX7.mjs → chunk-U5X52X37.mjs} +1 -1
  10. package/dist/{chunk-WA6O6EUR.mjs → chunk-URGMJAE3.mjs} +9 -9
  11. package/dist/{chunk-ZRO5JO3H.mjs → chunk-UT4KJR7V.mjs} +48 -12
  12. package/dist/{chunk-SYOD63OZ.mjs → chunk-VGSESELX.mjs} +2 -2
  13. package/dist/chunk-ZRSDX6OW.mjs +385 -0
  14. package/dist/chunk-ZSHYDDRB.mjs +249 -0
  15. package/dist/components/ui/add-column-modal.mjs +3 -3
  16. package/dist/components/ui/add-lead-modal.mjs +2 -2
  17. package/dist/components/ui/color-picker.js +417 -0
  18. package/dist/components/ui/color-picker.mjs +22 -0
  19. package/dist/components/ui/data-table.js +44 -12
  20. package/dist/components/ui/data-table.mjs +1 -1
  21. package/dist/components/ui/date-picker.mjs +2 -2
  22. package/dist/components/ui/form-primitives.js +4 -4
  23. package/dist/components/ui/form-primitives.mjs +3 -3
  24. package/dist/components/ui/opportunity-edit-modals.js +4 -4
  25. package/dist/components/ui/opportunity-edit-modals.mjs +8 -8
  26. package/dist/components/ui/opportunity-summary-tab.js +4 -4
  27. package/dist/components/ui/opportunity-summary-tab.mjs +9 -9
  28. package/dist/components/ui/pipeline-board.js +4 -4
  29. package/dist/components/ui/pipeline-board.mjs +3 -3
  30. package/dist/components/ui/pipeline-dialogs.js +4 -4
  31. package/dist/components/ui/pipeline-dialogs.mjs +5 -5
  32. package/dist/components/ui/sidebar-nav.js +540 -0
  33. package/dist/components/ui/sidebar-nav.mjs +11 -0
  34. package/dist/components/ui/stepper.js +283 -0
  35. package/dist/components/ui/stepper.mjs +18 -0
  36. package/dist/components/ui/toggle-group.js +4 -4
  37. package/dist/components/ui/toggle-group.mjs +2 -2
  38. package/dist/components/ui/toggle.js +4 -4
  39. package/dist/components/ui/toggle.mjs +1 -1
  40. package/dist/index.js +2141 -1292
  41. package/dist/index.mjs +103 -71
  42. package/dist/lib/typography.js +10 -10
  43. package/dist/lib/typography.mjs +1 -1
  44. package/dist/styles.css +1 -1
  45. package/package.json +16 -1
  46. package/src/components/index.tsx +41 -0
  47. package/src/components/ui/color-picker.tsx +307 -0
  48. package/src/components/ui/data-table.tsx +91 -11
  49. package/src/components/ui/sidebar-nav.tsx +517 -0
  50. package/src/components/ui/stepper.tsx +347 -0
  51. package/src/components/ui/toggle.tsx +4 -4
  52. package/src/lib/typography.ts +11 -11
  53. package/src/styles/globals.css +19 -19
  54. package/src/styles/styles-css.ts +1 -1
  55. package/tsup.config.ts +3 -0
  56. package/dist/{chunk-KUDCQ4FI.mjs → chunk-5MEWU56Z.mjs} +3 -3
  57. package/dist/{chunk-PR6V5XKM.mjs → chunk-CGH4DRNG.mjs} +3 -3
  58. package/dist/{chunk-3WMX6KWS.mjs → chunk-Y4QFWRNR.mjs} +8 -8
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/ui/stepper.tsx
31
+ var stepper_exports = {};
32
+ __export(stepper_exports, {
33
+ Step: () => Step,
34
+ StepContent: () => StepContent,
35
+ StepIndicator: () => StepIndicator,
36
+ StepItem: () => StepItem,
37
+ StepLabel: () => StepLabel,
38
+ Stepper: () => Stepper
39
+ });
40
+ module.exports = __toCommonJS(stepper_exports);
41
+ var React = __toESM(require("react"));
42
+ var import_lucide_react = require("lucide-react");
43
+
44
+ // src/lib/utils.ts
45
+ var import_clsx = require("clsx");
46
+ var import_tailwind_merge = require("tailwind-merge");
47
+ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
48
+ extend: {
49
+ classGroups: {
50
+ "font-size": [
51
+ {
52
+ text: [
53
+ "display-large",
54
+ "display-medium",
55
+ "display-small",
56
+ "h1",
57
+ "h2",
58
+ "h3",
59
+ "h4",
60
+ "h5",
61
+ "h6",
62
+ "body-large",
63
+ "body-medium",
64
+ "body-small",
65
+ "label-large",
66
+ "label-medium",
67
+ "label-small",
68
+ "button",
69
+ "button-xs",
70
+ "caption",
71
+ "overline",
72
+ "code"
73
+ ]
74
+ }
75
+ ]
76
+ }
77
+ }
78
+ });
79
+ function cn(...inputs) {
80
+ return twMerge((0, import_clsx.clsx)(inputs));
81
+ }
82
+
83
+ // src/components/ui/stepper.tsx
84
+ var import_jsx_runtime = require("react/jsx-runtime");
85
+ var StepperContext = React.createContext({
86
+ activeStep: 0,
87
+ orientation: "horizontal",
88
+ totalSteps: 0
89
+ });
90
+ var StepContext = React.createContext({
91
+ index: 0,
92
+ isActive: false,
93
+ isCompleted: false,
94
+ isFirst: true,
95
+ isLast: false
96
+ });
97
+ function Stepper({
98
+ activeStep = 0,
99
+ orientation = "horizontal",
100
+ className,
101
+ children
102
+ }) {
103
+ const totalSteps = React.Children.count(children);
104
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepperContext.Provider, { value: { activeStep, orientation, totalSteps }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
+ "div",
106
+ {
107
+ "data-slot": "stepper",
108
+ className: cn(
109
+ "font-sans",
110
+ orientation === "horizontal" ? "flex w-full items-start" : "flex flex-col",
111
+ className
112
+ ),
113
+ children: React.Children.map(
114
+ children,
115
+ (step, index) => React.isValidElement(step) ? React.cloneElement(
116
+ step,
117
+ { _index: index }
118
+ ) : step
119
+ )
120
+ }
121
+ ) });
122
+ }
123
+ function Step({ _index = 0, error, className, children }) {
124
+ const { activeStep, orientation, totalSteps } = React.useContext(StepperContext);
125
+ const isActive = _index === activeStep;
126
+ const isCompleted = _index < activeStep;
127
+ const isFirst = _index === 0;
128
+ const isLast = _index === totalSteps - 1;
129
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
130
+ StepContext.Provider,
131
+ {
132
+ value: { index: _index, isActive, isCompleted, isFirst, isLast },
133
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
134
+ "div",
135
+ {
136
+ "data-slot": "step",
137
+ "aria-current": isActive ? "step" : void 0,
138
+ "data-active": isActive || void 0,
139
+ "data-completed": isCompleted || void 0,
140
+ "data-error": error || void 0,
141
+ className: cn(
142
+ orientation === "horizontal" ? "flex flex-1 flex-col items-center" : "flex flex-row gap-3",
143
+ className
144
+ ),
145
+ children
146
+ }
147
+ )
148
+ }
149
+ );
150
+ }
151
+ function StepIndicator({ error, className }) {
152
+ const { orientation } = React.useContext(StepperContext);
153
+ const { index, isActive, isCompleted, isFirst, isLast } = React.useContext(StepContext);
154
+ const filled = isActive || isCompleted;
155
+ const circle = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
156
+ "div",
157
+ {
158
+ className: cn(
159
+ "relative z-10 flex size-8 shrink-0 items-center justify-center rounded-full text-sm font-medium transition-colors",
160
+ !filled && !error && "border-2 border-border bg-background text-muted-foreground",
161
+ isActive && !error && "border-2 border-primary bg-primary text-primary-foreground",
162
+ isCompleted && !error && "bg-primary text-primary-foreground",
163
+ error && "border-2 border-destructive bg-destructive text-destructive-foreground"
164
+ ),
165
+ children: isCompleted && !error ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: "size-4", strokeWidth: 2.5 }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: index + 1 })
166
+ }
167
+ );
168
+ if (orientation === "horizontal") {
169
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
170
+ "div",
171
+ {
172
+ "data-slot": "step-indicator",
173
+ className: cn("flex w-full items-center", className),
174
+ children: [
175
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
176
+ "div",
177
+ {
178
+ className: cn(
179
+ "h-[2px] flex-1 transition-colors",
180
+ isFirst ? "bg-transparent" : isActive || isCompleted ? "bg-primary" : "bg-border"
181
+ )
182
+ }
183
+ ),
184
+ circle,
185
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
186
+ "div",
187
+ {
188
+ className: cn(
189
+ "h-[2px] flex-1 transition-colors",
190
+ isLast ? "bg-transparent" : isCompleted ? "bg-primary" : "bg-border"
191
+ )
192
+ }
193
+ )
194
+ ]
195
+ }
196
+ );
197
+ }
198
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
199
+ "div",
200
+ {
201
+ "data-slot": "step-indicator",
202
+ className: cn("flex w-8 shrink-0 flex-col items-center", className),
203
+ children: [
204
+ circle,
205
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
206
+ "div",
207
+ {
208
+ "data-slot": "step-connector",
209
+ className: cn(
210
+ "mt-1 w-[2px] flex-1 transition-colors",
211
+ isActive || isCompleted ? "bg-primary" : "bg-border"
212
+ )
213
+ }
214
+ )
215
+ ]
216
+ }
217
+ );
218
+ }
219
+ function StepLabel({
220
+ children,
221
+ description,
222
+ error,
223
+ className
224
+ }) {
225
+ const { orientation } = React.useContext(StepperContext);
226
+ const { isActive, isCompleted, isLast } = React.useContext(StepContext);
227
+ const subtext = typeof error === "string" ? error : description;
228
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
229
+ "div",
230
+ {
231
+ "data-slot": "step-label",
232
+ className: cn(
233
+ "flex flex-col",
234
+ orientation === "horizontal" ? "mt-2 items-center text-center" : cn("flex-1", !isLast && "pb-5"),
235
+ className
236
+ ),
237
+ children: [
238
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
239
+ "span",
240
+ {
241
+ className: cn(
242
+ "text-sm font-medium leading-tight transition-colors",
243
+ (isActive || isCompleted) && !error && "text-foreground",
244
+ !isActive && !isCompleted && !error && "text-muted-foreground",
245
+ error && "text-destructive"
246
+ ),
247
+ children
248
+ }
249
+ ),
250
+ subtext && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
251
+ "span",
252
+ {
253
+ className: cn(
254
+ "mt-0.5 text-xs",
255
+ error ? "text-destructive" : "text-muted-foreground"
256
+ ),
257
+ children: subtext
258
+ }
259
+ )
260
+ ]
261
+ }
262
+ );
263
+ }
264
+ function StepContent({ className, children }) {
265
+ const { isActive } = React.useContext(StepContext);
266
+ if (!isActive) return null;
267
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { "data-slot": "step-content", className: cn("pb-4 pt-2", className), children });
268
+ }
269
+ function StepItem({ label, description, error }) {
270
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
271
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepIndicator, { error: !!error }),
272
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepLabel, { description, error, children: label })
273
+ ] });
274
+ }
275
+ // Annotate the CommonJS export names for ESM import in node:
276
+ 0 && (module.exports = {
277
+ Step,
278
+ StepContent,
279
+ StepIndicator,
280
+ StepItem,
281
+ StepLabel,
282
+ Stepper
283
+ });
@@ -0,0 +1,18 @@
1
+ import {
2
+ Step,
3
+ StepContent,
4
+ StepIndicator,
5
+ StepItem,
6
+ StepLabel,
7
+ Stepper
8
+ } from "../../chunk-U4NDAF2P.mjs";
9
+ import "../../chunk-VLQZANBF.mjs";
10
+ import "../../chunk-FWCSY2DS.mjs";
11
+ export {
12
+ Step,
13
+ StepContent,
14
+ StepIndicator,
15
+ StepItem,
16
+ StepLabel,
17
+ Stepper
18
+ };
@@ -111,7 +111,7 @@ var import_class_variance_authority = require("class-variance-authority");
111
111
  var import_toggle = require("@base-ui/react/toggle");
112
112
  var import_jsx_runtime = require("react/jsx-runtime");
113
113
  var toggleVariants = (0, import_class_variance_authority.cva)(
114
- "inline-flex items-center justify-center gap-2 text-label-medium whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-pressed:bg-primary/10 data-pressed:inset-ring data-pressed:inset-ring-primary data-pressed:text-foreground data-pressed:hover:bg-primary/10 data-pressed:hover:text-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
114
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-pressed:bg-primary/10 data-pressed:inset-ring data-pressed:inset-ring-primary data-pressed:text-foreground data-pressed:hover:bg-primary/10 data-pressed:hover:text-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
115
115
  {
116
116
  variants: {
117
117
  variant: {
@@ -119,9 +119,9 @@ var toggleVariants = (0, import_class_variance_authority.cva)(
119
119
  outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
120
120
  },
121
121
  size: {
122
- default: "h-9 min-w-9 px-2",
123
- sm: "h-8 min-w-8 px-1.5 text-caption",
124
- lg: "h-10 min-w-10 px-2.5"
122
+ default: "h-9 min-w-9 px-2 text-label-large",
123
+ sm: "h-8 min-w-8 px-1.5 text-label-medium",
124
+ lg: "h-10 min-w-10 px-2.5 text-h5"
125
125
  }
126
126
  },
127
127
  defaultVariants: {
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ToggleGroup,
3
3
  ToggleGroupItem
4
- } from "../../chunk-PMB3A7V3.mjs";
5
- import "../../chunk-WOEHFRGB.mjs";
4
+ } from "../../chunk-EI5F6FMT.mjs";
5
+ import "../../chunk-BDYZCBRT.mjs";
6
6
  import "../../chunk-VLQZANBF.mjs";
7
7
  import "../../chunk-FWCSY2DS.mjs";
8
8
  export {
@@ -95,7 +95,7 @@ function cn(...inputs) {
95
95
  // src/components/ui/toggle.tsx
96
96
  var import_jsx_runtime = require("react/jsx-runtime");
97
97
  var toggleVariants = (0, import_class_variance_authority.cva)(
98
- "inline-flex items-center justify-center gap-2 text-label-medium whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-pressed:bg-primary/10 data-pressed:inset-ring data-pressed:inset-ring-primary data-pressed:text-foreground data-pressed:hover:bg-primary/10 data-pressed:hover:text-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
98
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-pressed:bg-primary/10 data-pressed:inset-ring data-pressed:inset-ring-primary data-pressed:text-foreground data-pressed:hover:bg-primary/10 data-pressed:hover:text-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
99
99
  {
100
100
  variants: {
101
101
  variant: {
@@ -103,9 +103,9 @@ var toggleVariants = (0, import_class_variance_authority.cva)(
103
103
  outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
104
104
  },
105
105
  size: {
106
- default: "h-9 min-w-9 px-2",
107
- sm: "h-8 min-w-8 px-1.5 text-caption",
108
- lg: "h-10 min-w-10 px-2.5"
106
+ default: "h-9 min-w-9 px-2 text-label-large",
107
+ sm: "h-8 min-w-8 px-1.5 text-label-medium",
108
+ lg: "h-10 min-w-10 px-2.5 text-h5"
109
109
  }
110
110
  },
111
111
  defaultVariants: {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Toggle,
3
3
  toggleVariants
4
- } from "../../chunk-WOEHFRGB.mjs";
4
+ } from "../../chunk-BDYZCBRT.mjs";
5
5
  import "../../chunk-VLQZANBF.mjs";
6
6
  import "../../chunk-FWCSY2DS.mjs";
7
7
  export {