diff options
Diffstat (limited to 'apps/web/components/ui/kbd.tsx')
| -rw-r--r-- | apps/web/components/ui/kbd.tsx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/apps/web/components/ui/kbd.tsx b/apps/web/components/ui/kbd.tsx new file mode 100644 index 00000000..5bc48405 --- /dev/null +++ b/apps/web/components/ui/kbd.tsx @@ -0,0 +1,28 @@ +import { cn } from "@/lib/utils"; + +function Kbd({ className, ...props }: React.ComponentProps<"kbd">) { + return ( + <kbd + data-slot="kbd" + className={cn( + "pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground", + "[&_svg:not([class*='size-'])]:size-3", + "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10", + className, + )} + {...props} + /> + ); +} + +function KbdGroup({ className, ...props }: React.ComponentProps<"div">) { + return ( + <kbd + data-slot="kbd-group" + className={cn("inline-flex items-center gap-1", className)} + {...props} + /> + ); +} + +export { Kbd, KbdGroup }; |
