@gmook9/pristine-ui 0.2.0 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/button.tsx","../src/utils/cn.ts","../src/components/card.tsx","../src/components/input.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../utils/cn\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center rounded-xl font-medium transition \" +\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 \" +\n \"disabled:pointer-events-none disabled:opacity-50 ring-offset-background\",\n {\n variants: {\n variant: {\n default: \"bg-slate-900 text-white hover:bg-slate-800\",\n primary: \"bg-blue-600 text-white hover:bg-blue-500\",\n subtle: \"bg-white/10 text-white hover:bg-white/15\",\n ghost: \"bg-transparent hover:bg-white/10\",\n danger: \"bg-rose-600 text-white hover:bg-rose-500\",\n },\n size: {\n sm: \"h-9 px-3 text-sm\",\n md: \"h-10 px-4 text-sm\",\n lg: \"h-11 px-5 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, ...props }, ref) => {\n return (\n <button\n ref={ref}\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface CardProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function Card({ className, ...props }: CardProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"rounded-2xl border border-white/10 bg-white/5 shadow-sm backdrop-blur\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function CardHeader({ className, ...props }: CardHeaderProps) {\r\n return <div className={cn(\"p-6 pb-0\", className)} {...props} />;\r\n}\r\n\r\nexport interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function CardContent({ className, ...props }: CardContentProps) {\r\n return <div className={cn(\"p-6\", className)} {...props} />;\r\n}\r\n\r\nexport interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function CardFooter({ className, ...props }: CardFooterProps) {\r\n return <div className={cn(\"p-6 pt-0\", className)} {...props} />;\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface InputProps\r\n extends React.InputHTMLAttributes<HTMLInputElement> {}\r\n\r\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n ({ className, type = \"text\", ...props }, ref) => {\r\n return (\r\n <input\r\n ref={ref}\r\n type={type}\r\n className={cn(\r\n \"flex h-10 w-full rounded-xl border border-white/10 bg-white/5 px-3 text-sm text-white \" +\r\n \"placeholder:text-white/40 shadow-sm outline-none transition \" +\r\n \"focus:border-white/20 focus:ring-2 focus:ring-blue-500/40 \" +\r\n \"disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nInput.displayName = \"Input\";\r\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,WAA8B;;;ACDvC,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ADgCM;AAjCN,IAAM,iBAAiB;AAAA,EACrB;AAAA,EAGA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAMO,IAAM,SAAe;AAAA,EAC1B,CAAC,EAAE,WAAW,SAAS,MAAM,GAAG,MAAM,GAAG,QAAQ;AAC/C,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,eAAe,EAAE,SAAS,KAAK,CAAC,GAAG,SAAS;AAAA,QACzD,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,OAAO,cAAc;;;AEvCjB,gBAAAA,YAAA;AAFG,SAAS,KAAK,EAAE,WAAW,GAAG,MAAM,GAAc;AACvD,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAIO,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAoB;AACnE,SAAO,gBAAAA,KAAC,SAAI,WAAW,GAAG,YAAY,SAAS,GAAI,GAAG,OAAO;AAC/D;AAIO,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAqB;AACrE,SAAO,gBAAAA,KAAC,SAAI,WAAW,GAAG,OAAO,SAAS,GAAI,GAAG,OAAO;AAC1D;AAIO,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAoB;AACnE,SAAO,gBAAAA,KAAC,SAAI,WAAW,GAAG,YAAY,SAAS,GAAI,GAAG,OAAO;AAC/D;;;ACjCA,YAAYC,YAAW;AASjB,gBAAAC,YAAA;AAHC,IAAM,QAAc;AAAA,EACzB,CAAC,EAAE,WAAW,OAAO,QAAQ,GAAG,MAAM,GAAG,QAAQ;AAC/C,WACE,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UAIA;AAAA,QACF;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,MAAM,cAAc;","names":["jsx","React","jsx"]}
1
+ {"version":3,"sources":["../src/components/button.tsx","../src/utils/cn.ts","../src/components/card.tsx","../src/components/input.tsx","../src/components/badge.tsx","../src/components/alert.tsx","../src/components/avatar.tsx","../src/components/switch.tsx","../src/components/progress.tsx","../src/components/skeleton.tsx","../src/components/textarea.tsx","../src/components/checkbox.tsx","../src/components/breadcrumb.tsx","../src/components/accordion.tsx","../src/components/tooltip.tsx","../src/components/divider.tsx","../src/components/tag.tsx","../src/components/table.tsx","../src/components/tabs.tsx","../src/components/modal.tsx","../src/components/dropdown.tsx","../src/components/select.tsx","../src/components/toast.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../utils/cn\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center rounded-xl font-medium transition \" +\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 \" +\n \"disabled:pointer-events-none disabled:opacity-50 ring-offset-background\",\n {\n variants: {\n variant: {\n default: \"bg-slate-900 text-white hover:bg-slate-800\",\n primary: \"bg-blue-600 text-white hover:bg-blue-500\",\n subtle: \"bg-white/10 text-white hover:bg-white/15\",\n ghost: \"bg-transparent hover:bg-white/10\",\n danger: \"bg-rose-600 text-white hover:bg-rose-500\",\n },\n size: {\n sm: \"h-9 px-3 text-sm\",\n md: \"h-10 px-4 text-sm\",\n lg: \"h-11 px-5 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, ...props }, ref) => {\n return (\n <button\n ref={ref}\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n />\n );\n }\n);\n\nButton.displayName = \"Button\";\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface CardProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function Card({ className, ...props }: CardProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"rounded-2xl border border-white/10 bg-white/5 shadow-sm backdrop-blur\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function CardHeader({ className, ...props }: CardHeaderProps) {\r\n return <div className={cn(\"p-6 pb-0\", className)} {...props} />;\r\n}\r\n\r\nexport interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function CardContent({ className, ...props }: CardContentProps) {\r\n return <div className={cn(\"p-6\", className)} {...props} />;\r\n}\r\n\r\nexport interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function CardFooter({ className, ...props }: CardFooterProps) {\r\n return <div className={cn(\"p-6 pt-0\", className)} {...props} />;\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface InputProps\r\n extends React.InputHTMLAttributes<HTMLInputElement> {}\r\n\r\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n ({ className, type = \"text\", ...props }, ref) => {\r\n return (\r\n <input\r\n ref={ref}\r\n type={type}\r\n className={cn(\r\n \"flex h-10 w-full rounded-xl border border-white/10 bg-white/5 px-3 text-sm text-white \" +\r\n \"placeholder:text-white/40 shadow-sm outline-none transition \" +\r\n \"focus:border-white/20 focus:ring-2 focus:ring-blue-500/40 \" +\r\n \"disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nInput.displayName = \"Input\";\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nconst badgeVariants = cva(\r\n \"inline-flex items-center rounded-full border font-medium transition\",\r\n {\r\n variants: {\r\n variant: {\r\n default: \"border-white/10 bg-white/10 text-white\",\r\n primary: \"border-blue-500/40 bg-blue-600 text-white\",\r\n success: \"border-emerald-500/40 bg-emerald-600 text-white\",\r\n warning: \"border-amber-400/40 bg-amber-500 text-slate-900\",\r\n danger: \"border-rose-500/40 bg-rose-600 text-white\",\r\n outline: \"border-white/20 bg-transparent text-white\",\r\n },\r\n size: {\r\n sm: \"px-2 py-0.5 text-[11px]\",\r\n md: \"px-2.5 py-1 text-xs\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"md\",\r\n },\r\n }\r\n);\r\n\r\nexport interface BadgeProps\r\n extends React.HTMLAttributes<HTMLSpanElement>,\r\n VariantProps<typeof badgeVariants> {}\r\n\r\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\r\n ({ className, variant, size, ...props }, ref) => {\r\n return (\r\n <span\r\n ref={ref}\r\n className={cn(badgeVariants({ variant, size }), className)}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nBadge.displayName = \"Badge\";\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nconst alertVariants = cva(\r\n \"relative w-full rounded-2xl border px-4 py-3 text-sm shadow-sm\",\r\n {\r\n variants: {\r\n variant: {\r\n default: \"border-white/10 bg-white/5 text-white\",\r\n info: \"border-blue-500/40 bg-blue-500/15 text-blue-100\",\r\n success: \"border-emerald-500/40 bg-emerald-500/15 text-emerald-100\",\r\n warning: \"border-amber-400/40 bg-amber-500/15 text-amber-100\",\r\n danger: \"border-rose-500/40 bg-rose-500/15 text-rose-100\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n },\r\n }\r\n);\r\n\r\nexport interface AlertProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof alertVariants> {}\r\n\r\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\r\n ({ className, variant, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"alert\"\r\n className={cn(alertVariants({ variant }), className)}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nAlert.displayName = \"Alert\";\r\n\r\nexport interface AlertTitleProps\r\n extends React.HTMLAttributes<HTMLHeadingElement> {}\r\n\r\nexport function AlertTitle({ className, ...props }: AlertTitleProps) {\r\n return <h5 className={cn(\"text-sm font-semibold\", className)} {...props} />;\r\n}\r\n\r\nexport interface AlertDescriptionProps\r\n extends React.HTMLAttributes<HTMLParagraphElement> {}\r\n\r\nexport function AlertDescription({\r\n className,\r\n ...props\r\n}: AlertDescriptionProps) {\r\n return <p className={cn(\"text-sm text-white/70\", className)} {...props} />;\r\n}\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nconst avatarVariants = cva(\r\n \"relative inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-white/10 bg-white/5\",\r\n {\r\n variants: {\r\n size: {\r\n sm: \"h-8 w-8 text-xs\",\r\n md: \"h-10 w-10 text-sm\",\r\n lg: \"h-12 w-12 text-base\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"md\",\r\n },\r\n }\r\n);\r\n\r\nexport interface AvatarProps\r\n extends React.HTMLAttributes<HTMLSpanElement>,\r\n VariantProps<typeof avatarVariants> {}\r\n\r\nexport const Avatar = React.forwardRef<HTMLSpanElement, AvatarProps>(\r\n ({ className, size, ...props }, ref) => {\r\n return (\r\n <span\r\n ref={ref}\r\n className={cn(avatarVariants({ size }), className)}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nAvatar.displayName = \"Avatar\";\r\n\r\nexport interface AvatarImageProps\r\n extends React.ImgHTMLAttributes<HTMLImageElement> {}\r\n\r\nexport const AvatarImage = React.forwardRef<HTMLImageElement, AvatarImageProps>(\r\n ({ className, alt = \"\", ...props }, ref) => {\r\n return (\r\n <img\r\n ref={ref}\r\n alt={alt}\r\n className={cn(\"h-full w-full object-cover\", className)}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nAvatarImage.displayName = \"AvatarImage\";\r\n\r\nexport interface AvatarFallbackProps\r\n extends React.HTMLAttributes<HTMLSpanElement> {}\r\n\r\nexport const AvatarFallback = React.forwardRef<\r\n HTMLSpanElement,\r\n AvatarFallbackProps\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <span\r\n ref={ref}\r\n className={cn(\"flex h-full w-full items-center justify-center\", className)}\r\n {...props}\r\n />\r\n );\r\n});\r\n\r\nAvatarFallback.displayName = \"AvatarFallback\";\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface SwitchProps\r\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"type\"> {\r\n checked?: boolean;\r\n defaultChecked?: boolean;\r\n onCheckedChange?: (checked: boolean) => void;\r\n disabled?: boolean;\r\n}\r\n\r\nexport const Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\r\n (\r\n {\r\n className,\r\n checked,\r\n defaultChecked = false,\r\n onCheckedChange,\r\n disabled,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [internalChecked, setInternalChecked] = React.useState(defaultChecked);\r\n const isControlled = checked !== undefined;\r\n const isChecked = isControlled ? checked : internalChecked;\r\n\r\n const handleToggle = () => {\r\n if (disabled) return;\r\n const next = !isChecked;\r\n if (!isControlled) {\r\n setInternalChecked(next);\r\n }\r\n onCheckedChange?.(next);\r\n };\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n type=\"button\"\r\n role=\"switch\"\r\n aria-checked={isChecked}\r\n aria-disabled={disabled}\r\n onClick={handleToggle}\r\n className={cn(\r\n \"relative inline-flex h-7 w-12 items-center rounded-full border transition \" +\r\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40 \" +\r\n \"disabled:cursor-not-allowed disabled:opacity-50\",\r\n isChecked\r\n ? \"border-blue-500/50 bg-blue-600\"\r\n : \"border-white/10 bg-white/10\",\r\n className\r\n )}\r\n disabled={disabled}\r\n {...props}\r\n >\r\n <span\r\n className={cn(\r\n \"inline-block h-5 w-5 transform rounded-full bg-white shadow-sm transition\",\r\n isChecked ? \"translate-x-5\" : \"translate-x-1\"\r\n )}\r\n />\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nSwitch.displayName = \"Switch\";\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {\r\n value?: number;\r\n max?: number;\r\n}\r\n\r\nexport const Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\r\n ({ className, value = 0, max = 100, ...props }, ref) => {\r\n const clamped = Math.max(0, Math.min(value, max));\r\n const percent = max > 0 ? (clamped / max) * 100 : 0;\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"progressbar\"\r\n aria-valuenow={clamped}\r\n aria-valuemin={0}\r\n aria-valuemax={max}\r\n className={cn(\r\n \"relative h-3 w-full overflow-hidden rounded-full border border-white/10 bg-white/5\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div\r\n className=\"h-full rounded-full bg-blue-600 transition-[width]\"\r\n style={{ width: `${percent}%` }}\r\n />\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nProgress.displayName = \"Progress\";\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nconst skeletonVariants = cva(\"animate-pulse rounded-xl bg-white/10\", {\r\n variants: {\r\n variant: {\r\n default: \"bg-white/10\",\r\n subtle: \"bg-white/5\",\r\n },\r\n size: {\r\n sm: \"h-3\",\r\n md: \"h-4\",\r\n lg: \"h-5\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"md\",\r\n },\r\n});\r\n\r\nexport interface SkeletonProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof skeletonVariants> {}\r\n\r\nexport function Skeleton({\r\n className,\r\n variant,\r\n size,\r\n ...props\r\n}: SkeletonProps) {\r\n return (\r\n <div\r\n className={cn(skeletonVariants({ variant, size }), className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface TextareaProps\r\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\r\n\r\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\r\n ({ className, rows = 4, ...props }, ref) => {\r\n return (\r\n <textarea\r\n ref={ref}\r\n rows={rows}\r\n className={cn(\r\n \"w-full rounded-xl border border-white/10 bg-white/5 px-3 py-2 text-sm text-white \" +\r\n \"placeholder:text-white/40 shadow-sm outline-none transition \" +\r\n \"focus:border-white/20 focus:ring-2 focus:ring-blue-500/40 \" +\r\n \"disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nTextarea.displayName = \"Textarea\";\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface CheckboxProps\r\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"type\"> {\r\n label?: React.ReactNode;\r\n}\r\n\r\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\r\n ({ className, label, disabled, ...props }, ref) => {\r\n return (\r\n <label\r\n className={cn(\r\n \"inline-flex items-center gap-2 text-sm text-white\",\r\n disabled && \"cursor-not-allowed opacity-50\"\r\n )}\r\n >\r\n <input\r\n ref={ref}\r\n type=\"checkbox\"\r\n disabled={disabled}\r\n className={cn(\r\n \"h-4 w-4 appearance-none rounded border border-white/20 bg-white/5 \" +\r\n \"transition focus-visible:outline-none focus-visible:ring-2 \" +\r\n \"focus-visible:ring-blue-500/40 checked:border-blue-500 checked:bg-blue-600\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n {label ? <span>{label}</span> : null}\r\n </label>\r\n );\r\n }\r\n);\r\n\r\nCheckbox.displayName = \"Checkbox\";\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {}\r\n\r\nexport function Breadcrumb({ className, ...props }: BreadcrumbProps) {\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n className={cn(\"text-sm text-white/70\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface BreadcrumbListProps\r\n extends React.OlHTMLAttributes<HTMLOListElement> {}\r\n\r\nexport function BreadcrumbList({\r\n className,\r\n ...props\r\n}: BreadcrumbListProps) {\r\n return (\r\n <ol\r\n className={cn(\"flex flex-wrap items-center gap-2\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface BreadcrumbItemProps\r\n extends React.LiHTMLAttributes<HTMLLIElement> {}\r\n\r\nexport function BreadcrumbItem({ className, ...props }: BreadcrumbItemProps) {\r\n return (\r\n <li className={cn(\"inline-flex items-center gap-2\", className)} {...props} />\r\n );\r\n}\r\n\r\nexport interface BreadcrumbLinkProps\r\n extends React.AnchorHTMLAttributes<HTMLAnchorElement> {}\r\n\r\nexport function BreadcrumbLink({ className, ...props }: BreadcrumbLinkProps) {\r\n return (\r\n <a\r\n className={cn(\"text-white/80 transition hover:text-white\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface BreadcrumbSeparatorProps\r\n extends React.HTMLAttributes<HTMLSpanElement> {}\r\n\r\nexport function BreadcrumbSeparator({\r\n className,\r\n ...props\r\n}: BreadcrumbSeparatorProps) {\r\n return (\r\n <span className={cn(\"text-white/30\", className)} {...props} />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\ntype AccordionValue = string | null;\r\n\r\ninterface AccordionContextValue {\r\n value: AccordionValue;\r\n onValueChange: (value: AccordionValue) => void;\r\n}\r\n\r\nconst AccordionContext = React.createContext<AccordionContextValue | null>(null);\r\n\r\nexport interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {\n defaultValue?: string;\n}\n\r\nexport function Accordion({\n className,\n defaultValue,\n ...props\n}: AccordionProps) {\n const [value, setValue] = React.useState<AccordionValue>(defaultValue ?? null);\n\r\n return (\r\n <AccordionContext.Provider value={{ value, onValueChange: setValue }}>\r\n <div className={cn(\"space-y-2\", className)} {...props} />\r\n </AccordionContext.Provider>\r\n );\r\n}\r\n\r\nexport interface AccordionItemProps\r\n extends React.HTMLAttributes<HTMLDivElement> {\r\n value: string;\r\n}\r\n\r\nexport function AccordionItem({\r\n className,\r\n value,\r\n ...props\r\n}: AccordionItemProps) {\r\n return (\r\n <div\r\n className={cn(\"rounded-2xl border border-white/10 bg-white/5\", className)}\r\n data-value={value}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface AccordionTriggerProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n value: string;\r\n}\r\n\r\nexport function AccordionTrigger({\r\n className,\r\n value,\r\n ...props\r\n}: AccordionTriggerProps) {\r\n const ctx = React.useContext(AccordionContext);\r\n if (!ctx) {\r\n throw new Error(\"AccordionTrigger must be used within Accordion\");\r\n }\r\n\r\n const isOpen = ctx.value === value;\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"flex w-full items-center justify-between gap-3 px-4 py-3 text-left text-sm font-medium text-white \" +\r\n \"transition hover:bg-white/5\",\r\n className\r\n )}\r\n aria-expanded={isOpen}\r\n onClick={() => ctx.onValueChange(isOpen ? null : value)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface AccordionContentProps\r\n extends React.HTMLAttributes<HTMLDivElement> {\r\n value: string;\r\n}\r\n\r\nexport function AccordionContent({\r\n className,\r\n value,\r\n ...props\r\n}: AccordionContentProps) {\r\n const ctx = React.useContext(AccordionContext);\r\n if (!ctx) {\r\n throw new Error(\"AccordionContent must be used within Accordion\");\r\n }\r\n\r\n const isOpen = ctx.value === value;\r\n\r\n if (!isOpen) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\"px-4 pb-4 text-sm text-white/70\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface TooltipProps extends React.HTMLAttributes<HTMLSpanElement> {\n text: React.ReactNode;\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}\n\nexport function Tooltip({\n className,\n text,\n side = \"top\",\n children,\n ...props\n}: TooltipProps) {\n return (\r\n <span className=\"relative inline-flex group\" {...props}>\r\n {children}\r\n <span\r\n role=\"tooltip\"\r\n className={cn(\r\n \"pointer-events-none absolute z-10 whitespace-nowrap rounded-lg border border-white/10 \" +\r\n \"bg-slate-950 px-2 py-1 text-xs text-white opacity-0 transition \" +\r\n \"group-hover:opacity-100 group-focus-within:opacity-100\",\r\n side === \"top\" && \"bottom-full left-1/2 -translate-x-1/2 -translate-y-2\",\r\n side === \"bottom\" && \"top-full left-1/2 -translate-x-1/2 translate-y-2\",\r\n side === \"left\" && \"right-full top-1/2 -translate-y-1/2 -translate-x-2\",\r\n side === \"right\" && \"left-full top-1/2 -translate-y-1/2 translate-x-2\",\r\n className\r\n )}\r\n >\n {text}\n </span>\n </span>\n );\n}\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\r\n orientation?: \"horizontal\" | \"vertical\";\r\n}\r\n\r\nexport function Divider({\r\n className,\r\n orientation = \"horizontal\",\r\n ...props\r\n}: DividerProps) {\r\n return (\r\n <div\r\n role=\"separator\"\r\n aria-orientation={orientation}\r\n className={cn(\r\n \"shrink-0 bg-white/10\",\r\n orientation === \"horizontal\" ? \"h-px w-full\" : \"h-full w-px\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nconst tagVariants = cva(\r\n \"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-xs font-medium\",\r\n {\r\n variants: {\r\n variant: {\r\n default: \"border-white/10 bg-white/10 text-white\",\r\n primary: \"border-blue-500/40 bg-blue-600 text-white\",\r\n success: \"border-emerald-500/40 bg-emerald-600 text-white\",\r\n warning: \"border-amber-400/40 bg-amber-500 text-slate-900\",\r\n danger: \"border-rose-500/40 bg-rose-600 text-white\",\r\n outline: \"border-white/20 bg-transparent text-white\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n },\r\n }\r\n);\r\n\r\nexport interface TagProps\r\n extends React.HTMLAttributes<HTMLSpanElement>,\r\n VariantProps<typeof tagVariants> {\r\n onRemove?: () => void;\r\n}\r\n\r\nexport function Tag({ className, variant, onRemove, ...props }: TagProps) {\r\n return (\r\n <span className={cn(tagVariants({ variant }), className)} {...props}>\r\n {props.children}\r\n {onRemove ? (\r\n <button\r\n type=\"button\"\r\n onClick={onRemove}\r\n className=\"inline-flex h-4 w-4 items-center justify-center rounded-full text-xs text-white/80 transition hover:text-white\"\r\n aria-label=\"Remove\"\r\n >\r\n &times;\r\n </button>\r\n ) : null}\r\n </span>\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {}\r\n\r\nexport function Table({ className, ...props }: TableProps) {\r\n return (\r\n <div className=\"w-full overflow-hidden rounded-2xl border border-white/10\">\r\n <table\r\n className={cn(\"w-full border-collapse text-sm text-white\", className)}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport interface TableHeaderProps\r\n extends React.HTMLAttributes<HTMLTableSectionElement> {}\r\n\r\nexport function TableHeader({ className, ...props }: TableHeaderProps) {\r\n return <thead className={cn(\"bg-white/5\", className)} {...props} />;\r\n}\r\n\r\nexport interface TableBodyProps\r\n extends React.HTMLAttributes<HTMLTableSectionElement> {}\r\n\r\nexport function TableBody({ className, ...props }: TableBodyProps) {\r\n return <tbody className={cn(\"divide-y divide-white/10\", className)} {...props} />;\r\n}\r\n\r\nexport interface TableRowProps\r\n extends React.HTMLAttributes<HTMLTableRowElement> {}\r\n\r\nexport function TableRow({ className, ...props }: TableRowProps) {\r\n return <tr className={cn(\"hover:bg-white/5\", className)} {...props} />;\r\n}\r\n\r\nexport interface TableHeadProps\r\n extends React.ThHTMLAttributes<HTMLTableCellElement> {}\r\n\r\nexport function TableHead({ className, ...props }: TableHeadProps) {\r\n return (\r\n <th\r\n className={cn(\r\n \"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-white/70\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface TableCellProps\r\n extends React.TdHTMLAttributes<HTMLTableCellElement> {}\r\n\r\nexport function TableCell({ className, ...props }: TableCellProps) {\r\n return <td className={cn(\"px-4 py-3\", className)} {...props} />;\r\n}\r\n\r\nexport interface TableCaptionProps\r\n extends React.HTMLAttributes<HTMLTableCaptionElement> {}\r\n\r\nexport function TableCaption({ className, ...props }: TableCaptionProps) {\r\n return (\r\n <caption className={cn(\"p-4 text-left text-xs text-white/50\", className)} {...props} />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\ntype TabsValue = string;\r\n\r\ninterface TabsContextValue {\r\n value: TabsValue;\r\n onValueChange: (value: TabsValue) => void;\r\n}\r\n\r\nconst TabsContext = React.createContext<TabsContextValue | null>(null);\r\n\r\nexport interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {\r\n value?: TabsValue;\r\n defaultValue?: TabsValue;\r\n onValueChange?: (value: TabsValue) => void;\r\n}\r\n\r\nexport function Tabs({\r\n className,\r\n value,\r\n defaultValue,\r\n onValueChange,\r\n ...props\r\n}: TabsProps) {\r\n const [internalValue, setInternalValue] = React.useState<TabsValue | undefined>(\r\n defaultValue\r\n );\r\n const isControlled = value !== undefined;\r\n const activeValue = isControlled ? value : internalValue;\r\n\r\n const handleValueChange = (next: TabsValue) => {\r\n if (!isControlled) {\r\n setInternalValue(next);\r\n }\r\n onValueChange?.(next);\r\n };\r\n\r\n return (\r\n <TabsContext.Provider\r\n value={{\r\n value: activeValue ?? \"\",\r\n onValueChange: handleValueChange,\r\n }}\r\n >\r\n <div className={cn(\"space-y-4\", className)} {...props} />\r\n </TabsContext.Provider>\r\n );\r\n}\r\n\r\nexport interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function TabsList({ className, ...props }: TabsListProps) {\r\n return (\r\n <div\r\n className={cn(\r\n \"inline-flex rounded-xl border border-white/10 bg-white/5 p-1\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface TabsTriggerProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n value: TabsValue;\r\n}\r\n\r\nexport function TabsTrigger({\r\n className,\r\n value,\r\n ...props\r\n}: TabsTriggerProps) {\r\n const ctx = React.useContext(TabsContext);\r\n if (!ctx) {\r\n throw new Error(\"TabsTrigger must be used within Tabs\");\r\n }\r\n\r\n const isActive = ctx.value === value;\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n onClick={() => ctx.onValueChange(value)}\r\n className={cn(\r\n \"rounded-lg px-3 py-1.5 text-sm transition\",\r\n isActive ? \"bg-white/10 text-white\" : \"text-white/60 hover:text-white\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface TabsContentProps extends React.HTMLAttributes<HTMLDivElement> {\r\n value: TabsValue;\r\n}\r\n\r\nexport function TabsContent({\r\n className,\r\n value,\r\n ...props\r\n}: TabsContentProps) {\r\n const ctx = React.useContext(TabsContext);\r\n if (!ctx) {\r\n throw new Error(\"TabsContent must be used within Tabs\");\r\n }\r\n\r\n if (ctx.value !== value) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"rounded-2xl border border-white/10 bg-white/5 p-4 text-sm text-white/80\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {\r\n open: boolean;\r\n onOpenChange?: (open: boolean) => void;\r\n}\r\n\r\nexport function Modal({\r\n className,\r\n open,\r\n onOpenChange,\r\n ...props\r\n}: ModalProps) {\r\n if (!open) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n className=\"fixed inset-0 z-50 flex items-center justify-center\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n >\r\n <button\r\n type=\"button\"\r\n aria-label=\"Close\"\r\n className=\"absolute inset-0 bg-black/60\"\r\n onClick={() => onOpenChange?.(false)}\r\n />\r\n <div\r\n className={cn(\r\n \"relative z-10 w-full max-w-lg rounded-2xl border border-white/10 bg-slate-950 p-6 text-white shadow-xl\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport interface ModalHeaderProps\r\n extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function ModalHeader({ className, ...props }: ModalHeaderProps) {\r\n return <div className={cn(\"space-y-1\", className)} {...props} />;\r\n}\r\n\r\nexport interface ModalTitleProps\r\n extends React.HTMLAttributes<HTMLHeadingElement> {}\r\n\r\nexport function ModalTitle({ className, ...props }: ModalTitleProps) {\r\n return <h3 className={cn(\"text-lg font-semibold\", className)} {...props} />;\r\n}\r\n\r\nexport interface ModalDescriptionProps\r\n extends React.HTMLAttributes<HTMLParagraphElement> {}\r\n\r\nexport function ModalDescription({\r\n className,\r\n ...props\r\n}: ModalDescriptionProps) {\r\n return <p className={cn(\"text-sm text-white/70\", className)} {...props} />;\r\n}\r\n\r\nexport interface ModalFooterProps\r\n extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function ModalFooter({ className, ...props }: ModalFooterProps) {\r\n return (\r\n <div\r\n className={cn(\"mt-6 flex items-center justify-end gap-2\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\ninterface DropdownContextValue {\r\n open: boolean;\r\n setOpen: (open: boolean) => void;\r\n}\r\n\r\nconst DropdownContext = React.createContext<DropdownContextValue | null>(null);\r\n\r\nexport interface DropdownProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function Dropdown({ className, ...props }: DropdownProps) {\r\n const [open, setOpen] = React.useState(false);\r\n\r\n return (\r\n <DropdownContext.Provider value={{ open, setOpen }}>\r\n <div className={cn(\"relative inline-flex\", className)} {...props} />\r\n </DropdownContext.Provider>\r\n );\r\n}\r\n\r\nexport interface DropdownTriggerProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {}\r\n\r\nexport function DropdownTrigger({\r\n className,\r\n ...props\r\n}: DropdownTriggerProps) {\r\n const ctx = React.useContext(DropdownContext);\r\n if (!ctx) {\r\n throw new Error(\"DropdownTrigger must be used within Dropdown\");\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n aria-expanded={ctx.open}\r\n onClick={() => ctx.setOpen(!ctx.open)}\r\n className={cn(\r\n \"inline-flex items-center gap-2 rounded-xl border border-white/10 bg-white/5 px-3 py-2 text-sm text-white transition hover:bg-white/10\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface DropdownContentProps\r\n extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function DropdownContent({\r\n className,\r\n ...props\r\n}: DropdownContentProps) {\r\n const ctx = React.useContext(DropdownContext);\r\n if (!ctx) {\r\n throw new Error(\"DropdownContent must be used within Dropdown\");\r\n }\r\n\r\n if (!ctx.open) {\r\n return null;\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"absolute left-0 top-full mt-2 w-48 rounded-2xl border border-white/10 bg-slate-950 p-1 text-sm text-white shadow-lg\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface DropdownItemProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {}\r\n\r\nexport function DropdownItem({\r\n className,\r\n ...props\r\n}: DropdownItemProps) {\r\n const ctx = React.useContext(DropdownContext);\r\n if (!ctx) {\r\n throw new Error(\"DropdownItem must be used within Dropdown\");\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n onClick={(event) => {\r\n props.onClick?.(event);\r\n ctx.setOpen(false);\r\n }}\r\n className={cn(\r\n \"flex w-full items-center gap-2 rounded-xl px-3 py-2 text-left text-sm text-white/80 transition hover:bg-white/10 hover:text-white\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface SelectProps\r\n extends React.SelectHTMLAttributes<HTMLSelectElement> {}\r\n\r\nexport const Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n ({ className, ...props }, ref) => {\r\n return (\r\n <select\r\n ref={ref}\r\n className={cn(\r\n \"h-10 w-full rounded-xl border border-white/10 bg-white/5 px-3 text-sm text-white \" +\r\n \"shadow-sm outline-none transition focus:border-white/20 focus:ring-2 focus:ring-blue-500/40\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\n","import * as React from \"react\";\r\nimport { cn } from \"../utils/cn\";\r\n\r\nexport interface ToastProps extends React.HTMLAttributes<HTMLDivElement> {}\r\n\r\nexport function Toast({ className, ...props }: ToastProps) {\r\n return (\r\n <div\r\n role=\"status\"\r\n className={cn(\r\n \"w-full max-w-sm rounded-2xl border border-white/10 bg-slate-950 p-4 text-white shadow-lg\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport interface ToastTitleProps\r\n extends React.HTMLAttributes<HTMLHeadingElement> {}\r\n\r\nexport function ToastTitle({ className, ...props }: ToastTitleProps) {\r\n return <h4 className={cn(\"text-sm font-semibold\", className)} {...props} />;\r\n}\r\n\r\nexport interface ToastDescriptionProps\r\n extends React.HTMLAttributes<HTMLParagraphElement> {}\r\n\r\nexport function ToastDescription({\r\n className,\r\n ...props\r\n}: ToastDescriptionProps) {\r\n return <p className={cn(\"text-sm text-white/70\", className)} {...props} />;\r\n}\r\n\r\nexport interface ToastActionProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {}\r\n\r\nexport function ToastAction({ className, ...props }: ToastActionProps) {\r\n return (\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"rounded-lg border border-white/10 bg-white/5 px-3 py-1.5 text-xs font-medium text-white transition hover:bg-white/10\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n"],"mappings":"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","names":["jsx","React","jsx","React","cva","jsx","cva","React","cva","jsx","cva","React","cva","jsx","cva","React","jsx","React","jsx","cva","jsx","cva","React","jsx","React","jsx","jsx","React","jsx","jsx","jsxs","jsx","cva","jsx","jsxs","cva","jsx","React","jsx","jsx","jsxs","React","jsx","React","jsx","jsx"]}
@@ -0,0 +1 @@
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-full{left:100%}.right-full{right:100%}.top-1\/2{top:50%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.w-10{width:2.5rem}.w-12{width:3rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-2{--tw-translate-x:-0.5rem}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y:-0.5rem}.translate-x-1{--tw-translate-x:0.25rem}.translate-x-1,.translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2{--tw-translate-x:0.5rem}.translate-x-5{--tw-translate-x:1.25rem}.translate-x-5,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:0.5rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-white\/10>:not([hidden])~:not([hidden]){border-color:hsla(0,0%,100%,.1)}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-amber-400\/40{border-color:rgba(251,191,36,.4)}.border-blue-500\/40{border-color:rgba(59,130,246,.4)}.border-blue-500\/50{border-color:rgba(59,130,246,.5)}.border-emerald-500\/40{border-color:rgba(16,185,129,.4)}.border-rose-500\/40{border-color:rgba(244,63,94,.4)}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-blue-500\/15{background-color:rgba(59,130,246,.15)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-emerald-500\/15{background-color:rgba(16,185,129,.15)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-rose-500\/15{background-color:rgba(244,63,94,.15)}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-0{padding-bottom:0}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-right{text-align:right}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/30{color:hsla(0,0%,100%,.3)}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder\:text-white\/40::-moz-placeholder{color:hsla(0,0%,100%,.4)}.placeholder\:text-white\/40::placeholder{color:hsla(0,0%,100%,.4)}.checked\:border-blue-500:checked{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.checked\:bg-blue-600:checked{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-rose-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/15:hover{background-color:hsla(0,0%,100%,.15)}.hover\:bg-white\/5:hover{background-color:hsla(0,0%,100%,.05)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\:border-white\/20:focus{border-color:hsla(0,0%,100%,.2)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500\/40:focus{--tw-ring-color:rgba(59,130,246,.4)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-500\/40:focus-visible{--tw-ring-color:rgba(59,130,246,.4)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-100{opacity:1}
package/package.json CHANGED
@@ -1,52 +1,54 @@
1
- {
2
- "name": "@gmook9/pristine-ui",
3
- "version": "0.2.0",
4
- "description": "PristineUI – React components built with Tailwind.",
5
- "license": "MIT",
6
- "main": "./dist/index.cjs",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js",
13
- "require": "./dist/index.cjs"
14
- }
15
- },
16
- "files": [
17
- "dist"
18
- ],
19
- "sideEffects": false,
20
- "scripts": {
21
- "dev": "tsup --watch",
22
- "build": "tsup",
23
- "lint": "eslint .",
24
- "typecheck": "tsc -p tsconfig.json --noEmit",
25
- "storybook": "storybook dev -p 6006 -c .storybook",
26
- "build-storybook": "storybook build -c .storybook"
27
- },
28
- "peerDependencies": {
29
- "react": ">=18",
30
- "react-dom": ">=18"
31
- },
32
- "dependencies": {
33
- "class-variance-authority": "^0.7.1",
34
- "clsx": "^2.1.1",
35
- "tailwind-merge": "^2.5.2"
36
- },
37
- "devDependencies": {
38
- "@eslint/js": "^9.8.0",
39
- "@storybook/react": "^10.1.11",
40
- "@storybook/react-vite": "^10.1.11",
41
- "@types/react": "^18.3.3",
42
- "@types/react-dom": "^18.3.0",
43
- "autoprefixer": "^10.4.20",
44
- "eslint": "^9.8.0",
45
- "postcss": "^8.4.41",
46
- "storybook": "^10.1.11",
47
- "tailwindcss": "^3.4.10",
48
- "tsup": "^8.2.4",
49
- "typescript": "^5.5.4",
50
- "typescript-eslint": "^8.0.1"
51
- }
1
+ {
2
+ "name": "@gmook9/pristine-ui",
3
+ "version": "0.4.0",
4
+ "description": "PristineUI – React components built with Tailwind.",
5
+ "license": "MIT",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ },
15
+ "./styles.css": "./dist/styles.css"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "sideEffects": false,
21
+ "peerDependencies": {
22
+ "react": ">=18",
23
+ "react-dom": ">=18"
24
+ },
25
+ "dependencies": {
26
+ "class-variance-authority": "^0.7.1",
27
+ "clsx": "^2.1.1",
28
+ "tailwind-merge": "^2.5.2"
29
+ },
30
+ "devDependencies": {
31
+ "@eslint/js": "^9.8.0",
32
+ "@storybook/react": "^10.1.11",
33
+ "@storybook/react-vite": "^10.1.11",
34
+ "@types/react": "^18.3.3",
35
+ "@types/react-dom": "^18.3.0",
36
+ "autoprefixer": "^10.4.20",
37
+ "eslint": "^9.8.0",
38
+ "postcss": "^8.4.41",
39
+ "storybook": "^10.1.11",
40
+ "tailwindcss": "^3.4.10",
41
+ "tsup": "^8.2.4",
42
+ "typescript": "^5.5.4",
43
+ "typescript-eslint": "^8.0.1"
44
+ },
45
+ "scripts": {
46
+ "dev": "tsup --watch",
47
+ "build": "tsup",
48
+ "build:css": "tailwindcss -c tailwind.config.ts -i ./src/styles.css -o ./dist/styles.css --minify",
49
+ "lint": "eslint .",
50
+ "typecheck": "tsc -p tsconfig.json --noEmit",
51
+ "storybook": "storybook dev -p 6006 -c .storybook",
52
+ "build-storybook": "storybook build -c .storybook"
53
+ }
52
54
  }