@ancatag/at-design 0.3.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 (166) hide show
  1. package/README.md +537 -0
  2. package/dist/components/Sheet.d.ts +20 -0
  3. package/dist/components/Sheet.d.ts.map +1 -0
  4. package/dist/components/Sheet.js +26 -0
  5. package/dist/components/Sheet.js.map +1 -0
  6. package/dist/components/alert-dialog.d.ts +21 -0
  7. package/dist/components/alert-dialog.d.ts.map +1 -0
  8. package/dist/components/alert-dialog.js +27 -0
  9. package/dist/components/alert-dialog.js.map +1 -0
  10. package/dist/components/alert.d.ts +9 -0
  11. package/dist/components/alert.d.ts.map +1 -0
  12. package/dist/components/alert.js +23 -0
  13. package/dist/components/alert.js.map +1 -0
  14. package/dist/components/avatar.d.ts +7 -0
  15. package/dist/components/avatar.d.ts.map +1 -0
  16. package/dist/components/avatar.js +12 -0
  17. package/dist/components/avatar.js.map +1 -0
  18. package/dist/components/badge.d.ts +10 -0
  19. package/dist/components/badge.d.ts.map +1 -0
  20. package/dist/components/badge.js +21 -0
  21. package/dist/components/badge.js.map +1 -0
  22. package/dist/components/bottom-sheet.d.ts +16 -0
  23. package/dist/components/bottom-sheet.d.ts.map +1 -0
  24. package/dist/components/bottom-sheet.js +13 -0
  25. package/dist/components/bottom-sheet.js.map +1 -0
  26. package/dist/components/button.d.ts +12 -0
  27. package/dist/components/button.d.ts.map +1 -0
  28. package/dist/components/button.js +34 -0
  29. package/dist/components/button.js.map +1 -0
  30. package/dist/components/card.d.ts +9 -0
  31. package/dist/components/card.d.ts.map +1 -0
  32. package/dist/components/card.js +17 -0
  33. package/dist/components/card.js.map +1 -0
  34. package/dist/components/checkbox.d.ts +5 -0
  35. package/dist/components/checkbox.d.ts.map +1 -0
  36. package/dist/components/checkbox.js +10 -0
  37. package/dist/components/checkbox.js.map +1 -0
  38. package/dist/components/combobox.d.ts +19 -0
  39. package/dist/components/combobox.d.ts.map +1 -0
  40. package/dist/components/combobox.js +101 -0
  41. package/dist/components/combobox.js.map +1 -0
  42. package/dist/components/dialog.d.ts +20 -0
  43. package/dist/components/dialog.d.ts.map +1 -0
  44. package/dist/components/dialog.js +24 -0
  45. package/dist/components/dialog.js.map +1 -0
  46. package/dist/components/dropdown-menu.d.ts +28 -0
  47. package/dist/components/dropdown-menu.d.ts.map +1 -0
  48. package/dist/components/dropdown-menu.js +36 -0
  49. package/dist/components/dropdown-menu.js.map +1 -0
  50. package/dist/components/error-page.d.ts +105 -0
  51. package/dist/components/error-page.d.ts.map +1 -0
  52. package/dist/components/error-page.js +99 -0
  53. package/dist/components/error-page.js.map +1 -0
  54. package/dist/components/glass-card.d.ts +12 -0
  55. package/dist/components/glass-card.d.ts.map +1 -0
  56. package/dist/components/glass-card.js +15 -0
  57. package/dist/components/glass-card.js.map +1 -0
  58. package/dist/components/icon-badge.d.ts +15 -0
  59. package/dist/components/icon-badge.d.ts.map +1 -0
  60. package/dist/components/icon-badge.js +77 -0
  61. package/dist/components/icon-badge.js.map +1 -0
  62. package/dist/components/input.d.ts +6 -0
  63. package/dist/components/input.d.ts.map +1 -0
  64. package/dist/components/input.js +9 -0
  65. package/dist/components/input.js.map +1 -0
  66. package/dist/components/label.d.ts +6 -0
  67. package/dist/components/label.d.ts.map +1 -0
  68. package/dist/components/label.js +11 -0
  69. package/dist/components/label.js.map +1 -0
  70. package/dist/components/progress.d.ts +5 -0
  71. package/dist/components/progress.d.ts.map +1 -0
  72. package/dist/components/progress.js +9 -0
  73. package/dist/components/progress.js.map +1 -0
  74. package/dist/components/radio-group.d.ts +6 -0
  75. package/dist/components/radio-group.d.ts.map +1 -0
  76. package/dist/components/radio-group.js +15 -0
  77. package/dist/components/radio-group.js.map +1 -0
  78. package/dist/components/responsive-table.d.ts +21 -0
  79. package/dist/components/responsive-table.d.ts.map +1 -0
  80. package/dist/components/responsive-table.js +48 -0
  81. package/dist/components/responsive-table.js.map +1 -0
  82. package/dist/components/select.d.ts +14 -0
  83. package/dist/components/select.d.ts.map +1 -0
  84. package/dist/components/select.js +27 -0
  85. package/dist/components/select.js.map +1 -0
  86. package/dist/components/skeleton.d.ts +3 -0
  87. package/dist/components/skeleton.d.ts.map +1 -0
  88. package/dist/components/skeleton.js +7 -0
  89. package/dist/components/skeleton.js.map +1 -0
  90. package/dist/components/slider.d.ts +5 -0
  91. package/dist/components/slider.d.ts.map +1 -0
  92. package/dist/components/slider.js +9 -0
  93. package/dist/components/slider.js.map +1 -0
  94. package/dist/components/stat-card.d.ts +17 -0
  95. package/dist/components/stat-card.d.ts.map +1 -0
  96. package/dist/components/stat-card.js +23 -0
  97. package/dist/components/stat-card.js.map +1 -0
  98. package/dist/components/switch.d.ts +5 -0
  99. package/dist/components/switch.d.ts.map +1 -0
  100. package/dist/components/switch.js +9 -0
  101. package/dist/components/switch.js.map +1 -0
  102. package/dist/components/table.d.ts +11 -0
  103. package/dist/components/table.d.ts.map +1 -0
  104. package/dist/components/table.js +21 -0
  105. package/dist/components/table.js.map +1 -0
  106. package/dist/components/tabs.d.ts +8 -0
  107. package/dist/components/tabs.d.ts.map +1 -0
  108. package/dist/components/tabs.js +14 -0
  109. package/dist/components/tabs.js.map +1 -0
  110. package/dist/components/textarea.d.ts +6 -0
  111. package/dist/components/textarea.d.ts.map +1 -0
  112. package/dist/components/textarea.js +9 -0
  113. package/dist/components/textarea.js.map +1 -0
  114. package/dist/components/toast.d.ts +6 -0
  115. package/dist/components/toast.d.ts.map +1 -0
  116. package/dist/components/toast.js +14 -0
  117. package/dist/components/toast.js.map +1 -0
  118. package/dist/components/tooltip.d.ts +8 -0
  119. package/dist/components/tooltip.d.ts.map +1 -0
  120. package/dist/components/tooltip.js +12 -0
  121. package/dist/components/tooltip.js.map +1 -0
  122. package/dist/index.d.ts +32 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +40 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/utils/cn.d.ts +3 -0
  127. package/dist/utils/cn.d.ts.map +1 -0
  128. package/dist/utils/cn.js +6 -0
  129. package/dist/utils/cn.js.map +1 -0
  130. package/package.json +96 -0
  131. package/src/components/Sheet.tsx +117 -0
  132. package/src/components/alert-dialog.tsx +138 -0
  133. package/src/components/alert.tsx +58 -0
  134. package/src/components/avatar.tsx +48 -0
  135. package/src/components/badge.tsx +36 -0
  136. package/src/components/bottom-sheet.tsx +68 -0
  137. package/src/components/button.tsx +56 -0
  138. package/src/components/card.tsx +85 -0
  139. package/src/components/checkbox.tsx +30 -0
  140. package/src/components/combobox.tsx +246 -0
  141. package/src/components/dialog.tsx +122 -0
  142. package/src/components/dropdown-menu.tsx +198 -0
  143. package/src/components/error-page.tsx +368 -0
  144. package/src/components/glass-card.tsx +37 -0
  145. package/src/components/icon-badge.tsx +126 -0
  146. package/src/components/input.tsx +25 -0
  147. package/src/components/label.tsx +26 -0
  148. package/src/components/progress.tsx +28 -0
  149. package/src/components/radio-group.tsx +42 -0
  150. package/src/components/responsive-table.tsx +191 -0
  151. package/src/components/select.tsx +158 -0
  152. package/src/components/skeleton.tsx +15 -0
  153. package/src/components/slider.tsx +27 -0
  154. package/src/components/stat-card.tsx +69 -0
  155. package/src/components/switch.tsx +29 -0
  156. package/src/components/table.tsx +117 -0
  157. package/src/components/tabs.tsx +55 -0
  158. package/src/components/textarea.tsx +23 -0
  159. package/src/components/toast.tsx +26 -0
  160. package/src/components/tooltip.tsx +34 -0
  161. package/src/index.ts +136 -0
  162. package/src/styles/animations.css +55 -0
  163. package/src/styles/base.css +51 -0
  164. package/src/styles/tokens.css +37 -0
  165. package/src/utils/cn.ts +6 -0
  166. package/tsconfig.json +22 -0
