@wealthx/shadcn 0.0.2 → 1.0.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.
Files changed (188) hide show
  1. package/.turbo/turbo-build.log +135 -11
  2. package/CHANGELOG.md +6 -0
  3. package/CHANGES.md +345 -0
  4. package/dist/chunk-2WZVSBAY.mjs +232 -0
  5. package/dist/chunk-2Y7YJKPE.mjs +47 -0
  6. package/dist/chunk-3U7SD3MS.mjs +55 -0
  7. package/dist/chunk-3VQNJ235.mjs +114 -0
  8. package/dist/chunk-55CEW76V.mjs +35 -0
  9. package/dist/chunk-6AFMNC42.mjs +146 -0
  10. package/dist/chunk-6OJF6XRN.mjs +117 -0
  11. package/dist/chunk-7LDIMXGM.mjs +181 -0
  12. package/dist/chunk-AMJ23O53.mjs +122 -0
  13. package/dist/chunk-BBJBJSXQ.mjs +44 -0
  14. package/dist/chunk-BGP2N52Z.mjs +126 -0
  15. package/dist/chunk-BMFN37JH.mjs +41 -0
  16. package/dist/chunk-CGOKTPXU.mjs +79 -0
  17. package/dist/chunk-CZ3BW5GL.mjs +81 -0
  18. package/dist/chunk-DBHJ5KC3.mjs +55 -0
  19. package/dist/chunk-DDPA2XXS.mjs +97 -0
  20. package/dist/chunk-DS2AMHN2.mjs +30 -0
  21. package/dist/chunk-E3K6O4FZ.mjs +57 -0
  22. package/dist/chunk-FWCSY2DS.mjs +37 -0
  23. package/dist/chunk-GPRJQ24C.mjs +28 -0
  24. package/dist/chunk-HS7TFG7V.mjs +24 -0
  25. package/dist/chunk-HUVTPUV2.mjs +256 -0
  26. package/dist/chunk-IAOOZCUY.mjs +90 -0
  27. package/dist/chunk-JF4PHPD5.mjs +111 -0
  28. package/dist/chunk-JU2RUWHF.mjs +123 -0
  29. package/dist/chunk-KKHTJNMM.mjs +86 -0
  30. package/dist/chunk-MJIEMGRD.mjs +266 -0
  31. package/dist/chunk-MKFL5MNH.mjs +372 -0
  32. package/dist/chunk-MQ72DIBH.mjs +105 -0
  33. package/dist/chunk-NGYG2EA6.mjs +148 -0
  34. package/dist/chunk-NWZ46DJL.mjs +213 -0
  35. package/dist/chunk-OXQQNQZI.mjs +75 -0
  36. package/dist/chunk-PMKODV6M.mjs +161 -0
  37. package/dist/chunk-QOJ2DQD6.mjs +57 -0
  38. package/dist/chunk-RL772EH7.mjs +126 -0
  39. package/dist/chunk-SLWCCURD.mjs +99 -0
  40. package/dist/chunk-V7CNWJT3.mjs +10 -0
  41. package/dist/chunk-VG6UF6UT.mjs +68 -0
  42. package/dist/chunk-VYMHBV6D.mjs +123 -0
  43. package/dist/chunk-VZ2NR7L3.mjs +195 -0
  44. package/dist/chunk-YN5SYTOO.mjs +117 -0
  45. package/dist/chunk-Z3MK2KKZ.mjs +83 -0
  46. package/dist/chunk-ZN2QKLF6.mjs +187 -0
  47. package/dist/chunk-ZZV5JVNW.mjs +34 -0
  48. package/dist/components/ui/accordion.js +142 -0
  49. package/dist/components/ui/accordion.mjs +14 -0
  50. package/dist/components/ui/alert-dialog.js +413 -0
  51. package/dist/components/ui/alert-dialog.mjs +34 -0
  52. package/dist/components/ui/alert.js +134 -0
  53. package/dist/components/ui/alert.mjs +12 -0
  54. package/dist/components/ui/avatar.js +173 -0
  55. package/dist/components/ui/avatar.mjs +18 -0
  56. package/dist/components/ui/badge.js +163 -0
  57. package/dist/components/ui/badge.mjs +11 -0
  58. package/dist/components/ui/button.js +198 -0
  59. package/dist/components/ui/button.mjs +11 -0
  60. package/dist/components/ui/calendar.js +408 -0
  61. package/dist/components/ui/calendar.mjs +12 -0
  62. package/dist/components/ui/card.js +156 -0
  63. package/dist/components/ui/card.mjs +20 -0
  64. package/dist/components/ui/checkbox.js +166 -0
  65. package/dist/components/ui/checkbox.mjs +11 -0
  66. package/dist/components/ui/chip.js +199 -0
  67. package/dist/components/ui/chip.mjs +10 -0
  68. package/dist/components/ui/data-table.js +925 -0
  69. package/dist/components/ui/data-table.mjs +29 -0
  70. package/dist/components/ui/date-picker.js +561 -0
  71. package/dist/components/ui/date-picker.mjs +15 -0
  72. package/dist/components/ui/dialog.js +378 -0
  73. package/dist/components/ui/dialog.mjs +30 -0
  74. package/dist/components/ui/drawer.js +213 -0
  75. package/dist/components/ui/drawer.mjs +28 -0
  76. package/dist/components/ui/dropdown-menu.js +338 -0
  77. package/dist/components/ui/dropdown-menu.mjs +38 -0
  78. package/dist/components/ui/empty.js +173 -0
  79. package/dist/components/ui/empty.mjs +18 -0
  80. package/dist/components/ui/field.js +359 -0
  81. package/dist/components/ui/field.mjs +28 -0
  82. package/dist/components/ui/input-group.js +406 -0
  83. package/dist/components/ui/input-group.mjs +22 -0
  84. package/dist/components/ui/input-otp.js +149 -0
  85. package/dist/components/ui/input-otp.mjs +14 -0
  86. package/dist/components/ui/input.js +81 -0
  87. package/dist/components/ui/input.mjs +8 -0
  88. package/dist/components/ui/label.js +85 -0
  89. package/dist/components/ui/label.mjs +8 -0
  90. package/dist/components/ui/pagination.js +333 -0
  91. package/dist/components/ui/pagination.mjs +22 -0
  92. package/dist/components/ui/popover.js +167 -0
  93. package/dist/components/ui/popover.mjs +22 -0
  94. package/dist/components/ui/progress.js +97 -0
  95. package/dist/components/ui/progress.mjs +8 -0
  96. package/dist/components/ui/radio-group.js +178 -0
  97. package/dist/components/ui/radio-group.mjs +12 -0
  98. package/dist/components/ui/select.js +262 -0
  99. package/dist/components/ui/select.mjs +28 -0
  100. package/dist/components/ui/separator.js +86 -0
  101. package/dist/components/ui/separator.mjs +8 -0
  102. package/dist/components/ui/sheet.js +227 -0
  103. package/dist/components/ui/sheet.mjs +26 -0
  104. package/dist/components/ui/skeleton.js +75 -0
  105. package/dist/components/ui/skeleton.mjs +8 -0
  106. package/dist/components/ui/sonner.js +86 -0
  107. package/dist/components/ui/sonner.mjs +7 -0
  108. package/dist/components/ui/spinner.js +93 -0
  109. package/dist/components/ui/spinner.mjs +10 -0
  110. package/dist/components/ui/switch.js +178 -0
  111. package/dist/components/ui/switch.mjs +11 -0
  112. package/dist/components/ui/table.js +184 -0
  113. package/dist/components/ui/table.mjs +22 -0
  114. package/dist/components/ui/tabs.js +181 -0
  115. package/dist/components/ui/tabs.mjs +16 -0
  116. package/dist/components/ui/textarea.js +79 -0
  117. package/dist/components/ui/textarea.mjs +8 -0
  118. package/dist/components/ui/toggle-group.js +184 -0
  119. package/dist/components/ui/toggle-group.mjs +12 -0
  120. package/dist/components/ui/toggle.js +108 -0
  121. package/dist/components/ui/toggle.mjs +11 -0
  122. package/dist/components/ui/tooltip.js +140 -0
  123. package/dist/components/ui/tooltip.mjs +16 -0
  124. package/dist/index.js +4312 -90
  125. package/dist/index.mjs +459 -158
  126. package/dist/lib/colors.js +84 -0
  127. package/dist/lib/colors.mjs +13 -0
  128. package/dist/lib/theme-provider.js +150 -0
  129. package/dist/lib/theme-provider.mjs +13 -0
  130. package/dist/lib/typography.js +157 -0
  131. package/dist/lib/typography.mjs +25 -0
  132. package/dist/lib/utils.js +34 -0
  133. package/dist/lib/utils.mjs +7 -0
  134. package/dist/styles.css +1 -1
  135. package/package.json +228 -11
  136. package/scripts/build-css.ts +15 -9
  137. package/src/components/index.tsx +443 -0
  138. package/src/components/ui/accordion.tsx +99 -0
  139. package/src/components/ui/alert-dialog.tsx +239 -0
  140. package/src/components/ui/alert.tsx +81 -0
  141. package/src/components/ui/avatar.tsx +130 -0
  142. package/src/components/ui/badge.tsx +57 -0
  143. package/src/components/ui/button.tsx +69 -37
  144. package/src/components/ui/calendar.tsx +252 -0
  145. package/src/components/ui/card.tsx +106 -0
  146. package/src/components/ui/checkbox.tsx +111 -0
  147. package/src/components/ui/chip.tsx +65 -0
  148. package/src/components/ui/data-table.tsx +490 -0
  149. package/src/components/ui/date-picker.tsx +133 -0
  150. package/src/components/ui/dialog.tsx +195 -0
  151. package/src/components/ui/drawer.tsx +169 -0
  152. package/src/components/ui/dropdown-menu.tsx +315 -0
  153. package/src/components/ui/empty.tsx +128 -0
  154. package/src/components/ui/field.tsx +273 -0
  155. package/src/components/ui/input-group.tsx +190 -0
  156. package/src/components/ui/input-otp.tsx +90 -0
  157. package/src/components/ui/input.tsx +28 -0
  158. package/src/components/ui/label.tsx +24 -0
  159. package/src/components/ui/pagination.tsx +148 -0
  160. package/src/components/ui/popover.tsx +112 -0
  161. package/src/components/ui/progress.tsx +40 -0
  162. package/src/components/ui/radio-group.tsx +129 -0
  163. package/src/components/ui/select.tsx +201 -0
  164. package/src/components/ui/separator.tsx +26 -0
  165. package/src/components/ui/sheet.tsx +182 -0
  166. package/src/components/ui/skeleton.tsx +22 -0
  167. package/src/components/ui/sonner.tsx +48 -0
  168. package/src/components/ui/spinner.tsx +41 -0
  169. package/src/components/ui/switch.tsx +126 -0
  170. package/src/components/ui/table.tsx +143 -0
  171. package/src/components/ui/tabs.tsx +119 -0
  172. package/src/components/ui/textarea.tsx +28 -0
  173. package/src/components/ui/toggle-group.tsx +94 -0
  174. package/src/components/ui/toggle.tsx +59 -0
  175. package/src/components/ui/tooltip.tsx +80 -0
  176. package/src/index.ts +15 -3
  177. package/src/lib/colors.ts +74 -0
  178. package/src/lib/slot.tsx +68 -0
  179. package/src/lib/theme-provider.tsx +134 -0
  180. package/src/lib/typography.ts +153 -0
  181. package/src/lib/utils.ts +1 -1
  182. package/src/styles/globals.css +377 -107
  183. package/src/styles/styles-css.ts +1 -1
  184. package/tsup.config.ts +48 -2
  185. package/dist/index.d.mts +0 -27
  186. package/dist/index.d.ts +0 -27
  187. package/src/provider/ShadcnProvider.tsx +0 -89
  188. package/src/provider/index.ts +0 -2
