diff --git a/docs/src/components/desktop/apps/DeveloperApp/previews.tsx b/docs/src/components/desktop/apps/DeveloperApp/previews.tsx index f8d11b0..7091095 100644 --- a/docs/src/components/desktop/apps/DeveloperApp/previews.tsx +++ b/docs/src/components/desktop/apps/DeveloperApp/previews.tsx @@ -2009,7 +2009,7 @@ function ImageClickToEnlargeExample() { } // Glass Example Components - These show glassmorphism styling concepts -// Note: Glass styling is achieved via className, not a glass prop +// Note: Buttons use the glass prop; other previews reuse shared glass utility classes. const glassStyles = "bg-white/10 dark:bg-white/5 backdrop-blur-xl border border-white/20 dark:border-white/10"; function CardGlassExample() { @@ -2037,9 +2037,9 @@ function BadgeGlassExample() { function ButtonGlassExample() { return (
- - - + + +
); } diff --git a/src/components/button.tsx b/src/components/button.tsx index 1f38dd0..3272875 100644 --- a/src/components/button.tsx +++ b/src/components/button.tsx @@ -80,6 +80,20 @@ const variantClasses: Record = { accent: "bg-violet-500 text-white hover:bg-violet-600", }; +const glassHoverClasses: Record = { + default: "hover:bg-white/80 dark:hover:bg-zinc-900/80 hover:backdrop-blur-md", + primary: "hover:bg-blue-600/90 hover:backdrop-blur-md", + secondary: "hover:bg-white/80 dark:hover:bg-zinc-900/80 hover:backdrop-blur-md", + success: "hover:bg-emerald-600/90 hover:backdrop-blur-md", + warning: "hover:bg-amber-600/90 hover:backdrop-blur-md", + info: "hover:bg-sky-600/90 hover:backdrop-blur-md", + destructive: "hover:bg-red-600/90 hover:backdrop-blur-md", + outline: "hover:bg-white/80 dark:hover:bg-zinc-900/80 hover:backdrop-blur-md", + ghost: "hover:bg-white/80 dark:hover:bg-zinc-900/80 hover:backdrop-blur-md", + link: "hover:backdrop-blur-md", + accent: "hover:bg-violet-600/90 hover:backdrop-blur-md", +}; + const sizeClasses: Record = { default: "h-9 px-4 py-2", sm: "h-8 rounded-lg px-3 text-xs", @@ -149,7 +163,7 @@ const ButtonBase = React.forwardRef( variantClasses[variant], sizeClasses[effectiveSize], fullWidth && "w-full", - glass && "hover:bg-white/80 dark:hover:bg-zinc-900/80 hover:backdrop-blur-md", + glass && glassHoverClasses[variant], className, )} // biome-ignore lint/suspicious/noExplicitAny: Framer Motion onDrag conflicts with HTML onDrag