@@ -0,0 +1,105 @@
1
+ import * as React from "react";
2
+ export interface ErrorPageProps {
3
+ /**
4
+ * Error code (e.g., "404", "500", "403")
5
+ */
6
+ code?: string;
7
+ /**
8
+ * Main error title
9
+ */
10
+ title?: string;
11
+ /**
12
+ * Error description/message
13
+ */
14
+ description?: string;
15
+ /**
16
+ * Show home button
17
+ */
18
+ showHomeButton?: boolean;
19
+ /**
20
+ * Show back button
21
+ */
22
+ showBackButton?: boolean;
23
+ /**
24
+ * Show search button
25
+ */
26
+ showSearchButton?: boolean;
27
+ /**
28
+ * Custom home button label
29
+ */
30
+ homeButtonLabel?: string;
31
+ /**
32
+ * Custom back button label
33
+ */
34
+ backButtonLabel?: string;
35
+ /**
36
+ * Custom search button label
37
+ */
38
+ searchButtonLabel?: string;
39
+ /**
40
+ * Home button action
41
+ */
42
+ onHomeClick?: () => void;
43
+ /**
44
+ * Back button action
45
+ */
46
+ onBackClick?: () => void;
47
+ /**
48
+ * Search button action
49
+ */
50
+ onSearchClick?: () => void;
51
+ /**
52
+ * Custom icon component
53
+ */
54
+ icon?: React.ComponentType<{
55
+ className?: string;
56
+ }>;
57
+ /**
58
+ * Additional CSS classes
59
+ */
60
+ className?: string;
61
+ /**
62
+ * Show as card or full page
63
+ */
64
+ variant?: "card" | "full";
65
+ }
66
+ /**
67
+ * ErrorPage - A beautiful, customizable error page component
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * <ErrorPage
72
+ * code="404"
73
+ * title="Page Not Found"
74
+ * description="The page you're looking for doesn't exist or has been moved."
75
+ * showHomeButton
76
+ * showBackButton
77
+ * />
78
+ * ```
79
+ */
80
+ export declare const ErrorPage: React.ForwardRefExoticComponent<ErrorPageProps & React.RefAttributes<HTMLDivElement>>;
81
+ /**
82
+ * Pre-configured 404 error page
83
+ */
84
+ export declare const NotFoundPage: React.ForwardRefExoticComponent<Omit<ErrorPageProps, "title" | "code"> & {
85
+ description?: string;
86
+ } & React.RefAttributes<HTMLDivElement>>;
87
+ /**
88
+ * Pre-configured 500 error page
89
+ */
90
+ export declare const ServerErrorPage: React.ForwardRefExoticComponent<Omit<ErrorPageProps, "title" | "code"> & {
91
+ description?: string;
92
+ } & React.RefAttributes<HTMLDivElement>>;
93
+ /**
94
+ * Pre-configured 403 error page
95
+ */
96
+ export declare const ForbiddenPage: React.ForwardRefExoticComponent<Omit<ErrorPageProps, "title" | "code"> & {
97
+ description?: string;
98
+ } & React.RefAttributes<HTMLDivElement>>;
99
+ /**
100
+ * Pre-configured 401 error page
101
+ */
102
+ export declare const UnauthorizedPage: React.ForwardRefExoticComponent<Omit<ErrorPageProps, "title" | "code"> & {
103
+ description?: string;
104
+ } & React.RefAttributes<HTMLDivElement>>;
105
+ //# sourceMappingURL=error-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-page.d.ts","sourceRoot":"","sources":["../../src/components/error-page.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,uFAyLrB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,YAAY;kBAEiC,MAAM;wCAc9D,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,eAAe;kBAE8B,MAAM;wCAc9D,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,aAAa;kBAEgC,MAAM;wCAc9D,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,gBAAgB;kBAE6B,MAAM;wCAa9D,CAAC"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ArrowLeft, Home, Search } from "lucide-react";
3
+ import * as React from "react";
4
+ import { cn } from "../utils/cn";
5
+ import { Button } from "./button";
6
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "./card";
7
+ /**
8
+ * ErrorPage - A beautiful, customizable error page component
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <ErrorPage
13
+ * code="404"
14
+ * title="Page Not Found"
15
+ * description="The page you're looking for doesn't exist or has been moved."
16
+ * showHomeButton
17
+ * showBackButton
18
+ * />
19
+ * ```
20
+ */
21
+ export const ErrorPage = React.forwardRef(({ code = "404", title = "Page Not Found", description = "The page you're looking for doesn't exist or has been moved.", showHomeButton = true, showBackButton = true, showSearchButton = false, homeButtonLabel = "Go Home", backButtonLabel = "Go Back", searchButtonLabel = "Search", onHomeClick, onBackClick, onSearchClick, icon: Icon, className, variant = "full", }, ref) => {
22
+ const handleBack = () => {
23
+ if (onBackClick) {
24
+ onBackClick();
25
+ }
26
+ else {
27
+ window.history.back();
28
+ }
29
+ };
30
+ const handleHome = () => {
31
+ if (onHomeClick) {
32
+ onHomeClick();
33
+ }
34
+ else {
35
+ window.location.href = "/";
36
+ }
37
+ };
38
+ const handleSearch = () => {
39
+ if (onSearchClick) {
40
+ onSearchClick();
41
+ }
42
+ };
43
+ const content = (_jsxs("div", { ref: ref, className: cn("flex flex-col items-center justify-center text-center", variant === "card"
44
+ ? "p-6"
45
+ : "min-h-screen px-4 py-16 sm:py-20 lg:py-24 sm:px-6 lg:px-8", className), children: [_jsxs("div", { className: "mb-8 sm:mb-12 relative", children: [_jsx("div", { className: cn("font-bold select-none", "text-[120px] sm:text-[180px] lg:text-[240px] xl:text-[280px]", "leading-none tracking-tight", "bg-gradient-to-br from-primary via-primary/80 to-primary/40", "bg-clip-text text-transparent", "drop-shadow-2xl"), style: {
46
+ animation: "fade-in 0.8s ease-out forwards",
47
+ }, children: code }), _jsx("div", { className: "absolute inset-0 -z-10 blur-3xl opacity-20", style: {
48
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)",
49
+ } })] }), Icon && (_jsx("div", { className: "mb-8 sm:mb-10", style: {
50
+ animation: "fade-in 0.8s ease-out 0.2s forwards",
51
+ opacity: 0,
52
+ }, children: _jsx(Icon, { className: "h-20 w-20 sm:h-24 sm:w-24 lg:h-28 lg:w-28 text-muted-foreground/60" }) })), _jsx("h1", { className: cn("font-bold text-foreground mb-6 sm:mb-8", "text-4xl sm:text-5xl lg:text-6xl xl:text-7xl", "leading-tight tracking-tight"), style: {
53
+ animation: "fade-in 0.8s ease-out 0.3s forwards",
54
+ opacity: 0,
55
+ }, children: title }), _jsx("p", { className: cn("text-muted-foreground max-w-lg sm:max-w-xl lg:max-w-2xl mb-10 sm:mb-12", "text-lg sm:text-xl lg:text-2xl", "leading-relaxed"), style: {
56
+ animation: "fade-in 0.8s ease-out 0.4s forwards",
57
+ opacity: 0,
58
+ }, children: description }), _jsxs("div", { className: cn("flex flex-col sm:flex-row gap-4 sm:gap-5"), style: {
59
+ animation: "fade-in 0.8s ease-out 0.5s forwards",
60
+ opacity: 0,
61
+ }, children: [showBackButton && (_jsxs(Button, { variant: "outline", size: "lg", onClick: handleBack, className: "min-w-[160px] sm:min-w-[180px] h-12 sm:h-14 text-base sm:text-lg", children: [_jsx(ArrowLeft, { className: "mr-2 h-5 w-5" }), backButtonLabel] })), showHomeButton && (_jsxs(Button, { variant: "default", size: "lg", onClick: handleHome, className: "min-w-[160px] sm:min-w-[180px] h-12 sm:h-14 text-base sm:text-lg", children: [_jsx(Home, { className: "mr-2 h-5 w-5" }), homeButtonLabel] })), showSearchButton && (_jsxs(Button, { variant: "secondary", size: "lg", onClick: handleSearch, className: "min-w-[160px] sm:min-w-[180px] h-12 sm:h-14 text-base sm:text-lg", children: [_jsx(Search, { className: "mr-2 h-5 w-5" }), searchButtonLabel] }))] })] }));
62
+ if (variant === "card") {
63
+ return (_jsxs(Card, { className: "max-w-2xl mx-auto", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { className: "text-center", children: title }), _jsx(CardDescription, { className: "text-center", children: description })] }), _jsx(CardContent, { children: content })] }));
64
+ }
65
+ return content;
66
+ });
67
+ ErrorPage.displayName = "ErrorPage";
68
+ /**
69
+ * Pre-configured 404 error page
70
+ */
71
+ export const NotFoundPage = React.forwardRef((props, ref) => {
72
+ return (_jsx(ErrorPage, { ref: ref, code: "404", title: "Page Not Found", description: props.description ||
73
+ "The page you're looking for doesn't exist or has been moved.", ...props }));
74
+ });
75
+ NotFoundPage.displayName = "NotFoundPage";
76
+ /**
77
+ * Pre-configured 500 error page
78
+ */
79
+ export const ServerErrorPage = React.forwardRef((props, ref) => {
80
+ return (_jsx(ErrorPage, { ref: ref, code: "500", title: "Server Error", description: props.description ||
81
+ "Something went wrong on our end. We're working to fix it.", ...props }));
82
+ });
83
+ ServerErrorPage.displayName = "ServerErrorPage";
84
+ /**
85
+ * Pre-configured 403 error page
86
+ */
87
+ export const ForbiddenPage = React.forwardRef((props, ref) => {
88
+ return (_jsx(ErrorPage, { ref: ref, code: "403", title: "Access Forbidden", description: props.description ||
89
+ "You don't have permission to access this resource.", ...props }));
90
+ });
91
+ ForbiddenPage.displayName = "ForbiddenPage";
92
+ /**
93
+ * Pre-configured 401 error page
94
+ */
95
+ export const UnauthorizedPage = React.forwardRef((props, ref) => {
96
+ return (_jsx(ErrorPage, { ref: ref, code: "401", title: "Unauthorized", description: props.description || "You need to be logged in to access this page.", ...props }));
97
+ });
98
+ UnauthorizedPage.displayName = "UnauthorizedPage";
99
+ //# sourceMappingURL=error-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-page.js","sourceRoot":"","sources":["../../src/components/error-page.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ export interface GlassCardProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ gradient?: "blue" | "purple" | "pink" | "none";
6
+ }
7
+ /**
8
+ * Apple-inspired glass morphism card
9
+ * Frosted glass effect with subtle gradients
10
+ */
11
+ export declare function GlassCard({ children, className, gradient, }: GlassCardProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=glass-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glass-card.d.ts","sourceRoot":"","sources":["../../src/components/glass-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAC/C;AASD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACzB,QAAQ,EACR,SAAc,EACd,QAAiB,GACjB,EAAE,cAAc,2CAahB"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const gradientClasses = {
3
+ blue: "from-blue-500/5 to-cyan-500/5",
4
+ purple: "from-purple-500/5 to-pink-500/5",
5
+ pink: "from-pink-500/5 to-rose-500/5",
6
+ none: "",
7
+ };
8
+ /**
9
+ * Apple-inspired glass morphism card
10
+ * Frosted glass effect with subtle gradients
11
+ */
12
+ export function GlassCard({ children, className = "", gradient = "none", }) {
13
+ return (_jsxs("div", { className: `relative overflow-hidden rounded-3xl border border-white/10 bg-white/5 p-8 shadow-2xl backdrop-blur-2xl dark:bg-black/20 ${className}`, children: [gradient !== "none" && (_jsx("div", { className: `absolute inset-0 bg-gradient-to-br ${gradientClasses[gradient]}` })), _jsx("div", { className: "relative z-10", children: children })] }));
14
+ }
15
+ //# sourceMappingURL=glass-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glass-card.js","sourceRoot":"","sources":["../../src/components/glass-card.tsx"],"names":[],"mappings":";AAQA,MAAM,eAAe,GAAG;IACvB,IAAI,EAAE,+BAA+B;IACrC,MAAM,EAAE,iCAAiC;IACzC,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,EAAE;CACR,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EACzB,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,MAAM,GACD;IAChB,OAAO,CACN,eACC,SAAS,EAAE,4HAA4H,SAAS,EAAE,aAEjJ,QAAQ,KAAK,MAAM,IAAI,CACvB,cACC,SAAS,EAAE,sCAAsC,eAAe,CAAC,QAAQ,CAAC,EAAE,GAC3E,CACF,EACD,cAAK,SAAS,EAAC,eAAe,YAAE,QAAQ,GAAO,IAC1C,CACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { LucideIcon } from "lucide-react";
2
+ export interface IconBadgeProps {
3
+ icon: LucideIcon;
4
+ value: string | number;
5
+ label?: string;
6
+ size?: "sm" | "md" | "lg";
7
+ variant?: "blue" | "yellow" | "green" | "red" | "purple";
8
+ onClick?: () => void;
9
+ }
10
+ /**
11
+ * Apple-inspired icon badge for displaying token balances and stats
12
+ * Subtle borders, clean rounded design
13
+ */
14
+ export declare function IconBadge({ icon: Icon, value, label, size, variant, onClick, }: IconBadgeProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=icon-badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-badge.d.ts","sourceRoot":"","sources":["../../src/components/icon-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACzD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AA6DD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACzB,IAAI,EAAE,IAAI,EACV,KAAK,EACL,KAAK,EACL,IAAW,EACX,OAAgB,EAChB,OAAO,GACP,EAAE,cAAc,2CA4ChB"}
@@ -0,0 +1,77 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const sizeClasses = {
3
+ sm: {
4
+ container: "gap-2 px-3 py-1.5",
5
+ icon: "h-4 w-4",
6
+ value: "text-sm",
7
+ label: "text-xs",
8
+ },
9
+ md: {
10
+ container: "gap-2.5 px-3.5 py-2",
11
+ icon: "h-4 w-4",
12
+ value: "text-sm",
13
+ label: "text-xs",
14
+ },
15
+ lg: {
16
+ container: "gap-3 px-4 py-2.5",
17
+ icon: "h-5 w-5",
18
+ value: "text-base",
19
+ label: "text-sm",
20
+ },
21
+ };
22
+ const variantClasses = {
23
+ blue: {
24
+ container: "border-blue-200/50 bg-blue-50/50 dark:border-blue-900/30 dark:bg-blue-950/20",
25
+ icon: "text-blue-600 dark:text-blue-400",
26
+ value: "text-blue-700 dark:text-blue-300",
27
+ label: "text-blue-600/70 dark:text-blue-400/70",
28
+ },
29
+ yellow: {
30
+ container: "border-yellow-200/50 bg-yellow-50/50 dark:border-yellow-900/30 dark:bg-yellow-950/20",
31
+ icon: "text-yellow-600 dark:text-yellow-400",
32
+ value: "text-yellow-700 dark:text-yellow-300",
33
+ label: "text-yellow-600/70 dark:text-yellow-400/70",
34
+ },
35
+ green: {
36
+ container: "border-green-200/50 bg-green-50/50 dark:border-green-900/30 dark:bg-green-950/20",
37
+ icon: "text-green-600 dark:text-green-400",
38
+ value: "text-green-700 dark:text-green-300",
39
+ label: "text-green-600/70 dark:text-green-400/70",
40
+ },
41
+ red: {
42
+ container: "border-red-200/50 bg-red-50/50 dark:border-red-900/30 dark:bg-red-950/20",
43
+ icon: "text-red-600 dark:text-red-400",
44
+ value: "text-red-700 dark:text-red-300",
45
+ label: "text-red-600/70 dark:text-red-400/70",
46
+ },
47
+ purple: {
48
+ container: "border-purple-200/50 bg-purple-50/50 dark:border-purple-900/30 dark:bg-purple-950/20",
49
+ icon: "text-purple-600 dark:text-purple-400",
50
+ value: "text-purple-700 dark:text-purple-300",
51
+ label: "text-purple-600/70 dark:text-purple-400/70",
52
+ },
53
+ };
54
+ /**
55
+ * Apple-inspired icon badge for displaying token balances and stats
56
+ * Subtle borders, clean rounded design
57
+ */
58
+ export function IconBadge({ icon: Icon, value, label, size = "md", variant = "blue", onClick, }) {
59
+ const sizeStyle = sizeClasses[size];
60
+ const variantStyle = variantClasses[variant];
61
+ const isClickable = !!onClick;
62
+ return (_jsxs("div", { className: `
63
+ flex items-center rounded-xl border transition-all duration-200
64
+ ${sizeStyle.container} ${variantStyle.container}
65
+ ${isClickable ? "cursor-pointer hover:shadow-md active:scale-95" : ""}
66
+ `, onClick: onClick, ...(isClickable && {
67
+ role: "button",
68
+ tabIndex: 0,
69
+ onKeyDown: (e) => {
70
+ if (e.key === "Enter" || e.key === " ") {
71
+ e.preventDefault();
72
+ onClick?.();
73
+ }
74
+ },
75
+ }), children: [_jsx(Icon, { className: `${sizeStyle.icon} ${variantStyle.icon}`, strokeWidth: 2 }), _jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: `font-semibold tabular-nums ${sizeStyle.value} ${variantStyle.value}`, children: value }), label && (_jsx("div", { className: `font-medium ${sizeStyle.label} ${variantStyle.label}`, children: label }))] })] }));
76
+ }
77
+ //# sourceMappingURL=icon-badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-badge.js","sourceRoot":"","sources":["../../src/components/icon-badge.tsx"],"names":[],"mappings":";AAWA,MAAM,WAAW,GAAG;IACnB,EAAE,EAAE;QACH,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KAChB;IACD,EAAE,EAAE;QACH,SAAS,EAAE,qBAAqB;QAChC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KAChB;IACD,EAAE,EAAE;QACH,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,SAAS;KAChB;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,SAAS,EACR,8EAA8E;QAC/E,IAAI,EAAE,kCAAkC;QACxC,KAAK,EAAE,kCAAkC;QACzC,KAAK,EAAE,wCAAwC;KAC/C;IACD,MAAM,EAAE;QACP,SAAS,EACR,sFAAsF;QACvF,IAAI,EAAE,sCAAsC;QAC5C,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,4CAA4C;KACnD;IACD,KAAK,EAAE;QACN,SAAS,EACR,kFAAkF;QACnF,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,oCAAoC;QAC3C,KAAK,EAAE,0CAA0C;KACjD;IACD,GAAG,EAAE;QACJ,SAAS,EACR,0EAA0E;QAC3E,IAAI,EAAE,gCAAgC;QACtC,KAAK,EAAE,gCAAgC;QACvC,KAAK,EAAE,sCAAsC;KAC7C;IACD,MAAM,EAAE;QACP,SAAS,EACR,sFAAsF;QACvF,IAAI,EAAE,sCAAsC;QAC5C,KAAK,EAAE,sCAAsC;QAC7C,KAAK,EAAE,4CAA4C;KACnD;CACD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EACzB,IAAI,EAAE,IAAI,EACV,KAAK,EACL,KAAK,EACL,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,MAAM,EAChB,OAAO,GACS;IAChB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;IAE9B,OAAO,CACN,eACC,SAAS,EAAE;;UAEJ,SAAS,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS;UAC7C,WAAW,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE;OACtE,EACJ,OAAO,EAAE,OAAO,KACZ,CAAC,WAAW,IAAI;YACnB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oBACxC,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO,EAAE,EAAE,CAAC;gBACb,CAAC;YACF,CAAC;SACD,CAAC,aAEF,KAAC,IAAI,IACJ,SAAS,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,EACnD,WAAW,EAAE,CAAC,GACb,EACF,eAAK,SAAS,EAAC,eAAe,aAC7B,cACC,SAAS,EAAE,8BAA8B,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,YAE/E,KAAK,GACD,EACL,KAAK,IAAI,CACT,cACC,SAAS,EAAE,eAAe,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,YAEhE,KAAK,GACD,CACN,IACI,IACD,CACN,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
+ }
4
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
5
+ export { Input };
6
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,UAChB,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;CAAG;AAEvD,QAAA,MAAM,KAAK,qFAcV,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../utils/cn";
4
+ const Input = React.forwardRef(({ className, type, ...props }, ref) => {
5
+ return (_jsx("input", { type: type, className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className), ref: ref, ...props }));
6
+ });
7
+ Input.displayName = "Input";
8
+ export { Input };
9
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAKjC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACtC,OAAO,CACN,gBACC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACZ,8VAA8V,EAC9V,SAAS,CACT,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACR,CACF,CAAC;AACH,CAAC,CACD,CAAC;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as LabelPrimitive from "@radix-ui/react-label";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import * as React from "react";
4
+ declare const Label: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: import("class-variance-authority/types").ClassProp | undefined) => string> & React.RefAttributes<HTMLLabelElement>>;
5
+ export { Label };
6
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,QAAA,MAAM,KAAK,4PAUT,CAAC;AAGH,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as LabelPrimitive from "@radix-ui/react-label";
4
+ import { cva } from "class-variance-authority";
5
+ import * as React from "react";
6
+ import { cn } from "../utils/cn";
7
+ const labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
8
+ const Label = React.forwardRef(({ className, ...props }, ref) => (_jsx(LabelPrimitive.Root, { ref: ref, className: cn(labelVariants(), className), ...props })));
9
+ Label.displayName = LabelPrimitive.Root.displayName;
10
+ export { Label };
11
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,aAAa,GAAG,GAAG,CACxB,4FAA4F,CAC5F,CAAC;AAEF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAI5B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACnC,KAAC,cAAc,CAAC,IAAI,IACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,KACrC,KAAK,GACR,CACF,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
2
+ import * as React from "react";
3
+ declare const Progress: React.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export { Progress };
5
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,QAAQ,2JAiBZ,CAAC;AAGH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as ProgressPrimitive from "@radix-ui/react-progress";
4
+ import * as React from "react";
5
+ import { cn } from "../utils/cn";
6
+ const Progress = React.forwardRef(({ className, value, ...props }, ref) => (_jsx(ProgressPrimitive.Root, { ref: ref, className: cn("relative h-4 w-full overflow-hidden rounded-full bg-secondary", className), ...props, children: _jsx(ProgressPrimitive.Indicator, { className: "h-full w-full flex-1 bg-primary transition-all", style: { transform: `translateX(-${100 - (value || 0)}%)` } }) })));
7
+ Progress.displayName = ProgressPrimitive.Root.displayName;
8
+ export { Progress };
9
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1C,KAAC,iBAAiB,CAAC,IAAI,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,+DAA+D,EAC/D,SAAS,CACT,KACG,KAAK,YAET,KAAC,iBAAiB,CAAC,SAAS,IAC3B,SAAS,EAAC,gDAAgD,EAC1D,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,GAC1D,GACsB,CACzB,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
2
+ import * as React from "react";
3
+ declare const RadioGroup: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const RadioGroupItem: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
5
+ export { RadioGroup, RadioGroupItem };
6
+ //# sourceMappingURL=radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../src/components/radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,UAAU,+JAWd,CAAC;AAGH,QAAA,MAAM,cAAc,yKAkBlB,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3
+ import { Circle } from "lucide-react";
4
+ import * as React from "react";
5
+ import { cn } from "../utils/cn";
6
+ const RadioGroup = React.forwardRef(({ className, ...props }, ref) => {
7
+ return (_jsx(RadioGroupPrimitive.Root, { className: cn("grid gap-2", className), ...props, ref: ref }));
8
+ });
9
+ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
10
+ const RadioGroupItem = React.forwardRef(({ className, ...props }, ref) => {
11
+ return (_jsx(RadioGroupPrimitive.Item, { ref: ref, className: cn("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className), ...props, children: _jsx(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: _jsx(Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) }) }));
12
+ });
13
+ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
14
+ export { RadioGroup, RadioGroupItem };
15
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../src/components/radio-group.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,mBAAmB,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAClC,OAAO,CACN,KAAC,mBAAmB,CAAC,IAAI,IACxB,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,KAClC,KAAK,EACT,GAAG,EAAE,GAAG,GACP,CACF,CAAC;AACH,CAAC,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE9D,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAClC,OAAO,CACN,KAAC,mBAAmB,CAAC,IAAI,IACxB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,0OAA0O,EAC1O,SAAS,CACT,KACG,KAAK,YAET,KAAC,mBAAmB,CAAC,SAAS,IAAC,SAAS,EAAC,kCAAkC,YAC1E,KAAC,MAAM,IAAC,SAAS,EAAC,uCAAuC,GAAG,GAC7B,GACN,CAC3B,CAAC;AACH,CAAC,CAAC,CAAC;AACH,cAAc,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import * as React from "react";
2
+ export interface ResponsiveTableColumn<T> {
3
+ key: string;
4
+ header: string;
5
+ render: (item: T) => React.ReactNode;
6
+ mobileLabel?: string;
7
+ hideOnMobile?: boolean;
8
+ }
9
+ export interface ResponsiveTableProps<T> {
10
+ data: T[];
11
+ columns: ResponsiveTableColumn<T>[];
12
+ keyExtractor: (item: T) => string;
13
+ onRowClick?: (item: T) => void;
14
+ className?: string;
15
+ emptyMessage?: string;
16
+ }
17
+ /**
18
+ * Responsive table component that shows as table on desktop and cards on mobile
19
+ */
20
+ export declare function ResponsiveTable<T>({ data, columns, keyExtractor, onRowClick, className, emptyMessage, }: ResponsiveTableProps<T>): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=responsive-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive-table.d.ts","sourceRoot":"","sources":["../../src/components/responsive-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAClC,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAkC,GAClC,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CA8JzB"}
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ChevronDown, ChevronUp } from "lucide-react";
3
+ import * as React from "react";
4
+ import { cn } from "../utils/cn";
5
+ import { Button } from "./button";
6
+ /**
7
+ * Responsive table component that shows as table on desktop and cards on mobile
8
+ */
9
+ export function ResponsiveTable({ data, columns, keyExtractor, onRowClick, className, emptyMessage = "No data available", }) {
10
+ const [expandedRows, setExpandedRows] = React.useState(new Set());
11
+ const toggleRow = (key) => {
12
+ setExpandedRows((prev) => {
13
+ const next = new Set(prev);
14
+ if (next.has(key)) {
15
+ next.delete(key);
16
+ }
17
+ else {
18
+ next.add(key);
19
+ }
20
+ return next;
21
+ });
22
+ };
23
+ const visibleColumns = columns.filter((col) => !col.hideOnMobile);
24
+ if (data.length === 0) {
25
+ return (_jsx("div", { className: "text-center py-12 text-muted-foreground", children: emptyMessage }));
26
+ }
27
+ return (_jsxs("div", { className: cn("w-full", className), children: [_jsx("div", { className: "hidden md:block rounded-md border overflow-hidden", children: _jsxs("table", { className: "w-full", children: [_jsx("thead", { className: "bg-muted/50", children: _jsx("tr", { children: columns.map((column) => (_jsx("th", { className: "px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider", children: column.header }, column.key))) }) }), _jsx("tbody", { className: "divide-y divide-border", children: data.map((item) => {
28
+ const key = keyExtractor(item);
29
+ return (_jsx("tr", { onClick: () => onRowClick?.(item), className: cn("hover:bg-muted/50 transition-colors", onRowClick && "cursor-pointer"), children: columns.map((column) => (_jsx("td", { className: "px-4 py-3 text-sm", children: column.render(item) }, column.key))) }, key));
30
+ }) })] }) }), _jsx("div", { className: "md:hidden space-y-3", children: data.map((item) => {
31
+ const key = keyExtractor(item);
32
+ const isExpanded = expandedRows.has(key);
33
+ const primaryColumns = visibleColumns.slice(0, 2);
34
+ const secondaryColumns = visibleColumns.slice(2);
35
+ return (_jsxs("div", { className: cn("border rounded-lg overflow-hidden transition-all", onRowClick && "cursor-pointer"), onClick: () => {
36
+ if (secondaryColumns.length > 0) {
37
+ toggleRow(key);
38
+ }
39
+ else {
40
+ onRowClick?.(item);
41
+ }
42
+ }, children: [_jsx("div", { className: "p-4 space-y-2", children: primaryColumns.map((column) => (_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("span", { className: "text-xs font-medium text-muted-foreground min-w-[80px]", children: [column.mobileLabel || column.header, ":"] }), _jsx("div", { className: "flex-1 text-right text-sm", children: column.render(item) })] }, column.key))) }), secondaryColumns.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", size: "sm", className: "w-full h-10 rounded-none border-t", onClick: (e) => {
43
+ e.stopPropagation();
44
+ toggleRow(key);
45
+ }, children: isExpanded ? (_jsxs(_Fragment, { children: [_jsx(ChevronUp, { className: "h-4 w-4 mr-2" }), "Hide Details"] })) : (_jsxs(_Fragment, { children: [_jsx(ChevronDown, { className: "h-4 w-4 mr-2" }), "Show Details"] })) }), isExpanded && (_jsx("div", { className: "p-4 pt-0 space-y-2 border-t bg-muted/30", children: secondaryColumns.map((column) => (_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("span", { className: "text-xs font-medium text-muted-foreground min-w-[80px]", children: [column.mobileLabel || column.header, ":"] }), _jsx("div", { className: "flex-1 text-right text-sm", children: column.render(item) })] }, column.key))) }))] }))] }, key));
46
+ }) })] }));
47
+ }
48
+ //# sourceMappingURL=responsive-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive-table.js","sourceRoot":"","sources":["../../src/components/responsive-table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as SelectPrimitive from "@radix-ui/react-select";
2
+ import * as React from "react";
3
+ declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
14
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../src/components/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,WAAW,yGAAwB,CAAC;AAE1C,QAAA,MAAM,WAAW,0GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,oKAiBjB,CAAC;AAGH,QAAA,MAAM,oBAAoB,qKAcxB,CAAC;AAGH,QAAA,MAAM,sBAAsB,uKAc1B,CAAC;AAIH,QAAA,MAAM,aAAa,8JA6BjB,CAAC;AAGH,QAAA,MAAM,WAAW,4JASf,CAAC;AAGH,QAAA,MAAM,UAAU,2JAoBd,CAAC;AAGH,QAAA,MAAM,eAAe,gKASnB,CAAC;AAGH,OAAO,EACN,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACtB,CAAC"}