From 0ee833f5a2d5ae34152624033df92b06a99c4a39 Mon Sep 17 00:00:00 2001 From: molvqingtai Date: Sat, 14 Oct 2023 13:21:05 +0800 Subject: [PATCH] chore: file name case --- src/components/ui/Button.tsx | 48 ++++++++++++++++++++++++++++++++++ src/components/ui/Textarea.tsx | 21 +++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 src/components/ui/Button.tsx create mode 100644 src/components/ui/Textarea.tsx diff --git a/src/components/ui/Button.tsx b/src/components/ui/Button.tsx new file mode 100644 index 0000000..ed553f9 --- /dev/null +++ b/src/components/ui/Button.tsx @@ -0,0 +1,48 @@ +import * as React from 'react' +import { Slot } from '@radix-ui/react-slot' +import { cva, type VariantProps } from 'class-variance-authority' + +import { cn } from '@/utils/index' + +const buttonVariants = cva( + 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50', + { + variants: { + variant: { + default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90', + destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90', + outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground', + secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80', + ghost: 'hover:bg-accent hover:text-accent-foreground', + link: 'text-primary underline-offset-4 hover:underline' + }, + size: { + default: 'h-9 px-4 py-2', + sm: 'h-8 rounded-md px-3 text-xs', + xs: 'h-6 rounded-md px-2 text-xs', + lg: 'h-10 rounded-md px-8', + icon: 'h-9 w-9' + } + }, + defaultVariants: { + variant: 'default', + size: 'default' + } + } +) + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : 'button' + return + } +) +Button.displayName = 'Button' + +export { Button, buttonVariants } diff --git a/src/components/ui/Textarea.tsx b/src/components/ui/Textarea.tsx new file mode 100644 index 0000000..151c7d2 --- /dev/null +++ b/src/components/ui/Textarea.tsx @@ -0,0 +1,21 @@ +import * as React from 'react' + +import { cn } from '@/utils/index' + +export interface TextareaProps extends React.TextareaHTMLAttributes {} + +const Textarea = React.forwardRef(({ className, ...props }, ref) => { + return ( +