@moontra/moonui-pro 2.19.0 → 2.20.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/dist/index.d.ts +3251 -0
- package/dist/index.mjs +2410 -1545
- package/package.json +137 -136
- package/src/__tests__/use-local-storage.test.tsx +2 -2
- package/src/components/advanced-chart/index.tsx +6 -6
- package/src/components/calendar/event-dialog.tsx +1 -1
- package/src/components/calendar/index.tsx +1 -1
- package/src/components/calendar-pro/index.tsx +2 -4
- package/src/components/dashboard/demo.tsx +2 -2
- package/src/components/dashboard/widgets/activity-feed.tsx +1 -1
- package/src/components/dashboard/widgets/metric-card.tsx +1 -1
- package/src/components/enhanced/button.tsx +13 -13
- package/src/components/file-upload/file-upload.test.tsx +20 -19
- package/src/components/form-wizard/form-wizard-progress.tsx +7 -7
- package/src/components/gesture-drawer/index.tsx +551 -0
- package/src/components/github-stars/hooks.ts +1 -1
- package/src/components/github-stars/index.tsx +1 -1
- package/src/components/github-stars/types.ts +1 -0
- package/src/components/health-check/index.tsx +2 -2
- package/src/components/hover-card-3d/index.tsx +437 -74
- package/src/components/index.ts +10 -1
- package/src/components/lazy-component/index.tsx +4 -2
- package/src/components/license-error/index.tsx +29 -0
- package/src/components/memory-efficient-data/index.tsx +1 -1
- package/src/components/pinch-zoom/index.tsx +438 -42
- package/src/components/rich-text-editor/index.tsx +12 -12
- package/src/components/timeline/index.tsx +2 -2
- package/src/components/ui/aspect-ratio.tsx +186 -22
- package/src/components/ui/button.tsx +47 -50
- package/src/components/ui/card.tsx +98 -30
- package/src/components/ui/gesture-drawer.tsx +11 -0
- package/src/components/ui/index.ts +17 -5
- package/src/components/ui/lightbox.tsx +606 -0
- package/src/components/ui/media-gallery.tsx +612 -0
- package/src/components/ui/select.tsx +134 -35
- package/src/components/ui/toggle.tsx +78 -15
- package/src/components/virtual-list/index.tsx +7 -7
- package/src/index.ts +4 -4
- package/src/lib/component-metadata.ts +18 -0
- package/src/lib/paddle.ts +17 -0
- package/src/patterns/login-form/index.tsx +1 -1
- package/src/patterns/login-form/types.ts +6 -6
- package/src/styles/index.css +14 -4
- package/src/types/next-auth.d.ts +21 -0
- package/src/use-local-storage.tsx +3 -3
- package/src/use-scroll-animation.ts +3 -5
- package/src/components/ui/hover-card-3d.tsx +0 -472
package/package.json
CHANGED
|
@@ -1,139 +1,140 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
2
|
+
"name": "@moontra/moonui-pro",
|
|
3
|
+
"version": "2.20.1",
|
|
4
|
+
"description": "Premium React components for MoonUI - Advanced UI library with 50+ pro components including performance, interactive, and gesture components",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.mjs",
|
|
7
|
+
"module": "dist/index.mjs",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"src",
|
|
12
|
+
"scripts",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"**/*.css",
|
|
18
|
+
"dist/**/*.css",
|
|
19
|
+
"src/**/*.css"
|
|
20
|
+
],
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/index.d.ts",
|
|
24
|
+
"require": "./dist/index.js",
|
|
25
|
+
"style": "./dist/index.css",
|
|
26
|
+
"import": "./dist/index.mjs"
|
|
27
|
+
},
|
|
28
|
+
"./styles.css": "./dist/index.css",
|
|
29
|
+
"./css": "./dist/index.css"
|
|
27
30
|
},
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
"
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"registry": "https://registry.npmjs.org/"
|
|
138
|
-
}
|
|
31
|
+
"scripts": {
|
|
32
|
+
"postinstall": "node scripts/postinstall.js",
|
|
33
|
+
"build": "tsup",
|
|
34
|
+
"build:dts": "tsup --dts",
|
|
35
|
+
"dev": "tsup --watch --sourcemap",
|
|
36
|
+
"clean": "rm -rf dist",
|
|
37
|
+
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
38
|
+
"test": "jest",
|
|
39
|
+
"test:watch": "jest --watch",
|
|
40
|
+
"test:coverage": "jest --coverage",
|
|
41
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
42
|
+
"pub": "npm version patch && npm run build && npm publish",
|
|
43
|
+
"pub:minor": "npm version minor && npm run build && npm publish",
|
|
44
|
+
"pub:major": "npm version major && npm run build && npm publish"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"ui",
|
|
48
|
+
"components",
|
|
49
|
+
"react",
|
|
50
|
+
"typescript",
|
|
51
|
+
"moonui",
|
|
52
|
+
"premium",
|
|
53
|
+
"pro",
|
|
54
|
+
"virtual-list",
|
|
55
|
+
"performance",
|
|
56
|
+
"memory-efficient",
|
|
57
|
+
"animations",
|
|
58
|
+
"gestures",
|
|
59
|
+
"touch",
|
|
60
|
+
"interactive",
|
|
61
|
+
"3d-effects",
|
|
62
|
+
"charts",
|
|
63
|
+
"data-table",
|
|
64
|
+
"advanced-components"
|
|
65
|
+
],
|
|
66
|
+
"author": "MoonUI Team",
|
|
67
|
+
"license": "Commercial",
|
|
68
|
+
"repository": {
|
|
69
|
+
"type": "git",
|
|
70
|
+
"url": "git+https://github.com/moontra/moonui-pro.git"
|
|
71
|
+
},
|
|
72
|
+
"homepage": "https://moonui.dev",
|
|
73
|
+
"peerDependencies": {
|
|
74
|
+
"react": ">=18.0.0 || ^19.0.0",
|
|
75
|
+
"react-dom": ">=18.0.0 || ^19.0.0"
|
|
76
|
+
},
|
|
77
|
+
"dependencies": {
|
|
78
|
+
"@moontra/moonui": "^2.1.9",
|
|
79
|
+
"@radix-ui/react-accordion": "^1.2.11",
|
|
80
|
+
"@radix-ui/react-avatar": "^1.1.10",
|
|
81
|
+
"@radix-ui/react-checkbox": "^1.3.2",
|
|
82
|
+
"@radix-ui/react-dialog": "^1.1.14",
|
|
83
|
+
"@radix-ui/react-dropdown-menu": "^2.1.15",
|
|
84
|
+
"@radix-ui/react-label": "^2.1.7",
|
|
85
|
+
"@radix-ui/react-popover": "^1.1.14",
|
|
86
|
+
"@radix-ui/react-scroll-area": "^1.2.9",
|
|
87
|
+
"@radix-ui/react-select": "^2.2.5",
|
|
88
|
+
"@radix-ui/react-separator": "^1.1.7",
|
|
89
|
+
"@radix-ui/react-slot": "^1.2.3",
|
|
90
|
+
"@radix-ui/react-switch": "^1.2.5",
|
|
91
|
+
"@radix-ui/react-tabs": "^1.1.12",
|
|
92
|
+
"@radix-ui/react-toast": "^1.2.14",
|
|
93
|
+
"@radix-ui/react-tooltip": "^1.2.7",
|
|
94
|
+
"@tanstack/react-table": "^8.20.5",
|
|
95
|
+
"canvas-confetti": "^1.9.3",
|
|
96
|
+
"class-variance-authority": "^0.7.0",
|
|
97
|
+
"clsx": "^2.1.1",
|
|
98
|
+
"date-fns": "^3.6.0",
|
|
99
|
+
"framer-motion": "^11.11.17",
|
|
100
|
+
"lucide-react": "^0.525.0",
|
|
101
|
+
"react-beautiful-dnd": "^13.1.1",
|
|
102
|
+
"react-colorful": "^5.6.1",
|
|
103
|
+
"react-day-picker": "^9.8.0",
|
|
104
|
+
"react-dropzone": "^14.3.5",
|
|
105
|
+
"react-grid-layout": "^1.5.2",
|
|
106
|
+
"react-hook-form": "^7.53.2",
|
|
107
|
+
"react-intersection-observer": "^9.13.1",
|
|
108
|
+
"react-virtualized-auto-sizer": "^1.0.24",
|
|
109
|
+
"react-window": "^1.8.8",
|
|
110
|
+
"recharts": "^2.12.7",
|
|
111
|
+
"tailwind-merge": "^2.5.4",
|
|
112
|
+
"tailwindcss-animate": "^1.0.7"
|
|
113
|
+
},
|
|
114
|
+
"devDependencies": {
|
|
115
|
+
"@testing-library/jest-dom": "^6.6.3",
|
|
116
|
+
"@testing-library/react": "^16.3.0",
|
|
117
|
+
"@testing-library/user-event": "^14.6.1",
|
|
118
|
+
"@types/canvas-confetti": "^1.9.0",
|
|
119
|
+
"@types/jest": "^30.0.0",
|
|
120
|
+
"@types/node": "^18.16.0",
|
|
121
|
+
"@types/react": "^19.0.0",
|
|
122
|
+
"@types/react-beautiful-dnd": "^13.1.8",
|
|
123
|
+
"@types/react-dom": "^19.0.0",
|
|
124
|
+
"@types/react-grid-layout": "^1.3.5",
|
|
125
|
+
"@types/react-window": "^1.8.8",
|
|
126
|
+
"autoprefixer": "^10.4.21",
|
|
127
|
+
"eslint": "^8.39.0",
|
|
128
|
+
"jest": "^29.5.0",
|
|
129
|
+
"jest-environment-jsdom": "^29.5.0",
|
|
130
|
+
"postcss": "^8.5.6",
|
|
131
|
+
"tailwindcss": "^3.4.17",
|
|
132
|
+
"ts-jest": "^29.1.0",
|
|
133
|
+
"tsup": "^6.7.0",
|
|
134
|
+
"typescript": "^5.0.4"
|
|
135
|
+
},
|
|
136
|
+
"publishConfig": {
|
|
137
|
+
"access": "public",
|
|
138
|
+
"registry": "https://registry.npmjs.org/"
|
|
139
|
+
}
|
|
139
140
|
}
|
|
@@ -63,7 +63,7 @@ describe('useLocalStorage', () => {
|
|
|
63
63
|
const { result } = renderHook(() => useLocalStorage('test-key', 10))
|
|
64
64
|
|
|
65
65
|
act(() => {
|
|
66
|
-
result.current[1]((prev) => prev + 5)
|
|
66
|
+
result.current[1]((prev) => (prev ?? 0) + 5)
|
|
67
67
|
})
|
|
68
68
|
|
|
69
69
|
expect(result.current[0]).toBe(15)
|
|
@@ -143,7 +143,7 @@ describe('useLocalStorage', () => {
|
|
|
143
143
|
})
|
|
144
144
|
|
|
145
145
|
it('handles null values correctly', () => {
|
|
146
|
-
const { result } = renderHook(() => useLocalStorage('null-key', null))
|
|
146
|
+
const { result } = renderHook(() => useLocalStorage<string | null>('null-key', null))
|
|
147
147
|
|
|
148
148
|
act(() => {
|
|
149
149
|
result.current[1]('not-null')
|
|
@@ -84,11 +84,11 @@ import {
|
|
|
84
84
|
|
|
85
85
|
export type ChartType = 'line' | 'bar' | 'area' | 'pie' | 'scatter' | 'composed' | 'radar' | 'radialBar' | 'treemap' | 'funnel'
|
|
86
86
|
|
|
87
|
-
interface ChartDataPoint {
|
|
87
|
+
export interface ChartDataPoint {
|
|
88
88
|
[key: string]: string | number | null
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
interface ChartSeries {
|
|
91
|
+
export interface ChartSeries {
|
|
92
92
|
dataKey: string
|
|
93
93
|
name: string
|
|
94
94
|
color: string
|
|
@@ -190,7 +190,7 @@ const CustomTooltip: React.FC<any> = ({ active, payload, label }) => {
|
|
|
190
190
|
initial={{ opacity: 0, scale: 0.9 }}
|
|
191
191
|
animate={{ opacity: 1, scale: 1 }}
|
|
192
192
|
exit={{ opacity: 0, scale: 0.9 }}
|
|
193
|
-
className="backdrop-blur-xl bg-background/80
|
|
193
|
+
className="backdrop-blur-xl bg-background/80 p-3 rounded-xl shadow-2xl border border-border/50"
|
|
194
194
|
>
|
|
195
195
|
<p className="text-sm font-medium mb-2">{label}</p>
|
|
196
196
|
{payload.map((entry: any, index: number) => (
|
|
@@ -219,7 +219,7 @@ const CustomLegend: React.FC<any> = ({ payload, onItemClick }) => {
|
|
|
219
219
|
onClick={() => onItemClick && onItemClick(entry)}
|
|
220
220
|
className={cn(
|
|
221
221
|
"flex items-center gap-2 px-3 py-1.5 rounded-lg transition-all",
|
|
222
|
-
"hover:bg-accent/10
|
|
222
|
+
"hover:bg-accent/10",
|
|
223
223
|
entry.inactive && "opacity-50"
|
|
224
224
|
)}
|
|
225
225
|
>
|
|
@@ -971,13 +971,13 @@ export function AdvancedChart({
|
|
|
971
971
|
<TrendingDown className="h-4 w-4 text-red-500 dark:text-red-400" />
|
|
972
972
|
)}
|
|
973
973
|
{trend.direction === 'neutral' && (
|
|
974
|
-
<Minus className="h-4 w-4 text-
|
|
974
|
+
<Minus className="h-4 w-4 text-muted-foreground" />
|
|
975
975
|
)}
|
|
976
976
|
<span className={cn(
|
|
977
977
|
"ml-1 text-sm font-semibold",
|
|
978
978
|
trend.direction === 'up' && "text-green-500 dark:text-green-400",
|
|
979
979
|
trend.direction === 'down' && "text-red-500 dark:text-red-400",
|
|
980
|
-
trend.direction === 'neutral' && "text-
|
|
980
|
+
trend.direction === 'neutral' && "text-muted-foreground"
|
|
981
981
|
)}>
|
|
982
982
|
{trend.percentage}%
|
|
983
983
|
</span>
|
|
@@ -57,7 +57,7 @@ export function EventDialog({
|
|
|
57
57
|
startTime: string
|
|
58
58
|
endTime: string
|
|
59
59
|
location: string
|
|
60
|
-
type: 'meeting' | 'task' | 'reminder' | 'event'
|
|
60
|
+
type: 'meeting' | 'task' | 'reminder' | 'event' | 'birthday' | 'holiday' | 'conference'
|
|
61
61
|
color: string
|
|
62
62
|
attendees: string
|
|
63
63
|
}>({
|
|
@@ -1084,7 +1084,7 @@ END:VCALENDAR`
|
|
|
1084
1084
|
<div className="space-y-1">
|
|
1085
1085
|
{dayEvents.slice(0, 3).map(event => {
|
|
1086
1086
|
return (
|
|
1087
|
-
<
|
|
1087
|
+
<div
|
|
1088
1088
|
key={event.id}
|
|
1089
1089
|
draggable={allowEventDragging}
|
|
1090
1090
|
onDragStart={(e) => handleDragStart(e, event)}
|
|
@@ -1096,8 +1096,6 @@ END:VCALENDAR`
|
|
|
1096
1096
|
opacity: draggedEventId === event.id ? 0.5 : 1,
|
|
1097
1097
|
cursor: allowEventDragging ? 'move' : 'pointer'
|
|
1098
1098
|
}}
|
|
1099
|
-
whileHover={{ scale: 1.02 }}
|
|
1100
|
-
whileTap={{ scale: 0.98 }}
|
|
1101
1099
|
onClick={(e) => {
|
|
1102
1100
|
e.stopPropagation()
|
|
1103
1101
|
handleEventClick(event, e)
|
|
@@ -1110,7 +1108,7 @@ END:VCALENDAR`
|
|
|
1110
1108
|
{format(new Date(event.start), 'HH:mm')} {event.title}
|
|
1111
1109
|
</>
|
|
1112
1110
|
)}
|
|
1113
|
-
</
|
|
1111
|
+
</div>
|
|
1114
1112
|
)
|
|
1115
1113
|
})}
|
|
1116
1114
|
{dayEvents.length > 3 && (
|
|
@@ -282,7 +282,7 @@ const customUserMenuItems = [
|
|
|
282
282
|
icon: <CreditCard className="h-4 w-4" />,
|
|
283
283
|
onClick: () => console.log('Billing clicked')
|
|
284
284
|
},
|
|
285
|
-
{ id: 'sep1', separator: true },
|
|
285
|
+
{ id: 'sep1', label: '', separator: true },
|
|
286
286
|
{
|
|
287
287
|
id: 'settings',
|
|
288
288
|
label: 'Settings',
|
|
@@ -295,7 +295,7 @@ const customUserMenuItems = [
|
|
|
295
295
|
icon: <HelpCircle className="h-4 w-4" />,
|
|
296
296
|
onClick: () => console.log('Help clicked')
|
|
297
297
|
},
|
|
298
|
-
{ id: 'sep2', separator: true },
|
|
298
|
+
{ id: 'sep2', label: '', separator: true },
|
|
299
299
|
{
|
|
300
300
|
id: 'logout',
|
|
301
301
|
label: 'Sign Out',
|
|
@@ -190,7 +190,7 @@ export function ActivityFeed({
|
|
|
190
190
|
animate={{ scale: 1 }}
|
|
191
191
|
className="inline-block mt-1"
|
|
192
192
|
>
|
|
193
|
-
<Badge variant="
|
|
193
|
+
<Badge variant="secondary" className="text-xs">New</Badge>
|
|
194
194
|
</motion.div>
|
|
195
195
|
)}
|
|
196
196
|
</div>
|
|
@@ -7,23 +7,23 @@ import { cn } from "../../lib/utils"
|
|
|
7
7
|
import { cva, type VariantProps } from "class-variance-authority"
|
|
8
8
|
|
|
9
9
|
const enhancedButtonVariants = cva(
|
|
10
|
-
"relative inline-flex items-center justify-center whitespace-nowrap
|
|
10
|
+
"relative inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 overflow-hidden transform active:scale-[0.98] rounded-lg",
|
|
11
11
|
{
|
|
12
12
|
variants: {
|
|
13
13
|
variant: {
|
|
14
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
15
|
-
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
16
|
-
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
17
|
-
secondary: "bg-
|
|
18
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
19
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
20
|
-
gradient: "bg-gradient-to-r from-purple-600 to-pink-600 text-white hover:from-purple-700 hover:to-pink-700",
|
|
14
|
+
default: "bg-primary text-primary-foreground dark:bg-primary dark:text-primary-foreground hover:bg-primary/90 dark:hover:bg-primary/90 shadow-sm hover:shadow-md",
|
|
15
|
+
destructive: "bg-destructive text-destructive-foreground dark:bg-destructive dark:text-destructive-foreground hover:bg-destructive/90 dark:hover:bg-destructive/90 shadow-sm hover:shadow-md",
|
|
16
|
+
outline: "border border-input dark:border-input bg-background dark:bg-background text-foreground dark:text-foreground hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground transition-all duration-200",
|
|
17
|
+
secondary: "bg-muted text-muted-foreground dark:bg-muted dark:text-muted-foreground hover:bg-muted/80 dark:hover:bg-muted/80 border border-input dark:border-input shadow-sm hover:shadow-md",
|
|
18
|
+
ghost: "text-foreground dark:text-foreground hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent dark:hover:text-accent-foreground transition-all duration-200",
|
|
19
|
+
link: "text-primary underline-offset-4 hover:underline hover:text-primary/80",
|
|
20
|
+
gradient: "bg-gradient-to-r from-purple-600 to-pink-600 text-white hover:from-purple-700 hover:to-pink-700 shadow-md hover:shadow-lg",
|
|
21
21
|
glow: "bg-primary text-primary-foreground shadow-lg shadow-primary/50 hover:shadow-xl hover:shadow-primary/60",
|
|
22
22
|
},
|
|
23
23
|
size: {
|
|
24
24
|
default: "h-10 px-4 py-2",
|
|
25
|
-
sm: "h-9
|
|
26
|
-
lg: "h-11
|
|
25
|
+
sm: "h-9 px-3",
|
|
26
|
+
lg: "h-11 px-8",
|
|
27
27
|
icon: "h-10 w-10",
|
|
28
28
|
},
|
|
29
29
|
animation: {
|
|
@@ -198,9 +198,9 @@ export const ButtonPro = React.forwardRef<HTMLButtonElement, ButtonProProps>(
|
|
|
198
198
|
const getBackgroundColor = () => {
|
|
199
199
|
switch (currentState) {
|
|
200
200
|
case "success":
|
|
201
|
-
return "bg-
|
|
201
|
+
return "bg-success"
|
|
202
202
|
case "error":
|
|
203
|
-
return "bg-
|
|
203
|
+
return "bg-destructive"
|
|
204
204
|
default:
|
|
205
205
|
return ""
|
|
206
206
|
}
|
|
@@ -359,4 +359,4 @@ export const ButtonPro = React.forwardRef<HTMLButtonElement, ButtonProProps>(
|
|
|
359
359
|
|
|
360
360
|
ButtonPro.displayName = "ButtonPro"
|
|
361
361
|
|
|
362
|
-
export { enhancedButtonVariants }
|
|
362
|
+
export { ButtonPro as Button, enhancedButtonVariants }
|