@@ -0,0 +1,79 @@
1
+ import {
2
+ useThemeVars
3
+ } from "./chunk-OXQQNQZI.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-V7CNWJT3.mjs";
7
+ import {
8
+ __objRest,
9
+ __spreadProps,
10
+ __spreadValues
11
+ } from "./chunk-FWCSY2DS.mjs";
12
+
13
+ // src/components/ui/tooltip.tsx
14
+ import { Tooltip as TooltipPrimitive } from "@base-ui/react/tooltip";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ function TooltipProvider(_a) {
17
+ var _b = _a, {
18
+ delay = 0
19
+ } = _b, props = __objRest(_b, [
20
+ "delay"
21
+ ]);
22
+ return /* @__PURE__ */ jsx(
23
+ TooltipPrimitive.Provider,
24
+ __spreadValues({
25
+ "data-slot": "tooltip-provider",
26
+ delay
27
+ }, props)
28
+ );
29
+ }
30
+ function Tooltip(_a) {
31
+ var props = __objRest(_a, []);
32
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Root, __spreadValues({ "data-slot": "tooltip" }, props));
33
+ }
34
+ function TooltipTrigger(_a) {
35
+ var props = __objRest(_a, []);
36
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, __spreadValues({ "data-slot": "tooltip-trigger" }, props));
37
+ }
38
+ function TooltipContent(_a) {
39
+ var _b = _a, {
40
+ className,
41
+ sideOffset = 8,
42
+ children,
43
+ style
44
+ } = _b, props = __objRest(_b, [
45
+ "className",
46
+ "sideOffset",
47
+ "children",
48
+ "style"
49
+ ]);
50
+ const themeVars = useThemeVars();
51
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(TooltipPrimitive.Positioner, { sideOffset, children: [
52
+ /* @__PURE__ */ jsx(
53
+ TooltipPrimitive.Popup,
54
+ __spreadProps(__spreadValues({
55
+ className: cn(
56
+ "z-50 w-fit animate-in bg-brand-secondary px-3 py-1.5 text-xs text-balance text-brand-secondary-foreground fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards",
57
+ className
58
+ ),
59
+ "data-slot": "tooltip-content",
60
+ style: __spreadValues(__spreadValues({}, themeVars), style)
61
+ }, props), {
62
+ children
63
+ })
64
+ ),
65
+ /* @__PURE__ */ jsx(
66
+ TooltipPrimitive.Arrow,
67
+ {
68
+ className: "z-50 size-2.5 rotate-45 bg-brand-secondary"
69
+ }
70
+ )
71
+ ] }) });
72
+ }
73
+
74
+ export {
75
+ TooltipProvider,
76
+ Tooltip,
77
+ TooltipTrigger,
78
+ TooltipContent
79
+ };
@@ -0,0 +1,81 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-V7CNWJT3.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadValues
7
+ } from "./chunk-FWCSY2DS.mjs";
8
+
9
+ // src/components/ui/alert.tsx
10
+ import { cva } from "class-variance-authority";
11
+ import { jsx } from "react/jsx-runtime";
12
+ var alertVariants = cva(
13
+ "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
14
+ {
15
+ variants: {
16
+ variant: {
17
+ default: "border-border bg-card text-card-foreground",
18
+ destructive: "border-destructive/40 bg-destructive/10 text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-destructive",
19
+ warning: "border-warning/40 bg-warning/10 text-warning *:data-[slot=alert-description]:text-warning/90 [&>svg]:text-warning",
20
+ success: "border-success/40 bg-success/10 text-success *:data-[slot=alert-description]:text-success/90 [&>svg]:text-success",
21
+ info: "border-info/40 bg-info/10 text-info *:data-[slot=alert-description]:text-info/90 [&>svg]:text-info"
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ variant: "default"
26
+ }
27
+ }
28
+ );
29
+ function Alert(_a) {
30
+ var _b = _a, {
31
+ className,
32
+ variant
33
+ } = _b, props = __objRest(_b, [
34
+ "className",
35
+ "variant"
36
+ ]);
37
+ return /* @__PURE__ */ jsx(
38
+ "div",
39
+ __spreadValues({
40
+ className: cn(alertVariants({ variant }), className),
41
+ "data-slot": "alert",
42
+ role: "alert"
43
+ }, props)
44
+ );
45
+ }
46
+ function AlertTitle(_a) {
47
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
48
+ return /* @__PURE__ */ jsx(
49
+ "div",
50
+ __spreadValues({
51
+ className: cn(
52
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
53
+ className
54
+ ),
55
+ "data-slot": "alert-title"
56
+ }, props)
57
+ );
58
+ }
59
+ function AlertDescription(_a) {
60
+ var _b = _a, {
61
+ className
62
+ } = _b, props = __objRest(_b, [
63
+ "className"
64
+ ]);
65
+ return /* @__PURE__ */ jsx(
66
+ "div",
67
+ __spreadValues({
68
+ className: cn(
69
+ "col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed",
70
+ className
71
+ ),
72
+ "data-slot": "alert-description"
73
+ }, props)
74
+ );
75
+ }
76
+
77
+ export {
78
+ Alert,
79
+ AlertTitle,
80
+ AlertDescription
81
+ };
@@ -0,0 +1,55 @@
1
+ import {
2
+ __objRest,
3
+ __spreadValues
4
+ } from "./chunk-FWCSY2DS.mjs";
5
+
6
+ // src/lib/slot.tsx
7
+ import * as React from "react";
8
+ function mergeRefs(...refs) {
9
+ return (value) => {
10
+ for (const ref of refs) {
11
+ if (typeof ref === "function") ref(value);
12
+ else if (ref !== null)
13
+ ref.current = value;
14
+ }
15
+ };
16
+ }
17
+ var Slot = React.forwardRef(
18
+ (_a, forwardedRef) => {
19
+ var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
20
+ const child = React.Children.only(children);
21
+ if (!React.isValidElement(child)) return null;
22
+ const childProps = child.props;
23
+ const merged = __spreadValues({}, props);
24
+ for (const key of Object.keys(childProps)) {
25
+ if (key === "className") {
26
+ merged.className = [props.className, childProps.className].filter(Boolean).join(" ");
27
+ } else if (key === "style") {
28
+ merged.style = __spreadValues(__spreadValues({}, props.style), childProps.style);
29
+ } else if (key.startsWith("on") && typeof childProps[key] === "function") {
30
+ const parentHandler = props[key];
31
+ if (typeof parentHandler === "function") {
32
+ merged[key] = (...args) => {
33
+ childProps[key](...args);
34
+ parentHandler(...args);
35
+ };
36
+ } else {
37
+ merged[key] = childProps[key];
38
+ }
39
+ } else {
40
+ merged[key] = childProps[key];
41
+ }
42
+ }
43
+ const childRef = child.ref;
44
+ merged.ref = forwardedRef ? mergeRefs(forwardedRef, childRef) : childRef;
45
+ return React.cloneElement(
46
+ child,
47
+ merged
48
+ );
49
+ }
50
+ );
51
+ Slot.displayName = "Slot";
52
+
53
+ export {
54
+ Slot
55
+ };
@@ -0,0 +1,97 @@
1
+ import {
2
+ toggleVariants
3
+ } from "./chunk-3U7SD3MS.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-V7CNWJT3.mjs";
7
+ import {
8
+ __objRest,
9
+ __spreadProps,
10
+ __spreadValues
11
+ } from "./chunk-FWCSY2DS.mjs";
12
+
13
+ // src/components/ui/toggle-group.tsx
14
+ import * as React from "react";
15
+ import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
16
+ import { Toggle as ToggleComponent } from "@base-ui/react/toggle";
17
+ import { jsx } from "react/jsx-runtime";
18
+ var ToggleGroupContext = React.createContext({
19
+ size: "default",
20
+ variant: "default",
21
+ spacing: 0
22
+ });
23
+ function ToggleGroup(_a) {
24
+ var _b = _a, {
25
+ className,
26
+ variant,
27
+ size,
28
+ spacing = 0,
29
+ type,
30
+ children
31
+ } = _b, props = __objRest(_b, [
32
+ "className",
33
+ "variant",
34
+ "size",
35
+ "spacing",
36
+ "type",
37
+ "children"
38
+ ]);
39
+ return /* @__PURE__ */ jsx(
40
+ ToggleGroupPrimitive,
41
+ __spreadProps(__spreadValues({
42
+ className: cn(
43
+ // WealthX: removed rounded-md (sharp corners) and shadow-xs (flat panels)
44
+ "group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))]",
45
+ className
46
+ ),
47
+ "data-size": size,
48
+ "data-slot": "toggle-group",
49
+ "data-spacing": spacing,
50
+ "data-variant": variant,
51
+ multiple: type === "multiple",
52
+ style: { "--gap": spacing }
53
+ }, props), {
54
+ children: /* @__PURE__ */ jsx(ToggleGroupContext.Provider, { value: { variant, size, spacing }, children })
55
+ })
56
+ );
57
+ }
58
+ function ToggleGroupItem(_a) {
59
+ var _b = _a, {
60
+ className,
61
+ children,
62
+ variant,
63
+ size
64
+ } = _b, props = __objRest(_b, [
65
+ "className",
66
+ "children",
67
+ "variant",
68
+ "size"
69
+ ]);
70
+ const context = React.useContext(ToggleGroupContext);
71
+ return /* @__PURE__ */ jsx(
72
+ ToggleComponent,
73
+ __spreadProps(__spreadValues({
74
+ className: cn(
75
+ toggleVariants({
76
+ variant: context.variant || variant,
77
+ size: context.size || size
78
+ }),
79
+ "w-auto min-w-0 shrink-0 focus:z-10 focus-visible:z-10",
80
+ // WealthX: no rounded corners on grouped items
81
+ "data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l",
82
+ className
83
+ ),
84
+ "data-size": context.size || size,
85
+ "data-slot": "toggle-group-item",
86
+ "data-spacing": context.spacing,
87
+ "data-variant": context.variant || variant
88
+ }, props), {
89
+ children
90
+ })
91
+ );
92
+ }
93
+
94
+ export {
95
+ ToggleGroup,
96
+ ToggleGroupItem
97
+ };
@@ -0,0 +1,30 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-V7CNWJT3.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadValues
7
+ } from "./chunk-FWCSY2DS.mjs";
8
+
9
+ // src/components/ui/input.tsx
10
+ import { jsx } from "react/jsx-runtime";
11
+ function Input(_a) {
12
+ var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
13
+ return /* @__PURE__ */ jsx(
14
+ "input",
15
+ __spreadValues({
16
+ className: cn(
17
+ "h-9 w-full min-w-0 border border-input bg-transparent px-3 py-1 text-base font-sans shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30",
18
+ "focus-visible:border-primary focus-visible:ring-[3px] focus-visible:ring-primary/20",
19
+ "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",
20
+ className
21
+ ),
22
+ "data-slot": "input",
23
+ type
24
+ }, props)
25
+ );
26
+ }
27
+
28
+ export {
29
+ Input
30
+ };
@@ -0,0 +1,57 @@
1
+ import {
2
+ Slot
3
+ } from "./chunk-DBHJ5KC3.mjs";
4
+ import {
5
+ cn
6
+ } from "./chunk-V7CNWJT3.mjs";
7
+ import {
8
+ __objRest,
9
+ __spreadValues
10
+ } from "./chunk-FWCSY2DS.mjs";
11
+
12
+ // src/components/ui/badge.tsx
13
+ import { cva } from "class-variance-authority";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var badgeVariants = cva(
16
+ "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium font-sans whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",
17
+ {
18
+ variants: {
19
+ variant: {
20
+ default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
21
+ secondary: "bg-muted text-muted-foreground [a&]:hover:bg-muted/80",
22
+ destructive: "bg-destructive text-destructive-foreground focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",
23
+ outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
24
+ ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
25
+ link: "text-primary underline-offset-4 [a&]:hover:underline"
26
+ }
27
+ },
28
+ defaultVariants: {
29
+ variant: "default"
30
+ }
31
+ }
32
+ );
33
+ function Badge(_a) {
34
+ var _b = _a, {
35
+ className,
36
+ variant = "default",
37
+ asChild = false
38
+ } = _b, props = __objRest(_b, [
39
+ "className",
40
+ "variant",
41
+ "asChild"
42
+ ]);
43
+ const Comp = asChild ? Slot : "span";
44
+ return /* @__PURE__ */ jsx(
45
+ Comp,
46
+ __spreadValues({
47
+ className: cn(badgeVariants({ variant }), className),
48
+ "data-slot": "badge",
49
+ "data-variant": variant
50
+ }, props)
51
+ );
52
+ }
53
+
54
+ export {
55
+ badgeVariants,
56
+ Badge
57
+ };
@@ -0,0 +1,37 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+
33
+ export {
34
+ __spreadValues,
35
+ __spreadProps,
36
+ __objRest
37
+ };
@@ -0,0 +1,28 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-V7CNWJT3.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadValues
7
+ } from "./chunk-FWCSY2DS.mjs";
8
+
9
+ // src/components/ui/textarea.tsx
10
+ import { jsx } from "react/jsx-runtime";
11
+ function Textarea(_a) {
12
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
13
+ return /* @__PURE__ */ jsx(
14
+ "textarea",
15
+ __spreadValues({
16
+ className: cn(
17
+ // WealthX: removed shadow-xs (flat panels), added font-sans
18
+ "flex field-sizing-content min-h-16 w-full border border-input bg-transparent px-3 py-2 text-base font-sans transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-primary focus-visible:ring-[3px] focus-visible:ring-primary/20 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
19
+ className
20
+ ),
21
+ "data-slot": "textarea"
22
+ }, props)
23
+ );
24
+ }
25
+
26
+ export {
27
+ Textarea
28
+ };
@@ -0,0 +1,24 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-V7CNWJT3.mjs";
4
+ import {
5
+ __objRest,
6
+ __spreadValues
7
+ } from "./chunk-FWCSY2DS.mjs";
8
+
9
+ // src/components/ui/skeleton.tsx
10
+ import { jsx } from "react/jsx-runtime";
11
+ function Skeleton(_a) {
12
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
13
+ return /* @__PURE__ */ jsx(
14
+ "div",
15
+ __spreadValues({
16
+ className: cn("animate-pulse bg-muted", className),
17
+ "data-slot": "skeleton"
18
+ }, props)
19
+ );
20
+ }
21
+
22
+ export {
23
+ Skeleton
24
+ };