nexoreui 0.1.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.
- package/dist/index.d.mts +2078 -0
- package/dist/index.d.ts +2078 -0
- package/dist/index.js +8833 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8312 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/button.tsx","../src/utils/cn.ts","../src/components/card.tsx","../src/components/input.tsx","../src/components/badge.tsx","../src/components/avatar.tsx","../src/components/tabs.tsx","../src/components/accordion.tsx","../src/components/dialog.tsx","../src/components/tooltip.tsx","../src/components/checkbox.tsx","../src/components/switch.tsx","../src/components/select.tsx","../src/components/alert.tsx","../src/components/toaster.tsx","../src/components/skeleton.tsx","../src/components/progress.tsx","../src/components/slider.tsx","../src/components/special-buttons.tsx","../src/components/special-alerts.tsx","../src/components/special-inputs.tsx","../src/components/special-cards.tsx","../src/components/data-display.tsx","../src/components/navigation.tsx","../src/components/special-badges.tsx","../src/components/special-loaders.tsx","../src/components/special-modals.tsx","../src/components/special-avatars.tsx","../src/components/special-toggles.tsx","../src/components/special-typography.tsx","../src/components/special-animations.tsx","../src/components/special-forms.tsx","../src/components/special-blocks.tsx","../src/components/special-tables.tsx","../src/components/mega-buttons.tsx","../src/components/mega-inputs.tsx","../src/components/mega-cards.tsx","../src/components/mega-badges.tsx","../src/components/mega-loaders.tsx","../src/components/mega-alerts.tsx","../src/components/mega-avatars.tsx","../src/components/mega-nav.tsx","../src/components/mega-stats.tsx","../src/components/mega-blocks.tsx","../src/components/pro-forms.tsx","../src/components/pro-ecommerce.tsx","../src/components/pro-ai.tsx","../src/components/pro-tables.tsx","../src/components/pro-dashboards.tsx","../src/components/pro-navigation.tsx","../src/components/pro-feedback.tsx","../src/components/pro-marketing.tsx","../src/components/pro-lists.tsx","../src/components/pro-layouts.tsx","../src/components/mega-interactive.tsx","../src/components/special-premium-card.tsx","../src/components/ultra-components.tsx","../src/components/ultra-effects.tsx","../src/components/pro-buttons.tsx","../src/components/pro-cards.tsx","../src/components/pro-inputs.tsx","../src/components/premium-overlays.tsx","../src/components/premium-media.tsx","../src/components/premium-charts.tsx","../src/components/premium-social.tsx","../src/components/premium-commerce.tsx","../src/components/premium-effects.tsx","../src/components/new-components.tsx"],"sourcesContent":["export * from './components/button';\nexport * from './components/card';\nexport * from './components/input';\nexport * from './components/badge';\nexport * from './components/avatar';\nexport * from './components/tabs';\nexport * from './components/accordion';\nexport * from './components/dialog';\nexport * from './components/tooltip';\nexport * from './components/checkbox';\nexport * from './components/switch';\nexport * from './components/select';\nexport * from './components/alert';\nexport * from './components/toaster';\nexport * from './components/skeleton';\nexport * from './components/progress';\nexport * from './components/slider';\nexport * from './components/special-buttons';\nexport * from './components/special-alerts';\nexport * from './components/special-inputs';\nexport * from './components/special-cards';\nexport * from './components/data-display';\nexport * from './components/navigation';\nexport * from './components/special-badges';\nexport * from './components/special-loaders';\nexport * from './components/special-modals';\nexport * from './components/special-avatars';\nexport * from './components/special-toggles';\nexport * from './components/special-typography';\nexport * from './components/special-animations';\nexport * from './components/special-forms';\nexport * from './components/special-blocks';\nexport * from './components/special-tables';\nexport * from './components/mega-buttons';\nexport * from './components/mega-inputs';\nexport * from './components/mega-cards';\nexport * from './components/mega-badges';\nexport * from './components/mega-loaders';\nexport * from './components/mega-alerts';\nexport * from './components/mega-avatars';\nexport * from './components/mega-nav';\nexport * from './components/mega-stats';\nexport * from './components/mega-blocks';\n\n// Pro Components\nexport * from './components/pro-forms';\nexport * from './components/pro-ecommerce';\nexport * from './components/pro-ai';\nexport * from './components/pro-tables';\nexport * from './components/pro-dashboards';\nexport * from './components/pro-navigation';\nexport * from './components/pro-feedback';\nexport * from './components/pro-marketing';\nexport * from './components/pro-lists';\nexport * from './components/pro-layouts';\nexport * from './components/mega-interactive';\nexport * from './components/special-premium-card';\n\n// Ultra Components (Premium)\nexport * from './components/ultra-components';\nexport * from './components/ultra-effects';\n\n// Pro V2 Components\nexport * from './components/pro-buttons';\nexport * from './components/pro-cards';\nexport * from './components/pro-inputs';\n\n// Premium V2 Components\nexport * from './components/premium-overlays';\nexport * from './components/premium-media';\nexport * from './components/premium-charts';\nexport * from './components/premium-social';\nexport * from './components/premium-commerce';\nexport * from './components/premium-effects';\n\n// New standalone components\nexport * from './components/new-components';\n\nexport * from './utils/cn';\n","'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../utils/cn';\nimport { motion, HTMLMotionProps, AnimatePresence } from 'framer-motion';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:scale-95\",\n {\n variants: {\n variant: {\n default: \"bg-gradient-to-br from-primary to-primary/80 text-primary-foreground shadow-lg shadow-primary/20 hover:shadow-xl hover:shadow-primary/30\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-border/50\",\n destructive: \"bg-gradient-to-br from-destructive to-destructive/80 text-destructive-foreground shadow-lg shadow-destructive/20 hover:shadow-xl hover:shadow-destructive/30\",\n outline: \"border-2 border-input bg-background hover:bg-accent hover:text-accent-foreground hover:border-accent\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n // New WOW Variants\n premium: \"bg-gradient-to-r from-violet-600 via-pink-600 to-orange-500 text-white shadow-lg shadow-purple-500/20 hover:shadow-xl hover:shadow-purple-500/30\",\n neon: \"bg-background border-2 border-primary text-foreground shadow-[0_0_15px_rgba(var(--primary-rgb),0.5)] hover:shadow-[0_0_25px_rgba(var(--primary-rgb),0.7)]\",\n glass: \"backdrop-blur-md bg-white/10 dark:bg-black/20 border border-white/20 dark:border-white/10 text-foreground hover:bg-white/20 dark:hover:bg-black/30 shadow-lg\",\n shimmer: \"relative overflow-hidden bg-slate-900 text-white dark:bg-white dark:text-black\",\n },\n size: {\n default: \"h-10 px-5 py-2\",\n sm: \"h-9 rounded-md px-3 text-xs\",\n lg: \"h-11 rounded-xl px-8 text-base\",\n icon: \"h-10 w-10 rounded-full\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** Enable hover/tap motion animation @default true */\n animate?: boolean;\n /** Enable shimmer light effect across the button */\n shimmer?: boolean;\n /** Enable neon glow effect */\n glow?: boolean;\n children?: React.ReactNode;\n className?: string;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, animate = true, shimmer = false, glow = false, children, ...props }, ref) => {\n \n const isShimmer = variant === 'shimmer' || shimmer;\n\n const buttonContent = (\n <>\n {isShimmer && (\n <motion.div\n className=\"absolute inset-0 w-[200%] bg-gradient-to-r from-transparent via-white/20 to-transparent\"\n initial={{ x: '-100%' }}\n animate={{ x: '100%' }}\n transition={{\n repeat: Infinity,\n repeatType: 'loop',\n duration: 2,\n ease: 'linear',\n }}\n style={{ transform: 'skewX(-20deg)' }}\n />\n )}\n <span className=\"relative z-10 flex items-center gap-2\">{children}</span>\n </>\n );\n\n if (!animate) {\n return (\n <button\n className={cn(buttonVariants({ variant, size, className }), isShimmer && \"relative overflow-hidden\")}\n ref={ref}\n {...props}\n >\n {buttonContent}\n </button>\n );\n }\n\n // Destructure HTML-only event handlers that shouldn't go to motion.button\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props;\n\n return (\n <motion.button\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n whileHover={{ \n scale: 1.03,\n y: -1,\n }}\n whileTap={{ scale: 0.97 }}\n transition={{ type: \"spring\", stiffness: 400, damping: 15 }}\n {...motionSafeProps as HTMLMotionProps<\"button\">}\n >\n {buttonContent}\n </motion.button>\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","'use client';\n\nimport * as React from \"react\"\nimport { cn } from \"../utils/cn\"\nimport { motion, HTMLMotionProps } from \"framer-motion\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst cardVariants = cva(\n \"rounded-2xl text-card-foreground transition-all duration-300\",\n {\n variants: {\n variant: {\n default: \"border bg-card text-card-foreground shadow-sm hover:shadow-md\",\n glass: \"backdrop-blur-md bg-white/10 dark:bg-black/20 border border-white/20 dark:border-white/10 shadow-lg\",\n gradient: \"bg-gradient-to-br from-violet-500/10 via-pink-500/10 to-orange-500/10 border border-purple-500/20 shadow-lg shadow-purple-500/5\",\n glow: \"bg-card border-2 border-primary/20 shadow-[0_0_15px_rgba(var(--primary-rgb),0.1)] hover:shadow-[0_0_25px_rgba(var(--primary-rgb),0.2)]\",\n },\n hover: {\n none: \"\",\n lift: \"hover:-translate-y-1 hover:shadow-lg\",\n glow: \"hover:border-primary/50 hover:shadow-[0_0_20px_rgba(var(--primary-rgb),0.15)]\",\n }\n },\n defaultVariants: {\n variant: \"default\",\n hover: \"lift\",\n }\n }\n)\n\nexport interface CardProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof HTMLMotionProps<\"div\">>,\n VariantProps<typeof cardVariants> {\n /**\n * Whether to enable hover animations\n * @default true\n */\n animate?: boolean;\n /**\n * The title of the card\n */\n title?: React.ReactNode;\n /**\n * The description of the card\n */\n description?: React.ReactNode;\n /**\n * The footer content of the card\n */\n footer?: React.ReactNode;\n /**\n * An image URL to display at the top of the card\n */\n image?: string;\n}\n\nconst Card = React.forwardRef<HTMLDivElement, CardProps & HTMLMotionProps<\"div\">>(\n ({ className, variant, hover, animate = true, title, description, footer, image, children, ...props }, ref) => {\n const isCompound = !title && !description && !footer && !image;\n \n const content = isCompound ? (\n children\n ) : (\n <>\n {image && (\n <div className=\"relative w-full h-48 overflow-hidden rounded-t-2xl\">\n <img src={image} alt={typeof title === 'string' ? title : 'Card image'} className=\"object-cover w-full h-full\" />\n </div>\n )}\n {(title || description) && (\n <CardHeader>\n {title && <CardTitle>{title}</CardTitle>}\n {description && <CardDescription>{description}</CardDescription>}\n </CardHeader>\n )}\n {children && <CardContent>{children as React.ReactNode}</CardContent>}\n {footer && <CardFooter>{footer}</CardFooter>}\n </>\n );\n\n if (animate) {\n return (\n <motion.div\n ref={ref}\n className={cn(cardVariants({ variant, hover, className }))}\n whileHover={{ scale: 1.01 }}\n transition={{ type: \"spring\", stiffness: 300, damping: 20 }}\n {...props}\n >\n {content as React.ReactNode}\n </motion.div>\n );\n }\n\n return (\n <div\n ref={ref}\n className={cn(cardVariants({ variant, hover, className }))}\n {...(props as React.HTMLAttributes<HTMLDivElement>)}\n >\n {content as React.ReactNode}\n </div>\n );\n }\n)\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className=\"font-semibold leading-none tracking-tight text-xl bg-gradient-to-br from-foreground to-foreground/70 bg-clip-text text-transparent\"\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","'use client';\n\nimport * as React from \"react\"\nimport { cn } from \"../utils/cn\"\nimport { motion } from \"framer-motion\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst inputVariants = cva(\n \"flex h-10 w-full rounded-lg border bg-transparent px-4 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"border-input bg-background/50 focus:border-primary focus:ring-2 focus:ring-primary/20\",\n glass: \"backdrop-blur-md bg-white/5 dark:bg-black/20 border-white/10 dark:border-white/5 focus:border-white/30 dark:focus:border-white/10 focus:bg-white/10 focus:ring-2 focus:ring-white/10\",\n gradient: \"border-purple-500/20 bg-background/50 focus:border-purple-500/50 focus:ring-2 focus:ring-purple-500/20\",\n underline: \"rounded-none border-t-0 border-x-0 border-b border-muted bg-transparent px-1 focus:border-primary focus:ring-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n }\n }\n)\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n VariantProps<typeof inputVariants> {\n animate?: boolean;\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, variant, animate = true, ...props }, ref) => {\n return (\n <motion.div\n className=\"relative w-full\"\n initial={animate ? { opacity: 0, y: 5 } : undefined}\n animate={animate ? { opacity: 1, y: 0 } : undefined}\n transition={{ duration: 0.3 }}\n >\n <input\n type={type}\n className={cn(inputVariants({ variant, className }))}\n ref={ref}\n {...props}\n />\n {variant === \"gradient\" && (\n <div className=\"absolute inset-0 -z-10 rounded-lg bg-gradient-to-r from-violet-500 to-pink-500 opacity-0 blur transition-opacity peer-focus:opacity-20\" />\n )}\n </motion.div>\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","'use client';\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../utils/cn\"\nimport { motion } from \"framer-motion\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center gap-1 rounded-full border font-semibold transition-all focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 cursor-default\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive: \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground border-border hover:bg-accent\",\n // New WOW Variants\n gradient: \"border-transparent bg-gradient-to-r from-violet-500 to-pink-500 text-white shadow-sm\",\n neon: \"border-primary/50 bg-primary/10 text-primary shadow-[0_0_10px_rgba(var(--primary-rgb),0.3)]\",\n success: \"border-transparent bg-emerald-500/20 text-emerald-600 dark:text-emerald-400\",\n },\n size: {\n default: \"px-2.5 py-0.5 text-xs\",\n sm: \"px-1.5 py-0.5 text-[10px]\",\n lg: \"px-3 py-1 text-sm\",\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {\n /**\n * Whether to show a pulse animation on the dot\n * @default false\n */\n pulse?: boolean;\n /**\n * Whether to show a dot indicator\n * @default false\n */\n dot?: boolean;\n}\n\nfunction Badge({ className, variant, size, pulse = false, dot = false, children, ...props }: BadgeProps) {\n const showDot = dot || pulse;\n \n return (\n <div className={cn(badgeVariants({ variant, size }), className)} {...props}>\n {showDot && (\n <span className=\"relative flex h-2 w-2 mr-1\">\n {pulse && (\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-current opacity-75\"></span>\n )}\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-current\"></span>\n </span>\n )}\n {children}\n </div>\n )\n}\n\nexport { Badge, badgeVariants }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../utils/cn\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden rounded-full transition-all duration-300\",\n {\n variants: {\n size: {\n default: \"h-10 w-10\",\n sm: \"h-8 w-8\",\n lg: \"h-12 w-12\",\n xl: \"h-16 w-16\",\n },\n variant: {\n default: \"border-2 border-background\",\n gradient: \"p-[2px] bg-gradient-to-tr from-violet-500 to-pink-500\",\n glow: \"shadow-[0_0_15px_rgba(var(--primary-rgb),0.5)] border-2 border-primary\",\n }\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n }\n }\n)\n\nexport interface AvatarProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof avatarVariants> {\n status?: \"online\" | \"offline\" | \"away\" | \"busy\";\n}\n\nconst Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n ({ className, size, variant, status, children, ...props }, ref) => {\n const statusColors = {\n online: \"bg-emerald-500\",\n offline: \"bg-muted-foreground/50\",\n away: \"bg-amber-500\",\n busy: \"bg-red-500\",\n }\n\n return (\n <div className=\"relative inline-block\">\n <div\n ref={ref}\n className={cn(avatarVariants({ size, variant, className }))}\n {...props}\n >\n {variant === \"gradient\" ? (\n <div className=\"flex h-full w-full items-center justify-center rounded-full bg-background p-[1px]\">\n {children}\n </div>\n ) : (\n children\n )}\n </div>\n {status && (\n <span className={cn(\n \"absolute bottom-0 right-0 block rounded-full border-2 border-background\",\n statusColors[status],\n size === \"sm\" ? \"h-2 w-2\" : size === \"xl\" ? \"h-4 w-4\" : \"h-3 w-3\"\n )} />\n )}\n </div>\n )\n }\n)\nAvatar.displayName = \"Avatar\"\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {}\n\nconst AvatarImage = React.forwardRef<HTMLImageElement, AvatarImageProps>(\n ({ className, ...props }, ref) => (\n <img\n ref={ref}\n className={cn(\"aspect-square h-full w-full object-cover rounded-full\", className)}\n {...props}\n />\n )\n)\nAvatarImage.displayName = \"AvatarImage\"\n\nconst AvatarFallback = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted text-sm font-medium\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = \"AvatarFallback\"\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\nimport { cn } from \"../utils/cn\"\n\nconst TabsRoot = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-11 items-center justify-center rounded-xl bg-muted/50 backdrop-blur-sm p-1 text-muted-foreground border border-border/50\",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-lg px-4 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-lg data-[state=active]:border-border/50 border border-transparent\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-3 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport interface TabsItem {\n label: React.ReactNode;\n value: string;\n content: React.ReactNode;\n}\n\nexport interface TabsProps {\n /**\n * The array of tab items\n */\n items?: TabsItem[];\n /**\n * The default active tab value\n */\n defaultValue?: string;\n /**\n * The variant of the tabs\n * @default \"default\"\n */\n variant?: \"default\" | \"glass\" | \"outline\";\n /**\n * Additional class names\n */\n className?: string;\n /**\n * Children for compound usage\n */\n children?: React.ReactNode;\n}\n\nexport function Tabs({\n items,\n defaultValue,\n variant = \"default\",\n className,\n children,\n}: TabsProps) {\n const defVal = defaultValue || items?.[0]?.value;\n\n return (\n <TabsPrimitive.Root defaultValue={defVal} className={cn(\"w-full\", className)}>\n {items ? (\n <>\n <TabsList>\n {items.map((item) => (\n <TabsTrigger key={item.value} value={item.value}>\n {item.label}\n </TabsTrigger>\n ))}\n </TabsList>\n {items.map((item) => (\n <TabsContent key={item.value} value={item.value}>\n {item.content}\n </TabsContent>\n ))}\n </>\n ) : (\n children\n )}\n </TabsPrimitive.Root>\n )\n}\n\nexport { TabsRoot, TabsList, TabsTrigger, TabsContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\n\nconst AccordionRoot = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b border-border/50 transition-all duration-300 data-[state=open]:bg-muted/30 rounded-lg px-2\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:text-primary [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n <span className=\"flex items-center gap-2\">{children}</span>\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-300 ease-in-out text-muted-foreground\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-1 px-1 text-muted-foreground leading-relaxed\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport interface AccordionItemData {\n title: React.ReactNode;\n content: React.ReactNode;\n}\n\nexport interface AccordionProps {\n /**\n * The array of accordion items\n */\n items: AccordionItemData[];\n /**\n * The type of accordion\n * @default \"single\"\n */\n type?: \"single\" | \"multiple\";\n /**\n * The variant of the accordion\n * @default \"default\"\n */\n variant?: \"default\" | \"glass\" | \"outline\";\n /**\n * Additional class names\n */\n className?: string;\n /**\n * Whether the items can be collapsed (only for type=\"single\")\n * @default true\n */\n collapsible?: boolean;\n}\n\nexport function Accordion({\n items,\n type = \"single\",\n variant = \"default\",\n className,\n collapsible = true,\n}: AccordionProps) {\n const variantClasses = {\n default: \"\",\n glass: \"backdrop-blur-md bg-white/5 border border-white/10 rounded-xl p-2\",\n outline: \"border border-border/50 rounded-xl p-2\",\n };\n\n const content = items.map((item, index) => (\n <AccordionItem key={index} value={`item-${index}`}>\n <AccordionTrigger>{item.title}</AccordionTrigger>\n <AccordionContent>{item.content}</AccordionContent>\n </AccordionItem>\n ));\n\n if (type === \"single\") {\n return (\n <AccordionPrimitive.Root type=\"single\" collapsible={collapsible} className={cn(\"w-full\", variantClasses[variant], className)}>\n {content}\n </AccordionPrimitive.Root>\n );\n }\n\n return (\n <AccordionPrimitive.Root type=\"multiple\" className={cn(\"w-full\", variantClasses[variant], className)}>\n {content}\n </AccordionPrimitive.Root>\n );\n}\n\nexport { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X, AlertTriangle, CheckCircle } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { Button } from \"./button\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border/50 bg-background/95 backdrop-blur-md p-6 shadow-2xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:scale-95 data-[state=open]:scale-100 data-[state=closed]:translate-y-[-48%] data-[state=open]:translate-y-[-50%] rounded-2xl\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-full p-1 opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-xl font-semibold leading-none tracking-tight bg-gradient-to-br from-foreground to-foreground/70 bg-clip-text text-transparent\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground leading-relaxed\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n\nexport interface ModalProps {\n /**\n * The title of the modal\n */\n title?: React.ReactNode;\n /**\n * The description of the modal\n */\n description?: React.ReactNode;\n /**\n * The content of the modal\n */\n children?: React.ReactNode;\n /**\n * The trigger element to open the modal\n */\n trigger?: React.ReactNode;\n /**\n * Callback function called when the confirm button is clicked\n */\n onConfirm?: () => void;\n /**\n * Callback function called when the cancel button is clicked\n */\n onCancel?: () => void;\n /**\n * The text for the confirm button\n * @default \"Confirm\"\n */\n confirmText?: string;\n /**\n * The text for the cancel button\n * @default \"Cancel\"\n */\n cancelText?: string;\n /**\n * Whether the modal is open\n */\n isOpen?: boolean;\n /**\n * Callback function called when the open state changes\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The variant of the modal\n * @default \"default\"\n */\n variant?: \"default\" | \"glass\" | \"destructive\" | \"success\" | \"fullscreen\" | \"drawer\";\n /**\n * Whether the content is scrollable\n * @default false\n */\n scrollable?: boolean;\n /**\n * Additional className for the dialog content\n */\n className?: string;\n}\n\nexport function Modal({\n title,\n description,\n children,\n trigger,\n onConfirm,\n onCancel,\n confirmText = \"Confirm\",\n cancelText = \"Cancel\",\n isOpen,\n onOpenChange,\n variant = \"default\",\n scrollable = false,\n className,\n}: ModalProps) {\n const variantClasses = {\n default: \"\",\n glass: \"bg-white/10 backdrop-blur-xl border-white/20 shadow-2xl\",\n destructive: \"border-destructive/20\",\n success: \"border-green-500/20\",\n fullscreen: \"max-w-full h-screen rounded-none\",\n drawer: \"sm:max-w-full sm:h-[50vh] sm:rounded-b-none sm:rounded-t-[20px] fixed bottom-0 top-auto translate-y-0\",\n }\n\n const isDestructive = variant === \"destructive\";\n const isSuccess = variant === \"success\";\n\n return (\n <Dialog open={isOpen} onOpenChange={onOpenChange}>\n {trigger && <DialogTrigger asChild>{trigger}</DialogTrigger>}\n <DialogContent className={cn(variantClasses[variant], scrollable ? \"max-h-[80vh] overflow-y-auto\" : \"\", className)}>\n {(title || description || isDestructive || isSuccess) && (\n <DialogHeader className={cn((isDestructive || isSuccess) ? \"flex flex-col items-center text-center sm:text-center\" : \"\")}>\n {isDestructive && (\n <div className=\"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-destructive/10 mb-4\">\n <AlertTriangle className=\"h-6 w-6 text-destructive\" />\n </div>\n )}\n {isSuccess && (\n <div className=\"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-green-500/10 mb-4\">\n <CheckCircle className=\"h-6 w-6 text-green-500\" />\n </div>\n )}\n {title && <DialogTitle className={cn((isDestructive || isSuccess) ? \"text-xl\" : \"\")}>{title}</DialogTitle>}\n {description && <DialogDescription>{description}</DialogDescription>}\n </DialogHeader>\n )}\n <div className=\"py-4\">{children}</div>\n {(onConfirm || onCancel || isDestructive || isSuccess) && (\n <DialogFooter className={cn((isDestructive || isSuccess) ? \"sm:justify-center flex-col sm:flex-row gap-2\" : \"\")}>\n {onCancel && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\" className={cn((isDestructive || isSuccess) ? \"w-full sm:w-auto\" : \"\")} onClick={onCancel}>{cancelText}</Button>\n </DialogPrimitive.Close>\n )}\n {onConfirm && (\n <Button \n variant={isDestructive ? \"destructive\" : \"default\"} \n className={cn((isDestructive || isSuccess) ? \"w-full sm:w-auto\" : \"\", isSuccess ? \"bg-green-500 hover:bg-green-600\" : \"\")} \n onClick={onConfirm}\n >\n {confirmText}\n </Button>\n )}\n </DialogFooter>\n )}\n </DialogContent>\n </Dialog>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\nimport { cn } from \"../utils/cn\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst TooltipRoot = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-lg border border-border/50 bg-popover/90 backdrop-blur-md px-3 py-1.5 text-xs font-medium text-popover-foreground shadow-xl animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport interface TooltipProps {\n /**\n * The content to display in the tooltip\n */\n content: React.ReactNode;\n /**\n * The element that triggers the tooltip\n */\n children: React.ReactNode;\n /**\n * The side of the trigger to display the tooltip on\n * @default \"top\"\n */\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n /**\n * The delay in milliseconds before the tooltip opens\n * @default 700\n */\n delay?: number;\n}\n\nexport function Tooltip({\n content,\n children,\n side = \"top\",\n delay = 700,\n}: TooltipProps) {\n return (\n <TooltipProvider delayDuration={delay}>\n <TooltipRoot>\n <TooltipTrigger asChild>{children}</TooltipTrigger>\n <TooltipContent side={side}>{content}</TooltipContent>\n </TooltipRoot>\n </TooltipProvider>\n )\n}\n\nexport { TooltipRoot, TooltipTrigger, TooltipContent, TooltipProvider }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { motion } from \"framer-motion\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-5 w-5 shrink-0 rounded-md border border-muted-foreground/30 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200 data-[state=checked]:bg-gradient-to-br data-[state=checked]:from-primary data-[state=checked]:to-primary/80 data-[state=checked]:text-primary-foreground data-[state=checked]:border-transparent data-[state=checked]:shadow-lg data-[state=checked]:shadow-primary/20\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <motion.div\n initial={{ scale: 0.5, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n transition={{ type: \"spring\", stiffness: 500, damping: 30 }}\n >\n <Check className=\"h-3.5 w-3.5 stroke-[3]\" />\n </motion.div>\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\nimport { cn } from \"../utils/cn\"\nimport { motion } from \"framer-motion\"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitive.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gradient-to-r data-[state=checked]:from-primary data-[state=checked]:to-primary/80 data-[state=unchecked]:bg-muted border border-border/50 shadow-sm data-[state=checked]:shadow-[0_0_10px_rgba(var(--primary-rgb),0.3)]\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitive.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-all duration-300 ease-in-out data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 data-[state=checked]:scale-95\"\n )}\n />\n </SwitchPrimitive.Root>\n))\nSwitch.displayName = SwitchPrimitive.Root.displayName\n\nexport { Switch }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { Check, ChevronDown } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { motion } from \"framer-motion\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-lg border border-input bg-background/50 px-4 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/20 focus:border-primary disabled:cursor-not-allowed disabled:opacity-50 transition-all duration-200\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50 transition-transform duration-200\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/50 bg-popover/90 backdrop-blur-md text-popover-foreground shadow-2xl data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:scale-95 data-[state=open]:scale-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold text-muted-foreground\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-md py-2 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 transition-colors\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <motion.div\n initial={{ scale: 0.5, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n transition={{ type: \"spring\", stiffness: 500, damping: 30 }}\n >\n <Check className=\"h-4 w-4 stroke-[3] text-primary\" />\n </motion.div>\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../utils/cn\"\nimport { motion, HTMLMotionProps } from \"framer-motion\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-xl border p-4 [&>svg~*]:pl-7 [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 transition-all duration-300\",\n {\n variants: {\n variant: {\n default: \"bg-background/50 border-border text-foreground\",\n destructive: \"border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400 [&>svg]:text-red-600 dark:[&>svg]:text-red-400\",\n success: \"border-emerald-500/20 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 [&>svg]:text-emerald-600 dark:[&>svg]:text-emerald-400\",\n warning: \"border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400 [&>svg]:text-amber-600 dark:[&>svg]:text-amber-400\",\n info: \"border-blue-500/20 bg-blue-500/10 text-blue-600 dark:text-blue-400 [&>svg]:text-blue-600 dark:[&>svg]:text-blue-400\",\n glass: \"backdrop-blur-md bg-white/5 dark:bg-black/20 border-white/10 dark:border-white/5 text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface AlertProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>,\n VariantProps<typeof alertVariants> {\n /**\n * Whether to enable entry animations\n * @default true\n */\n animate?: boolean;\n /**\n * The title of the alert\n */\n title?: React.ReactNode;\n /**\n * The description of the alert\n */\n description?: React.ReactNode;\n /**\n * An optional icon to display\n */\n icon?: React.ReactNode;\n /**\n * Whether the alert can be dismissed\n */\n dismissible?: boolean;\n /**\n * Callback function called when the alert is dismissed\n */\n onDismiss?: () => void;\n}\n\nconst Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n ({ className, variant, animate = true, title, description, icon, dismissible, onDismiss, children, ...props }, ref) => {\n const isCompound = !title && !description && !icon;\n const [isOpen, setIsOpen] = React.useState(true);\n\n if (!isOpen) return null;\n\n const content = isCompound ? (\n children\n ) : (\n <>\n {icon && <div className=\"absolute left-4 top-4\">{icon}</div>}\n <div className={cn(icon ? \"pl-7\" : \"\")}>\n {title && <AlertTitle>{title}</AlertTitle>}\n {description && <AlertDescription>{description}</AlertDescription>}\n {!title && !description && children}\n </div>\n {dismissible && (\n <button\n onClick={() => {\n setIsOpen(false);\n onDismiss?.();\n }}\n className=\"absolute right-4 top-4 opacity-70 hover:opacity-100 transition-opacity\"\n aria-label=\"Dismiss\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n )}\n </>\n );\n\n if (animate) {\n return (\n <motion.div\n ref={ref}\n role=\"alert\"\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 10 }}\n transition={{ duration: 0.3 }}\n className={cn(alertVariants({ variant }), className)}\n {...(props as unknown as HTMLMotionProps<\"div\">)}\n >\n {content}\n </motion.div>\n );\n }\n\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n >\n {content}\n </div>\n );\n }\n)\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-semibold leading-none tracking-tight text-base\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm opacity-90 [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }\n","\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as SonnerToaster } from \"sonner\"\n\ntype ToasterProps = React.ComponentProps<typeof SonnerToaster>\n\nexport function Toaster({ ...props }: ToasterProps) {\n const { theme = \"system\" } = useTheme()\n\n return (\n <SonnerToaster\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { toast } from \"sonner\"\n","import { cn } from \"../utils/cn\"\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The width of the skeleton\n */\n width?: string | number;\n /**\n * The height of the skeleton\n */\n height?: string | number;\n /**\n * The variant of the skeleton\n * @default \"rect\"\n */\n variant?: \"line\" | \"circle\" | \"rect\";\n /**\n * The number of skeletons to render\n * @default 1\n */\n count?: number;\n /**\n * Whether the skeleton is animated\n * @default true\n */\n animated?: boolean;\n}\n\nfunction Skeleton({\n className,\n width,\n height,\n variant = \"rect\",\n count = 1,\n animated = true,\n style,\n ...props\n}: SkeletonProps) {\n const variantClasses = {\n rect: \"rounded-md\",\n circle: \"rounded-full\",\n line: \"rounded-sm h-4\",\n };\n\n const skeletons = Array.from({ length: count }).map((_, index) => (\n <div\n key={index}\n className={cn(\n animated ? \"animate-pulse\" : \"\",\n \"bg-muted border border-border/50\",\n variantClasses[variant],\n className\n )}\n style={{\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n ...style,\n }}\n {...props}\n />\n ));\n\n if (count > 1) {\n return <div className=\"space-y-2\">{skeletons}</div>;\n }\n\n return skeletons[0];\n}\n\nexport { Skeleton }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../utils/cn\"\n\nexport interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The current value of the progress bar\n * @default 0\n */\n value?: number;\n /**\n * The maximum value of the progress bar\n * @default 100\n */\n max?: number;\n /**\n * The variant of the progress bar\n * @default \"default\"\n */\n variant?: \"default\" | \"success\" | \"warning\" | \"error\";\n /**\n * Whether to show the percentage label\n * @default false\n */\n showLabel?: boolean;\n /**\n * The size of the progress bar\n * @default \"default\"\n */\n size?: \"default\" | \"sm\" | \"lg\";\n /**\n * Whether the progress bar is animated\n * @default true\n */\n animated?: boolean;\n /**\n * Whether the progress bar is in an indeterminate loading state\n * @default false\n */\n isIndeterminate?: boolean;\n}\n\nconst Progress = React.forwardRef<HTMLDivElement, ProgressProps>(\n ({ className, value = 0, max = 100, variant = \"default\", showLabel = false, size = \"default\", animated = true, isIndeterminate = false, ...props }, ref) => {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n\n const variantClasses = {\n default: \"bg-primary\",\n success: \"bg-emerald-500\",\n warning: \"bg-amber-500\",\n error: \"bg-red-500\",\n };\n\n const sizeClasses = {\n default: \"h-4\",\n sm: \"h-2\",\n lg: \"h-6\",\n };\n\n return (\n <div className=\"w-full space-y-1\">\n {showLabel && !isIndeterminate && (\n <div className=\"flex justify-between text-sm font-medium\">\n <span>Progress</span>\n <span>{Math.round(percentage)}%</span>\n </div>\n )}\n <div\n ref={ref}\n className={cn(\n \"relative w-full overflow-hidden rounded-full bg-secondary border border-border\",\n sizeClasses[size],\n className\n )}\n {...props}\n >\n {isIndeterminate ? (\n <div\n className={cn(\n \"h-full w-full bg-primary/80 bg-gradient-to-r from-primary/30 via-primary to-primary/30 rounded-full\"\n )}\n style={{\n animation: \"pulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite\",\n }}\n />\n ) : (\n <div\n className={cn(\n \"h-full transition-all ease-in-out\",\n variantClasses[variant],\n animated ? \"duration-500\" : \"duration-0\"\n )}\n style={{ width: `${percentage}%` }}\n />\n )}\n </div>\n </div>\n )\n }\n)\nProgress.displayName = \"Progress\"\n\nexport { Progress }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\nimport { cn } from \"../utils/cn\"\n\nexport interface SliderProps {\n /**\n * The minimum value\n * @default 0\n */\n min?: number;\n /**\n * The maximum value\n * @default 100\n */\n max?: number;\n /**\n * The step value\n * @default 1\n */\n step?: number;\n /**\n * The current value\n */\n value?: number;\n /**\n * Callback function called when the value changes\n */\n onChange?: (value: number) => void;\n /**\n * Whether to show the current value\n * @default false\n */\n showValue?: boolean;\n /**\n * The variant of the slider\n * @default \"default\"\n */\n variant?: \"default\" | \"success\" | \"warning\" | \"error\";\n /**\n * Additional class names\n */\n className?: string;\n}\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>(({ min = 0, max = 100, step = 1, value = 0, onChange, showValue = false, variant = \"default\", className, ...props }, ref) => {\n const handleValueChange = (val: number[]) => {\n onChange?.(val[0]);\n };\n\n const variantClasses = {\n default: \"bg-primary\",\n success: \"bg-emerald-500\",\n warning: \"bg-amber-500\",\n error: \"bg-red-500\",\n };\n\n return (\n <div className=\"w-full space-y-2\">\n {showValue && (\n <div className=\"flex justify-between text-sm font-medium\">\n <span>Value</span>\n <span>{value}</span>\n </div>\n )}\n <SliderPrimitive.Root\n ref={ref}\n min={min}\n max={max}\n step={step}\n value={[value]}\n onValueChange={handleValueChange}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className={cn(\"absolute h-full\", variantClasses[variant])} />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n </div>\n )\n})\nSlider.displayName = \"Slider\"\n\nexport { Slider }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, HTMLMotionProps } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { buttonVariants } from \"./button\"\nimport type { VariantProps } from \"class-variance-authority\"\n\n/** Props shared by all special button variants */\ninterface SpecialButtonBaseProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n children?: React.ReactNode\n className?: string\n}\n\n// ============================================\n// 1. GlowButton — A button with a radial glow effect behind it\n// ============================================\nexport interface GlowButtonProps extends SpecialButtonBaseProps {\n /** Color of the glow behind the button */\n glowColor?: string\n}\n\nexport const GlowButton = React.forwardRef<HTMLButtonElement, GlowButtonProps>(\n ({ className, variant, size, glowColor = \"rgba(139, 92, 246, 0.15)\", children, ...props }, ref) => {\n // Destructure props that conflict with framer-motion\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props\n\n return (\n <div className=\"relative group\">\n <div\n className=\"absolute -inset-0.5 bg-gradient-to-r from-primary to-purple-600 rounded-lg blur opacity-75 group-hover:opacity-100 transition duration-1000 group-hover:duration-200 animate-tilt\"\n style={{ backgroundColor: glowColor }}\n />\n <motion.button\n className={cn(buttonVariants({ variant, size, className }), \"relative bg-background\")}\n ref={ref}\n whileHover={{ scale: 1.01 }}\n whileTap={{ scale: 0.98 }}\n {...(motionSafeProps as HTMLMotionProps<\"button\">)}\n >\n {children}\n </motion.button>\n </div>\n )\n }\n)\nGlowButton.displayName = \"GlowButton\"\n\n// ============================================\n// 2. ShinyButton — A button with a shiny light effect moving across it\n// ============================================\nexport const ShinyButton = React.forwardRef<HTMLButtonElement, SpecialButtonBaseProps>(\n ({ className, variant, size, children, ...props }, ref) => {\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props\n\n return (\n <motion.button\n className={cn(\n buttonVariants({ variant, size, className }),\n \"relative overflow-hidden group\"\n )}\n ref={ref}\n whileHover={{ scale: 1.01 }}\n whileTap={{ scale: 0.98 }}\n {...(motionSafeProps as HTMLMotionProps<\"button\">)}\n >\n <span className=\"relative z-10\">{children}</span>\n <div className=\"absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 bg-gradient-to-r from-transparent via-white/20 to-transparent\" />\n </motion.button>\n )\n }\n)\nShinyButton.displayName = \"ShinyButton\"\n\n// ============================================\n// 3. GradientButton — A button with a beautiful gradient background\n// ============================================\nexport const GradientButton = React.forwardRef<HTMLButtonElement, SpecialButtonBaseProps>(\n ({ className, size, children, ...props }, ref) => {\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, variant, ...motionSafeProps } = props as SpecialButtonBaseProps\n\n return (\n <motion.button\n className={cn(\n buttonVariants({ size, className }),\n \"bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white border-0 hover:opacity-90 shadow-lg shadow-purple-500/20\"\n )}\n ref={ref}\n whileHover={{ scale: 1.02 }}\n whileTap={{ scale: 0.98 }}\n {...(motionSafeProps as HTMLMotionProps<\"button\">)}\n >\n {children}\n </motion.button>\n )\n }\n)\nGradientButton.displayName = \"GradientButton\"\n\n// ============================================\n// 4. GlassButton — A glassmorphic button\n// ============================================\nexport const GlassButton = React.forwardRef<HTMLButtonElement, SpecialButtonBaseProps>(\n ({ className, size, children, ...props }, ref) => {\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, variant, ...motionSafeProps } = props as SpecialButtonBaseProps\n\n return (\n <motion.button\n className={cn(\n buttonVariants({ size, className }),\n \"bg-white/5 backdrop-blur-md border border-white/10 hover:bg-white/10 text-foreground\"\n )}\n ref={ref}\n whileHover={{ scale: 1.01 }}\n whileTap={{ scale: 0.98 }}\n {...(motionSafeProps as HTMLMotionProps<\"button\">)}\n >\n {children}\n </motion.button>\n )\n }\n)\nGlassButton.displayName = \"GlassButton\"\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { X, Info, AlertTriangle, CheckCircle, AlertCircle } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { Button } from \"./button\"\n\nconst alertVariants = {\n info: {\n icon: Info,\n color: \"text-blue-500 bg-blue-500/10 border-blue-500/20\",\n gradient: \"from-blue-500 to-cyan-500\"\n },\n warning: {\n icon: AlertTriangle,\n color: \"text-yellow-500 bg-yellow-500/10 border-yellow-500/20\",\n gradient: \"from-yellow-500 to-orange-500\"\n },\n success: {\n icon: CheckCircle,\n color: \"text-green-500 bg-green-500/10 border-green-500/20\",\n gradient: \"from-green-500 to-emerald-500\"\n },\n error: {\n icon: AlertCircle,\n color: \"text-red-500 bg-red-500/10 border-red-500/20\",\n gradient: \"from-red-500 to-pink-500\"\n }\n}\n\ninterface SpecialAlertProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: keyof typeof alertVariants\n title?: string\n description?: string\n}\n\n// 1. Glass Alert - A glassmorphic alert\nexport function GlassAlert({ variant = \"info\", title, description, className, ...props }: SpecialAlertProps) {\n const Icon = alertVariants[variant].icon\n return (\n <div\n className={cn(\n \"relative overflow-hidden rounded-xl border p-4 backdrop-blur-md\",\n \"bg-white/5 border-white/10 dark:bg-black/20 dark:border-white/5\",\n className\n )}\n {...props}\n >\n <div className=\"flex gap-3\">\n <div className={cn(\"p-2 rounded-full h-fit\", alertVariants[variant].color)}>\n <Icon className=\"h-4 w-4\" />\n </div>\n <div className=\"flex-1 space-y-1\">\n {title && <h5 className=\"font-semibold leading-none tracking-tight\">{title}</h5>}\n {description && <div className=\"text-sm text-muted-foreground\">{description}</div>}\n </div>\n </div>\n </div>\n )\n}\n\n// 2. Gradient Alert - An alert with a gradient border or background\nexport function GradientAlert({ variant = \"info\", title, description, className, ...props }: SpecialAlertProps) {\n const Icon = alertVariants[variant].icon\n return (\n <div\n className={cn(\n \"relative overflow-hidden rounded-xl border p-4 bg-background\",\n className\n )}\n {...props}\n >\n <div className={cn(\"absolute inset-0 opacity-5 bg-gradient-to-r\", alertVariants[variant].gradient)} />\n <div className=\"flex gap-3 relative z-10\">\n <div className={cn(\"p-2 rounded-full h-fit\", alertVariants[variant].color)}>\n <Icon className=\"h-4 w-4\" />\n </div>\n <div className=\"flex-1 space-y-1\">\n {title && <h5 className=\"font-semibold leading-none tracking-tight\">{title}</h5>}\n {description && <div className=\"text-sm text-muted-foreground\">{description}</div>}\n </div>\n </div>\n </div>\n )\n}\n\n// 3. Dismissible Alert - An alert with a close button\nexport function DismissibleAlert({ variant = \"info\", title, description, className, ...props }: SpecialAlertProps) {\n const [visible, setVisible] = React.useState(true)\n const Icon = alertVariants[variant].icon\n // Destructure HTML event handlers that conflict with framer-motion\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...restProps } = props\n\n return (\n <AnimatePresence>\n {visible && (\n <motion.div\n initial={{ opacity: 0, y: -10 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, scale: 0.95 }}\n className={cn(\n \"relative overflow-hidden rounded-xl border p-4 bg-background flex gap-3\",\n className\n )}\n >\n <div className={cn(\"p-2 rounded-full h-fit\", alertVariants[variant].color)}>\n <Icon className=\"h-4 w-4\" />\n </div>\n <div className=\"flex-1 space-y-1\">\n {title && <h5 className=\"font-semibold leading-none tracking-tight\">{title}</h5>}\n {description && <div className=\"text-sm text-muted-foreground\">{description}</div>}\n </div>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-8 w-8 -mr-2 -mt-2\"\n onClick={() => setVisible(false)}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </motion.div>\n )}\n </AnimatePresence>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Search, Eye, EyeOff, X } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { Input } from \"./input\"\nimport { Button } from \"./button\"\n\n// 1. Search Input - Input with a search icon\nexport const SearchInput = React.forwardRef<HTMLInputElement, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => {\n return (\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n className={cn(\"pl-10\", className)}\n ref={ref}\n {...props}\n />\n </div>\n )\n }\n)\nSearchInput.displayName = \"SearchInput\"\n\n// 2. Password Input - Input with show/hide toggle\nexport const PasswordInput = React.forwardRef<HTMLInputElement, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => {\n const [show, setShow] = React.useState(false)\n\n return (\n <div className=\"relative\">\n <Input\n type={show ? \"text\" : \"password\"}\n className={cn(\"pr-10\", className)}\n ref={ref}\n {...props}\n />\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8\"\n onClick={() => setShow(!show)}\n type=\"button\"\n >\n {show ? <EyeOff className=\"h-4 w-4\" /> : <Eye className=\"h-4 w-4\" />}\n </Button>\n </div>\n )\n }\n)\nPasswordInput.displayName = \"PasswordInput\"\n\n// 3. Glass Input - Glassmorphic input\nexport const GlassInput = React.forwardRef<HTMLInputElement, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => {\n return (\n <Input\n className={cn(\n \"bg-white/5 backdrop-blur-md border-white/10 focus:border-white/20 focus:ring-0\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nGlassInput.displayName = \"GlassInput\"\n\n// 4. Gradient Input - Input with gradient border on focus\nexport const GradientInput = React.forwardRef<HTMLInputElement, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => {\n return (\n <div className=\"relative group rounded-md overflow-hidden\">\n <div className=\"absolute inset-0 bg-gradient-to-r from-pink-500 via-red-500 to-yellow-500 opacity-0 group-focus-within:opacity-100 transition-opacity duration-300\" />\n <Input\n className={cn(\"relative m-[1px] bg-background\", className)}\n ref={ref}\n {...props}\n />\n </div>\n )\n }\n)\nGradientInput.displayName = \"GradientInput\"\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from \"./card\"\n\n// 1. Glass Card - Glassmorphic card\nexport function GlassCard({ className, ...props }: React.ComponentProps<typeof Card>) {\n return (\n <Card\n className={cn(\n \"bg-white/5 backdrop-blur-md border-white/10 dark:bg-black/20 dark:border-white/5\",\n className\n )}\n {...props}\n />\n )\n}\n\n// 2. Glow Card - Card with a glow effect on hover\nexport function GlowCard({ className, ...props }: React.ComponentProps<typeof Card>) {\n return (\n <div className=\"relative group\">\n <div className=\"absolute -inset-0.5 bg-gradient-to-r from-pink-600 to-purple-600 rounded-lg blur opacity-0 group-hover:opacity-75 transition duration-1000 group-hover:duration-200\" />\n <Card\n className={cn(\"relative bg-background\", className)}\n {...props}\n />\n </div>\n )\n}\n\n// 3. Gradient Card - Card with a gradient background\nexport function GradientCard({ className, ...props }: React.ComponentProps<typeof Card>) {\n return (\n <Card\n className={cn(\n \"bg-gradient-to-br from-indigo-500/10 via-purple-500/10 to-pink-500/10 border-purple-500/20\",\n className\n )}\n {...props}\n />\n )\n}\n\n// 4. Hover Card - Card that lifts on hover\nexport function HoverCard({ className, ...props }: React.ComponentProps<typeof Card>) {\n return (\n <motion.div\n whileHover={{ y: -5, boxShadow: \"0 10px 30px -15px rgba(0,0,0,0.3)\" }}\n transition={{ type: \"spring\", stiffness: 400, damping: 17 }}\n >\n <Card\n className={cn(className)}\n {...props}\n />\n </motion.div>\n )\n}\n\n\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { Check, Copy, LucideIcon } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { Button } from \"./button\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"./avatar\"\nimport { Badge } from \"./badge\"\n\n// 1. Kbd - Keyboard shortcut component\nexport function Kbd({ className, children, ...props }: React.HTMLAttributes<HTMLElement>) {\n return (\n <kbd\n className={cn(\n \"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100\",\n className\n )}\n {...props}\n >\n {children}\n </kbd>\n )\n}\n\n// 2. AvatarGroup - Overlapping avatars\ninterface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n limit?: number\n items: { src?: string; fallback: string }[]\n}\n\nexport function AvatarGroup({ items, limit = 3, className, ...props }: AvatarGroupProps) {\n const visibleItems = items.slice(0, limit)\n const remaining = items.length - limit\n\n return (\n <div className={cn(\"flex -space-x-3 items-center\", className)} {...props}>\n {visibleItems.map((item, index) => (\n <Avatar key={index} className=\"border-2 border-background w-8 h-8\">\n {item.src && <AvatarImage src={item.src} />}\n <AvatarFallback>{item.fallback}</AvatarFallback>\n </Avatar>\n ))}\n {remaining > 0 && (\n <div className=\"flex items-center justify-center w-8 h-8 rounded-full bg-muted border-2 border-background text-xs font-medium\">\n +{remaining}\n </div>\n )}\n </div>\n )\n}\n\n// 3. StatCard - Individual stat card\ninterface StatCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n value: string\n description?: string\n icon?: LucideIcon\n trend?: {\n value: string\n positive: boolean\n }\n}\n\nexport function StatCard({ title, value, description, icon: Icon, trend, className, ...props }: StatCardProps) {\n return (\n <div\n className={cn(\n \"rounded-xl border border-border bg-card p-6 shadow-sm hover:shadow-md transition-shadow\",\n className\n )}\n {...props}\n >\n <div className=\"flex justify-between items-start\">\n <div className=\"space-y-2\">\n <p className=\"text-sm font-medium text-muted-foreground\">{title}</p>\n <div className=\"flex items-baseline space-x-2\">\n <h2 className=\"text-3xl font-bold tracking-tight\">{value}</h2>\n {trend && (\n <span\n className={cn(\n \"text-xs font-medium px-1.5 py-0.5 rounded-full\",\n trend.positive ? \"bg-green-500/10 text-green-500\" : \"bg-red-500/10 text-red-500\"\n )}\n >\n {trend.positive ? \"+\" : \"-\"}{trend.value}\n </span>\n )}\n </div>\n {description && <p className=\"text-xs text-muted-foreground\">{description}</p>}\n </div>\n {Icon && (\n <div className=\"p-2 bg-muted rounded-md\">\n <Icon className=\"h-5 w-5 text-muted-foreground\" />\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// 4. Timeline - Vertical timeline\ninterface TimelineItem {\n title: string\n description: string\n time: string\n status?: \"completed\" | \"current\" | \"upcoming\"\n}\n\nexport function Timeline({ items, className }: { items: TimelineItem[]; className?: string }) {\n return (\n <div className={cn(\"space-y-8\", className)}>\n {items.map((item, index) => (\n <div key={index} className=\"relative flex gap-6 pb-8 last:pb-0\">\n {index !== items.length - 1 && (\n <div className=\"absolute left-[11px] top-4 h-full w-[2px] bg-border\" />\n )}\n <div\n className={cn(\n \"relative z-10 flex h-6 w-6 shrink-0 items-center justify-center rounded-full border-2\",\n item.status === \"completed\" && \"border-primary bg-primary text-primary-foreground\",\n item.status === \"current\" && \"border-primary bg-background\",\n item.status === \"upcoming\" && \"border-border bg-muted\"\n )}\n >\n {item.status === \"completed\" && <Check className=\"h-3 w-3\" />}\n {item.status === \"current\" && <div className=\"h-2 w-2 rounded-full bg-primary\" />}\n </div>\n <div className=\"space-y-1.5\">\n <div className=\"flex items-center gap-2\">\n <h4 className=\"font-semibold\">{item.title}</h4>\n <span className=\"text-xs text-muted-foreground\">{item.time}</span>\n </div>\n <p className=\"text-sm text-muted-foreground\">{item.description}</p>\n </div>\n </div>\n ))}\n </div>\n )\n}\n\n// 5. CodeBlock - Code block with copy button\ninterface CodeBlockProps extends React.HTMLAttributes<HTMLDivElement> {\n code: string\n language?: string\n}\n\nexport function CodeBlock({ code, language, className, ...props }: CodeBlockProps) {\n const [copied, setCopied] = React.useState(false)\n\n const handleCopy = () => {\n navigator.clipboard.writeText(code)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }\n\n return (\n <div className={cn(\"relative rounded-lg border bg-muted/50 p-4 font-mono text-sm overflow-hidden\", className)} {...props}>\n <div className=\"absolute right-4 top-4\">\n <Button variant=\"ghost\" size=\"icon\" className=\"h-8 w-8\" onClick={handleCopy}>\n {copied ? <Check className=\"h-4 w-4\" /> : <Copy className=\"h-4 w-4\" />}\n </Button>\n </div>\n {language && (\n <div className=\"absolute left-4 top-2 text-xs text-muted-foreground uppercase\">\n {language}\n </div>\n )}\n <pre className={cn(\"overflow-x-auto\", language && \"pt-6\")}>\n <code>{code}</code>\n </pre>\n </div>\n )\n}\n\n// 6. PricingCard - Premium pricing card\ninterface PricingCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n price: string\n description: string\n features: string[]\n buttonText?: string\n popular?: boolean\n}\n\nexport function PricingCard({ title, price, description, features, buttonText = \"Get Started\", popular = false, className, ...props }: PricingCardProps) {\n return (\n <div\n className={cn(\n \"rounded-2xl border bg-card p-6 flex flex-col justify-between relative\",\n popular && \"border-primary shadow-lg shadow-primary/5\",\n className\n )}\n {...props}\n >\n {popular && (\n <div className=\"absolute -top-3 left-1/2 -translate-x-1/2 bg-primary text-primary-foreground text-xs font-semibold px-3 py-1 rounded-full\">\n Most Popular\n </div>\n )}\n <div>\n <div className=\"space-y-1.5 mb-6\">\n <h3 className=\"text-xl font-bold\">{title}</h3>\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n </div>\n <div className=\"mb-6\">\n <span className=\"text-4xl font-bold\">{price}</span>\n <span className=\"text-muted-foreground\">/mo</span>\n </div>\n <ul className=\"space-y-3 mb-6 text-sm\">\n {features.map((feature, index) => (\n <li key={index} className=\"flex items-center gap-2\">\n <Check className=\"h-4 w-4 text-primary\" />\n <span>{feature}</span>\n </li>\n ))}\n </ul>\n </div>\n <Button variant={popular ? \"default\" : \"outline\"} className=\"w-full\">\n {buttonText}\n </Button>\n </div>\n )\n}\n\n// 7. Divider - Simple divider line\nexport interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The orientation of the divider\n * @default \"horizontal\"\n */\n orientation?: \"horizontal\" | \"vertical\";\n}\n\nexport function Divider({ orientation = \"horizontal\", className, ...props }: DividerProps) {\n return (\n <div\n className={cn(\n \"bg-border shrink-0\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"w-[1px] h-full\",\n className\n )}\n {...props}\n />\n );\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronRight, MoreHorizontal, ChevronLeft, Check } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { Button } from \"./button\"\nimport { motion } from \"framer-motion\"\n\n// 1. Breadcrumb - Navigation path\ninterface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {\n items: { label: string; href?: string }[]\n separator?: React.ReactNode\n}\n\nexport function Breadcrumb({ items, separator = <ChevronRight className=\"h-4 w-4\" />, className, ...props }: BreadcrumbProps) {\n return (\n <nav className={cn(\"flex items-center text-sm text-muted-foreground bg-muted/30 backdrop-blur-sm px-4 py-2 rounded-lg border border-border/50 width-fit\", className)} {...props}>\n <ol className=\"flex items-center space-x-2\">\n {items.map((item, index) => (\n <li key={index} className=\"flex items-center space-x-2\">\n {index > 0 && <span className=\"text-muted-foreground/50\">{separator}</span>}\n {item.href ? (\n <a href={item.href} className=\"hover:text-primary transition-colors font-medium\">\n {item.label}\n </a>\n ) : (\n <span className=\"font-semibold text-foreground\">{item.label}</span>\n )}\n </li>\n ))}\n </ol>\n </nav>\n )\n}\n\n// 2. Pagination - Page navigation\ninterface PaginationProps extends React.HTMLAttributes<HTMLElement> {\n totalPages: number\n currentPage: number\n onPageChange?: (page: number) => void\n}\n\nexport function Pagination({ totalPages, currentPage, onPageChange, className, ...props }: PaginationProps) {\n const pages = Array.from({ length: totalPages }, (_, i) => i + 1)\n\n return (\n <nav className={cn(\"flex justify-center\", className)} {...props}>\n <ul className=\"flex items-center space-x-2\">\n <li>\n <Button\n variant=\"outline\"\n size=\"icon\"\n disabled={currentPage === 1}\n onClick={() => onPageChange?.(currentPage - 1)}\n className=\"rounded-full\"\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </Button>\n </li>\n {pages.map((page) => (\n <li key={page}>\n <Button\n variant={currentPage === page ? \"default\" : \"outline\"}\n size=\"icon\"\n onClick={() => onPageChange?.(page)}\n className={cn(\"rounded-full\", currentPage === page && \"shadow-lg shadow-primary/30\")}\n >\n {page}\n </Button>\n </li>\n ))}\n <li>\n <Button\n variant=\"outline\"\n size=\"icon\"\n disabled={currentPage === totalPages}\n onClick={() => onPageChange?.(currentPage + 1)}\n className=\"rounded-full\"\n >\n <ChevronRight className=\"h-4 w-4\" />\n </Button>\n </li>\n </ul>\n </nav>\n )\n}\n\n// 3. Steps - Visual progress steps\ninterface Step {\n title: string\n description?: string\n status: \"complete\" | \"current\" | \"upcoming\"\n}\n\nexport function Steps({ items, className }: { items: Step[]; className?: string }) {\n return (\n <div className={cn(\"space-y-6\", className)}>\n {items.map((item, index) => (\n <div key={index} className=\"flex items-start gap-4 group\">\n <div className=\"flex flex-col items-center\">\n <motion.div\n initial={{ scale: 0.8, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n transition={{ delay: index * 0.1 }}\n className={cn(\n \"flex h-9 w-9 items-center justify-center rounded-full border-2 text-sm font-bold transition-all duration-300\",\n item.status === \"complete\" && \"border-transparent bg-gradient-to-br from-emerald-500 to-emerald-600 text-white shadow-lg shadow-emerald-500/20\",\n item.status === \"current\" && \"border-primary bg-background text-primary shadow-lg shadow-primary/20 ring-4 ring-primary/10\",\n item.status === \"upcoming\" && \"border-muted-foreground/30 bg-muted text-muted-foreground\"\n )}\n >\n {item.status === \"complete\" ? (\n <Check className=\"h-5 w-5 stroke-[3]\" />\n ) : (\n <span>{index + 1}</span>\n )}\n </motion.div>\n {index !== items.length - 1 && (\n <div className={cn(\n \"h-full w-[2px] min-h-[30px] my-2 transition-colors duration-300\",\n item.status === \"complete\" ? \"bg-emerald-500\" : \"bg-border\"\n )} />\n )}\n </div>\n <div className=\"pt-1.5 flex-1\">\n <h4 className={cn(\"font-semibold text-base transition-colors\", item.status === \"current\" && \"text-primary\")}>{item.title}</h4>\n {item.description && (\n <p className=\"text-sm text-muted-foreground mt-0.5 leading-relaxed\">{item.description}</p>\n )}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Badge, badgeVariants } from \"./badge\"\nimport { VariantProps } from \"class-variance-authority\"\n\n// 1. GlowBadge\nexport function GlowBadge({ className, variant, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <div className=\"relative inline-flex group\">\n <div className=\"absolute -inset-0.5 bg-gradient-to-r from-primary to-purple-600 rounded-full blur opacity-50 group-hover:opacity-100 transition duration-500\" />\n <Badge className={cn(\"relative\", className)} variant={variant} {...props} />\n </div>\n )\n}\n\n// 2. GlassBadge\nexport function GlassBadge({ className, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <Badge\n className={cn(\n \"bg-white/10 backdrop-blur-md border border-white/20 text-foreground hover:bg-white/20\",\n className\n )}\n {...props}\n />\n )\n}\n\n// 3. DotBadge\ninterface DotBadgeProps extends React.ComponentProps<typeof Badge> {\n dotColor?: string\n}\nexport function DotBadge({ className, dotColor = \"bg-green-500\", children, ...props }: DotBadgeProps) {\n return (\n <Badge className={cn(\"pl-2.5\", className)} variant=\"outline\" {...props}>\n <span className={cn(\"mr-1.5 flex h-2 w-2 rounded-full\", dotColor)} />\n {children}\n </Badge>\n )\n}\n\n// 4. GradientBadge\nexport function GradientBadge({ className, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <Badge\n className={cn(\n \"bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500 text-white border-0 hover:opacity-90\",\n className\n )}\n {...props}\n />\n )\n}\n\n// 5. OutlineGlowBadge\nexport function OutlineGlowBadge({ className, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <Badge\n variant=\"outline\"\n className={cn(\n \"border-primary text-primary hover:bg-primary/10 shadow-[0_0_10px_rgba(var(--color-primary),0.3)]\",\n className\n )}\n {...props}\n />\n )\n}\n\n// 6. AnimatedBadge (Pulsing)\nexport function PulseBadge({ className, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <motion.div\n animate={{ scale: [1, 1.05, 1] }}\n transition={{ repeat: Infinity, duration: 2 }}\n className=\"inline-block\"\n >\n <Badge className={className} {...props} />\n </motion.div>\n )\n}\n\n// 7. SoftBadge\nexport function SoftBadge({ className, variant = \"default\", ...props }: React.ComponentProps<typeof Badge>) {\n const softClasses = {\n default: \"bg-primary/10 text-primary hover:bg-primary/20 border-transparent\",\n secondary: \"bg-secondary/20 text-secondary-foreground hover:bg-secondary/30 border-transparent\",\n destructive: \"bg-destructive/10 text-destructive hover:bg-destructive/20 border-transparent\",\n outline: \"\",\n ghost: \"\"\n }[variant as string] || \"\"\n\n return (\n <Badge className={cn(softClasses, className)} variant=\"outline\" {...props} />\n )\n}\n\n// 8. TagBadge (with closing 'x')\nexport function TagBadge({ className, children, onRemove, ...props }: React.ComponentProps<typeof Badge> & { onRemove?: () => void }) {\n return (\n <Badge className={cn(\"pr-1\", className)} {...props}>\n {children}\n <button\n type=\"button\"\n className=\"ml-1 rounded-full p-0.5 hover:bg-black/20 dark:hover:bg-white/20 transition-colors\"\n onClick={(e) => {\n e.stopPropagation()\n onRemove?.()\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>\n </button>\n </Badge>\n )\n}\n\n// 9. PremiumBadge\nexport function PremiumBadge({ className, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <Badge\n className={cn(\n \"bg-gradient-to-br from-amber-200 to-yellow-500 text-black border border-yellow-300 shadow-sm font-semibold\",\n className\n )}\n {...props}\n />\n )\n}\n\n// 10. MinimalBadge\nexport function MinimalBadge({ className, ...props }: React.ComponentProps<typeof Badge>) {\n return (\n <Badge\n className={cn(\n \"bg-transparent border-b-2 border-b-primary rounded-none px-1 py-0 text-foreground hover:bg-muted/50\",\n className\n )}\n {...props}\n />\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// 1. SpinnerLoader\nexport function SpinnerLoader({ className, size = 24 }: { className?: string; size?: number }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cn(\"animate-spin text-primary\", className)}\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n )\n}\n\n// 2. DotsLoader\nexport function DotsLoader({ className }: { className?: string }) {\n return (\n <div className={cn(\"flex space-x-1.5 items-center\", className)}>\n <motion.div animate={{ y: [0, -5, 0] }} transition={{ repeat: Infinity, duration: 0.6, delay: 0 }} className=\"w-2 h-2 rounded-full bg-primary\" />\n <motion.div animate={{ y: [0, -5, 0] }} transition={{ repeat: Infinity, duration: 0.6, delay: 0.2 }} className=\"w-2 h-2 rounded-full bg-primary\" />\n <motion.div animate={{ y: [0, -5, 0] }} transition={{ repeat: Infinity, duration: 0.6, delay: 0.4 }} className=\"w-2 h-2 rounded-full bg-primary\" />\n </div>\n )\n}\n\n// 3. PulseLoader\nexport function PulseLoader({ className }: { className?: string }) {\n return (\n <div className={cn(\"relative flex h-5 w-5\", className)}>\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-5 w-5 bg-primary\"></span>\n </div>\n )\n}\n\n// 4. BarLoader\nexport function BarLoader({ className }: { className?: string }) {\n return (\n <div className={cn(\"flex space-x-1\", className)}>\n <motion.div animate={{ scaleY: [1, 2, 1] }} transition={{ repeat: Infinity, duration: 0.8, delay: 0 }} className=\"w-1.5 h-4 bg-primary rounded-full origin-bottom\" />\n <motion.div animate={{ scaleY: [1, 2, 1] }} transition={{ repeat: Infinity, duration: 0.8, delay: 0.2 }} className=\"w-1.5 h-4 bg-primary rounded-full origin-bottom\" />\n <motion.div animate={{ scaleY: [1, 2, 1] }} transition={{ repeat: Infinity, duration: 0.8, delay: 0.4 }} className=\"w-1.5 h-4 bg-primary rounded-full origin-bottom\" />\n </div>\n )\n}\n\n// 5. CircleLoader\nexport function CircleLoader({ className, size = 32 }: { className?: string; size?: number }) {\n return (\n <div className={cn(\"relative\", className)} style={{ width: size, height: size }}>\n <div className=\"absolute inset-0 rounded-full border-2 border-primary/20\" />\n <div className=\"absolute inset-0 rounded-full border-2 border-t-primary border-r-transparent border-b-transparent border-l-transparent animate-spin\" />\n </div>\n )\n}\n\n// 6. RingLoader\nexport function RingLoader({ className }: { className?: string }) {\n return (\n <div className={cn(\"inline-block relative w-10 h-10\", className)}>\n <motion.div \n className=\"absolute inset-0 rounded-full border-4 border-primary border-t-transparent\"\n animate={{ rotate: 360 }}\n transition={{ repeat: Infinity, duration: 1.2, ease: \"linear\" }}\n />\n <motion.div \n className=\"absolute inset-2 rounded-full border-4 border-secondary border-b-transparent\"\n animate={{ rotate: -360 }}\n transition={{ repeat: Infinity, duration: 1.5, ease: \"linear\" }}\n />\n </div>\n )\n}\n\n// 7. TextLoader\nexport function TextLoader({ text = \"Loading...\", className }: { text?: string; className?: string }) {\n return (\n <div className={cn(\"font-mono text-sm font-medium flex items-center gap-2\", className)}>\n <span>{text}</span>\n <span className=\"flex gap-0.5\">\n <motion.span animate={{ opacity: [0, 1, 0] }} transition={{ repeat: Infinity, duration: 1.5, delay: 0 }}>.</motion.span>\n <motion.span animate={{ opacity: [0, 1, 0] }} transition={{ repeat: Infinity, duration: 1.5, delay: 0.3 }}>.</motion.span>\n <motion.span animate={{ opacity: [0, 1, 0] }} transition={{ repeat: Infinity, duration: 1.5, delay: 0.6 }}>.</motion.span>\n </span>\n </div>\n )\n}\n\n// 8. ProgressRing\nexport function ProgressRing({ progress = 50, size = 60, strokeWidth = 4, className }: { progress?: number; size?: number; strokeWidth?: number; className?: string }) {\n const radius = (size - strokeWidth) / 2\n const circumference = radius * 2 * Math.PI\n const offset = circumference - (progress / 100) * circumference\n\n return (\n <div className={cn(\"relative flex items-center justify-center\", className)} style={{ width: size, height: size }}>\n <svg className=\"transform -rotate-90\" width={size} height={size}>\n <circle\n className=\"text-muted stroke-current\"\n strokeWidth={strokeWidth}\n fill=\"transparent\"\n r={radius}\n cx={size / 2}\n cy={size / 2}\n />\n <motion.circle\n className=\"text-primary stroke-current\"\n strokeWidth={strokeWidth}\n fill=\"transparent\"\n r={radius}\n cx={size / 2}\n cy={size / 2}\n initial={{ strokeDashoffset: circumference }}\n animate={{ strokeDashoffset: offset }}\n transition={{ duration: 1, ease: \"easeInOut\" }}\n style={{ strokeDasharray: circumference, strokeLinecap: \"round\" }}\n />\n </svg>\n <span className=\"absolute text-xs font-medium\">{progress}%</span>\n </div>\n )\n}\n\n// 9. SkeletonCard\nexport function SkeletonCard({ className }: { className?: string }) {\n return (\n <div className={cn(\"border bg-card p-4 rounded-xl space-y-3 w-full max-w-sm\", className)}>\n <div className=\"flex items-center space-x-4\">\n <div className=\"w-10 h-10 rounded-full bg-muted animate-pulse\" />\n <div className=\"space-y-2\">\n <div className=\"h-4 w-[150px] bg-muted animate-pulse rounded\" />\n <div className=\"h-3 w-[100px] bg-muted animate-pulse rounded\" />\n </div>\n </div>\n <div className=\"space-y-2\">\n <div className=\"h-4 w-full bg-muted animate-pulse rounded\" />\n <div className=\"h-4 w-[80%] bg-muted animate-pulse rounded\" />\n </div>\n </div>\n )\n}\n\n// 10. ShimmerBlock\nexport function ShimmerBlock({ className }: { className?: string }) {\n return (\n <div className={cn(\"relative overflow-hidden bg-muted rounded-md h-24 w-full\", className)}>\n <motion.div\n className=\"absolute inset-0 -translate-x-full bg-gradient-to-r from-transparent via-white/10 to-transparent\"\n animate={{ translateX: [\"-100%\", \"100%\"] }}\n transition={{ repeat: Infinity, duration: 1.5, ease: \"linear\" }}\n />\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { X, AlertTriangle, CheckCircle } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\nimport { Button } from \"./button\"\nimport { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, DialogTrigger } from \"./dialog\"\n\n// ============================================\n// 1. GlassModal — Glassmorphic modal dialog\n// ============================================\nexport interface GlassModalProps {\n /** Trigger element that opens the modal */\n trigger: React.ReactNode\n /** Modal title */\n title: string\n /** Optional modal description */\n description?: string\n /** Modal body content */\n children?: React.ReactNode\n /** Control open state externally */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void\n}\n\nexport function GlassModal({ trigger, title, description, children, open, onOpenChange }: GlassModalProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild>{trigger}</DialogTrigger>\n <DialogContent className=\"bg-white/10 backdrop-blur-xl border-white/20 shadow-2xl sm:max-w-[425px]\">\n <DialogHeader>\n <DialogTitle className=\"text-foreground\">{title}</DialogTitle>\n {description && <DialogDescription className=\"text-muted-foreground\">{description}</DialogDescription>}\n </DialogHeader>\n {children}\n </DialogContent>\n </Dialog>\n )\n}\n\n// ============================================\n// 2. AlertModal — Destructive confirmation modal\n// ============================================\nexport interface AlertModalProps {\n /** Trigger element that opens the modal */\n trigger: React.ReactNode\n /** Modal title */\n title: string\n /** Optional modal description */\n description?: string\n /** Callback when user confirms the action */\n onConfirm?: () => void\n /** Modal body content */\n children?: React.ReactNode\n /** Control open state externally */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void\n}\n\nexport function AlertModal({ trigger, title, description, onConfirm, children, open, onOpenChange }: AlertModalProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild>{trigger}</DialogTrigger>\n <DialogContent className=\"sm:max-w-[400px] border-destructive/20\">\n <DialogHeader className=\"flex flex-col items-center text-center sm:text-center\">\n <div className=\"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-destructive/10 mb-4\">\n <AlertTriangle className=\"h-6 w-6 text-destructive\" />\n </div>\n <DialogTitle className=\"text-xl\">{title}</DialogTitle>\n {description && <DialogDescription>{description}</DialogDescription>}\n </DialogHeader>\n {children}\n <DialogFooter className=\"sm:justify-center flex-col sm:flex-row gap-2\">\n <Button variant=\"outline\" className=\"w-full sm:w-auto\">Cancel</Button>\n <Button variant=\"destructive\" onClick={onConfirm} className=\"w-full sm:w-auto\">Confirm</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n )\n}\n\n// ============================================\n// 3. SuccessModal — Success state modal\n// ============================================\nexport interface SuccessModalProps {\n /** Trigger element */\n trigger: React.ReactNode\n /** Modal title */\n title: string\n /** Optional description */\n description?: string\n /** Modal body content */\n children?: React.ReactNode\n /** Control open state externally */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void\n}\n\nexport function SuccessModal({ trigger, title, description, children, open, onOpenChange }: SuccessModalProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild>{trigger}</DialogTrigger>\n <DialogContent className=\"sm:max-w-[400px] border-green-500/20\">\n <DialogHeader className=\"flex flex-col items-center text-center sm:text-center\">\n <div className=\"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-green-500/10 mb-4\">\n <CheckCircle className=\"h-6 w-6 text-green-500\" />\n </div>\n <DialogTitle className=\"text-xl\">{title}</DialogTitle>\n {description && <DialogDescription>{description}</DialogDescription>}\n </DialogHeader>\n {children}\n <DialogFooter className=\"sm:justify-center\">\n <Button className=\"w-full sm:w-auto bg-green-500 hover:bg-green-600\">Awesome</Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n )\n}\n\n// ============================================\n// 4. CommandPaletteModal — Command palette style modal\n// ============================================\nexport interface CommandPaletteModalProps {\n /** Trigger element */\n trigger: React.ReactNode\n /** Control open state externally */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void\n}\n\nexport function CommandPaletteModal({ trigger, open, onOpenChange }: CommandPaletteModalProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild>{trigger}</DialogTrigger>\n <DialogContent className=\"p-0 overflow-hidden sm:max-w-[600px] gap-0\">\n <div className=\"flex items-center border-b px-3\">\n <svg className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line></svg>\n <input className=\"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\" placeholder=\"Type a command or search...\" />\n </div>\n <div className=\"max-h-[300px] overflow-y-auto p-2\">\n <div className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground\">Suggestions</div>\n <div className=\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground hover:bg-accent/50\">\n Calendar\n </div>\n <div className=\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground hover:bg-accent/50\">\n Search Emoji\n </div>\n <div className=\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground hover:bg-accent/50\">\n Calculator\n </div>\n </div>\n </DialogContent>\n </Dialog>\n )\n}\n\n// ============================================\n// 5. BottomSheetSimulated — Bottom sheet style dialog\n// ============================================\nexport interface BottomSheetSimulatedProps {\n /** Trigger element */\n trigger: React.ReactNode\n /** Content inside the bottom sheet */\n children?: React.ReactNode\n /** Control open state externally */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void\n}\n\nexport function BottomSheetSimulated({ trigger, children, open, onOpenChange }: BottomSheetSimulatedProps) {\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogTrigger asChild>{trigger}</DialogTrigger>\n <DialogContent className=\"sm:max-w-full sm:h-[50vh] sm:rounded-b-none sm:rounded-t-[10px] fixed bottom-0 top-auto translate-y-0 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\">\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DialogContent>\n </Dialog>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"./avatar\"\n\n/** Shared props for avatar components */\ninterface AvatarBaseProps {\n /** Additional CSS classes */\n className?: string\n /** Avatar image source URL */\n src?: string\n /** Fallback text/initials */\n fallback: string\n}\n\n// ============================================\n// 1. GlowAvatar — Avatar with glow effect on hover\n// ============================================\nexport function GlowAvatar({ className, src, fallback }: AvatarBaseProps) {\n return (\n <div className=\"relative inline-block group\">\n <div className=\"absolute -inset-0.5 bg-gradient-to-r from-primary to-purple-600 rounded-full blur opacity-50 group-hover:opacity-100 transition duration-500\" />\n <Avatar className={cn(\"relative border-2 border-background\", className)}>\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n </div>\n )\n}\n\n// ============================================\n// 2. StatusAvatar — Avatar with online status indicator\n// ============================================\nexport interface StatusAvatarProps extends AvatarBaseProps {\n /** Current status */\n status?: \"online\" | \"offline\" | \"busy\" | \"away\"\n}\n\nexport function StatusAvatar({ className, src, fallback, status = \"online\" }: StatusAvatarProps) {\n const statusColor = {\n online: \"bg-green-500\",\n offline: \"bg-gray-500\",\n busy: \"bg-red-500\",\n away: \"bg-yellow-500\"\n }[status] || \"bg-green-500\"\n\n return (\n <div className=\"relative inline-block\">\n <Avatar className={className}>\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n <span className={cn(\"absolute bottom-0 right-0 w-3 h-3 border-2 border-background rounded-full\", statusColor)} />\n </div>\n )\n}\n\n// ============================================\n// 3. HexagonAvatar — Hexagon-clipped avatar\n// ============================================\nexport function HexagonAvatar({ className, src, fallback }: AvatarBaseProps) {\n return (\n <Avatar \n className={cn(\"rounded-none\", className)} \n style={{ clipPath: \"polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)\" }}\n >\n {src && <AvatarImage src={src} />}\n <AvatarFallback className=\"rounded-none\">{fallback}</AvatarFallback>\n </Avatar>\n )\n}\n\n// ============================================\n// 4. SquircleAvatar — Squircle-shaped avatar\n// ============================================\nexport function SquircleAvatar({ className, src, fallback }: AvatarBaseProps) {\n return (\n <Avatar className={cn(\"rounded-2xl\", className)}>\n {src && <AvatarImage src={src} />}\n <AvatarFallback className=\"rounded-2xl\">{fallback}</AvatarFallback>\n </Avatar>\n )\n}\n\n// ============================================\n// 5. GradientRingAvatar — Avatar with gradient ring border\n// ============================================\nexport function GradientRingAvatar({ className, src, fallback }: AvatarBaseProps) {\n return (\n <div className=\"p-0.5 rounded-full bg-gradient-to-tr from-yellow-400 via-red-500 to-purple-500\">\n <Avatar className={cn(\"border-2 border-background\", className)}>\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n </div>\n )\n}\n\n// ============================================\n// 6. InitialsAvatar — Auto-colored based on name\n// ============================================\nexport interface InitialsAvatarProps {\n /** Additional CSS classes */\n className?: string\n /** User's full name for generating initials */\n name?: string\n}\n\nexport function InitialsAvatar({ className, name = \"User\" }: InitialsAvatarProps) {\n const getInitials = (n: string) => n.split(\" \").map(w => w[0]).join(\"\").substring(0, 2).toUpperCase()\n \n const colors = [\"bg-red-500\", \"bg-blue-500\", \"bg-green-500\", \"bg-yellow-500\", \"bg-purple-500\", \"bg-pink-500\"]\n const hash = name.split(\"\").reduce((acc: number, char: string) => acc + char.charCodeAt(0), 0)\n const colorClass = colors[hash % colors.length]\n\n return (\n <Avatar className={className}>\n <AvatarFallback className={cn(\"text-white font-semibold\", colorClass)}>\n {getInitials(name)}\n </AvatarFallback>\n </Avatar>\n )\n}\n\n// ============================================\n// 7. OutlineAvatar — Avatar with dashed outline border\n// ============================================\nexport function OutlineAvatar({ className, src, fallback }: AvatarBaseProps) {\n return (\n <Avatar className={cn(\"border-2 border-primary border-dashed p-0.5 bg-transparent\", className)}>\n {src && <AvatarImage src={src} className=\"rounded-full\" />}\n <AvatarFallback className=\"bg-muted text-foreground\">{fallback}</AvatarFallback>\n </Avatar>\n )\n}\n\n// ============================================\n// 8. HoverExpandAvatar — Avatar that scales on hover\n// ============================================\nexport function HoverExpandAvatar({ className, src, fallback }: AvatarBaseProps) {\n return (\n <motion.div whileHover={{ scale: 1.1 }} transition={{ type: \"spring\", stiffness: 400, damping: 10 }}>\n <Avatar className={className}>\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n </motion.div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Checkbox } from \"./checkbox\"\nimport { Switch } from \"./switch\"\nimport { Check, X } from \"lucide-react\"\n\n// ============================================\n// 1. GlowCheckbox — Checkbox with glow effect when checked\n// ============================================\nexport function GlowCheckbox({ className, ...props }: React.ComponentProps<typeof Checkbox>) {\n return (\n <div className=\"relative group inline-flex items-center justify-center\">\n <div className=\"absolute -inset-1 bg-primary rounded-full blur opacity-0 group-has-[[data-state=checked]]:opacity-30 transition-opacity\" />\n <Checkbox className={cn(\"relative\", className)} {...props} />\n </div>\n )\n}\n\n// ============================================\n// 2. CircularCheckbox — Round checkbox variant\n// ============================================\nexport function CircularCheckbox({ className, ...props }: React.ComponentProps<typeof Checkbox>) {\n return (\n <Checkbox className={cn(\"rounded-full\", className)} {...props} />\n )\n}\n\n// ============================================\n// 3. CardCheckbox — Selectable card-style checkbox\n// ============================================\nexport interface CardCheckboxProps {\n /** Title text for the card */\n title: string\n /** Optional description text */\n description?: string\n /** Whether the card is checked */\n checked?: boolean\n /** Callback when checked state changes */\n onCheckedChange?: (checked: boolean) => void\n /** Additional CSS classes */\n className?: string\n}\n\nexport function CardCheckbox({ title, description, checked, onCheckedChange, className }: CardCheckboxProps) {\n return (\n <label\n className={cn(\n \"flex cursor-pointer rounded-lg border p-4 hover:bg-accent transition-colors\",\n checked ? \"border-primary bg-primary/5\" : \"border-border bg-card\",\n className\n )}\n >\n <div className=\"flex flex-1 flex-col\">\n <span className=\"font-medium\">{title}</span>\n {description && <span className=\"text-sm text-muted-foreground\">{description}</span>}\n </div>\n <Checkbox checked={checked} onCheckedChange={onCheckedChange} className=\"ml-4 mt-0.5 rounded-full\" />\n </label>\n )\n}\n\n// ============================================\n// 4. IconSwitch — Switch with icons inside the thumb\n// ============================================\nexport interface IconSwitchProps {\n /** Whether the switch is checked */\n checked?: boolean\n /** Callback when checked state changes */\n onCheckedChange?: (checked: boolean) => void\n /** Additional CSS classes */\n className?: string\n /** Icon/emoji to show when ON */\n iconOn?: React.ReactNode\n /** Icon/emoji to show when OFF */\n iconOff?: React.ReactNode\n}\n\nexport function IconSwitch({ checked, onCheckedChange, className, iconOn, iconOff }: IconSwitchProps) {\n return (\n <Switch\n checked={checked}\n onCheckedChange={onCheckedChange}\n className={cn(\"w-14 h-7\", className)}\n >\n <span className={cn(\"pointer-events-none block h-6 w-6 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-7 data-[state=unchecked]:translate-x-0 flex items-center justify-center\")}>\n {checked ? (iconOn ? <span className=\"text-[10px]\">{iconOn}</span> : <Check className=\"h-3 w-3 text-primary\" />) : (iconOff ? <span className=\"text-[10px]\">{iconOff}</span> : <X className=\"h-3 w-3 text-muted-foreground\" />)}\n </span>\n </Switch>\n )\n}\n\n// ============================================\n// 5. ThickSwitch — A thicker switch variant\n// ============================================\nexport function ThickSwitch({ className, ...props }: React.ComponentProps<typeof Switch>) {\n return (\n <Switch \n className={cn(\"h-8 w-16 [&>span]:h-6 [&>span]:w-6 [&>span[data-state=checked]]:translate-x-8\", className)} \n {...props} \n />\n )\n}\n\n// ============================================\n// 6. GlowSwitch — Switch with glow effect when checked\n// ============================================\nexport function GlowSwitch({ className, ...props }: React.ComponentProps<typeof Switch>) {\n return (\n <div className=\"relative group inline-flex items-center\">\n <div className=\"absolute -inset-1 bg-primary rounded-full blur opacity-0 group-has-[[data-state=checked]]:opacity-40 transition-opacity\" />\n <Switch className={cn(\"relative\", className)} {...props} />\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n/** Polymorphic \"as\" prop type for typography components */\ninterface TypographyBaseProps {\n /** HTML element to render as */\n as?: React.ElementType\n /** Additional CSS classes */\n className?: string\n /** Content */\n children?: React.ReactNode\n}\n\n// ============================================\n// 1. GradientText — Text with gradient fill\n// ============================================\nexport function GradientText({ className, children, as: Component = \"span\" }: TypographyBaseProps) {\n return (\n <Component\n className={cn(\"text-transparent bg-clip-text bg-gradient-to-r from-primary via-purple-500 to-pink-500\", className)}\n >\n {children}\n </Component>\n )\n}\n\n// ============================================\n// 2. GlitchText — CSS-based glitch effect\n// ============================================\nexport interface GlitchTextProps {\n /** The text to display with glitch effect */\n text: string\n /** HTML element to render as */\n as?: React.ElementType\n /** Additional CSS classes */\n className?: string\n}\n\nexport function GlitchText({ className, text, as: Component = \"span\" }: GlitchTextProps) {\n return (\n <Component\n className={cn(\"relative inline-block font-bold\", className)}\n data-text={text}\n >\n <span className=\"relative z-10\">{text}</span>\n <span className=\"absolute top-0 left-[-1px] -z-10 w-full h-full text-red-500 opacity-70 translate-x-[2px] animate-pulse\">{text}</span>\n <span className=\"absolute top-0 left-[1px] -z-10 w-full h-full text-blue-500 opacity-70 translate-x-[-2px] animate-pulse\" style={{ animationDelay: '0.1s' }}>{text}</span>\n </Component>\n )\n}\n\n// ============================================\n// 3. HighlightText — Highlighted/marked text\n// ============================================\nexport interface HighlightTextProps extends TypographyBaseProps {\n /** Background color class for the highlight */\n color?: string\n}\n\nexport function HighlightText({ className, children, color = \"bg-yellow-200/50 dark:bg-yellow-800/50\", as: Component = \"mark\" }: HighlightTextProps) {\n return (\n <Component\n className={cn(\"rounded-sm px-1 py-0.5 text-inherit\", color, className)}\n >\n {children}\n </Component>\n )\n}\n\n// ============================================\n// 4. RevealText — Text with reveal animation\n// ============================================\nexport interface RevealTextProps {\n /** Text to reveal */\n text: string\n /** Additional CSS classes */\n className?: string\n /** Delay before animation starts (seconds) */\n delay?: number\n}\n\nexport function RevealText({ text, className, delay = 0 }: RevealTextProps) {\n return (\n <motion.span\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ duration: 0.5, delay }}\n className={cn(\"inline-block\", className)}\n >\n {text}\n </motion.span>\n )\n}\n\n// ============================================\n// 5. OutlineText — Text with stroke outline\n// ============================================\nexport function OutlineText({ className, children, as: Component = \"span\" }: TypographyBaseProps) {\n return (\n <Component\n className={cn(\"text-transparent stroke-foreground\", className)}\n style={{ WebkitTextStroke: \"1px currentColor\" }}\n >\n {children}\n </Component>\n )\n}\n\n// ============================================\n// 6. GlowText — Text with glow shadow\n// ============================================\nexport function GlowText({ className, children, as: Component = \"span\" }: TypographyBaseProps) {\n return (\n <Component\n className={cn(\"text-foreground\", className)}\n style={{ textShadow: \"0 0 10px rgba(139, 92, 246, 0.5)\" }}\n >\n {children}\n </Component>\n )\n}\n\n// ============================================\n// 7. NeonText — Text with neon glow effect\n// ============================================\nexport interface NeonTextProps extends TypographyBaseProps {\n /** Color for the neon glow */\n color?: string\n}\n\nexport function NeonText({ className, children, color = \"#ff007f\", as: Component = \"span\" }: NeonTextProps) {\n return (\n <Component\n className={cn(\"font-bold text-white\", className)}\n style={{ textShadow: `0 0 5px #fff, 0 0 10px #fff, 0 0 20px ${color}, 0 0 30px ${color}, 0 0 40px ${color}` }}\n >\n {children}\n </Component>\n )\n}\n\n// ============================================\n// 8. BlurText — Text that unblurs on hover\n// ============================================\nexport function BlurText({ className, children, as: Component = \"span\" }: TypographyBaseProps) {\n return (\n <Component\n className={cn(\"text-foreground filter blur-sm hover:blur-none transition-all duration-300\", className)}\n >\n {children}\n </Component>\n )\n}\n\n// ============================================\n// 9. ShadowText — Text with drop shadow\n// ============================================\nexport function ShadowText({ className, children, as: Component = \"span\" }: TypographyBaseProps) {\n return (\n <Component\n className={cn(\"text-foreground font-bold\", className)}\n style={{ textShadow: \"2px 2px 0px rgba(0,0,0,0.2)\" }}\n >\n {children}\n </Component>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\ninterface BaseAnimationProps {\n children: React.ReactNode;\n delay?: number;\n duration?: number;\n}\n\n// 1. FadeIn\nexport const FadeIn = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay, duration }}>\n {children}\n </motion.div>\n)\n\n// 2. SlideUp\nexport const SlideUp = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }} transition={{ delay, duration }}>\n {children}\n </motion.div>\n)\n\n// 3. SlideDown\nexport const SlideDown = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div initial={{ opacity: 0, y: -20 }} animate={{ opacity: 1, y: 0 }} transition={{ delay, duration }}>\n {children}\n </motion.div>\n)\n\n// 4. SlideLeft\nexport const SlideLeft = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div initial={{ opacity: 0, x: 20 }} animate={{ opacity: 1, x: 0 }} transition={{ delay, duration }}>\n {children}\n </motion.div>\n)\n\n// 5. SlideRight\nexport const SlideRight = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div initial={{ opacity: 0, x: -20 }} animate={{ opacity: 1, x: 0 }} transition={{ delay, duration }}>\n {children}\n </motion.div>\n)\n\n// 6. ScaleIn\nexport const ScaleIn = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div initial={{ opacity: 0, scale: 0.9 }} animate={{ opacity: 1, scale: 1 }} transition={{ delay, duration }}>\n {children}\n </motion.div>\n)\n\n// 7. Bounce\nexport const Bounce = ({ children, delay = 0 }: Omit<BaseAnimationProps, 'duration'>) => (\n <motion.div\n initial={{ y: -20 }}\n animate={{ y: 0 }}\n transition={{ type: \"spring\", bounce: 0.5, delay }}\n >\n {children}\n </motion.div>\n)\n\n// 8. Flip\nexport const Flip = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div\n initial={{ rotateX: 90, opacity: 0 }}\n animate={{ rotateX: 0, opacity: 1 }}\n transition={{ delay, duration }}\n >\n {children}\n </motion.div>\n)\n\n// 9. Rotate\nexport const Rotate = ({ children, delay = 0, duration = 0.5 }: BaseAnimationProps) => (\n <motion.div\n initial={{ rotate: -180, opacity: 0 }}\n animate={{ rotate: 0, opacity: 1 }}\n transition={{ delay, duration }}\n >\n {children}\n </motion.div>\n)\n\n// 10. Pulse (Continuous)\nexport const PulseAnim = ({ children }: { children: React.ReactNode }) => (\n <motion.div\n animate={{ scale: [1, 1.05, 1] }}\n transition={{ repeat: Infinity, duration: 2 }}\n >\n {children}\n </motion.div>\n)\n\n// 11. Float (Continuous)\nexport const Float = ({ children }: { children: React.ReactNode }) => (\n <motion.div\n animate={{ y: [0, -10, 0] }}\n transition={{ repeat: Infinity, duration: 3, ease: \"easeInOut\" }}\n >\n {children}\n </motion.div>\n)\n\n// 12. Wiggle (Hover)\nexport const WiggleHover = ({ children }: { children: React.ReactNode }) => (\n <motion.div whileHover={{ rotate: [0, -10, 10, -10, 10, 0] }} transition={{ duration: 0.5 }}>\n {children}\n </motion.div>\n)\n\n// 13. Heartbeat\nexport const Heartbeat = ({ children }: { children: React.ReactNode }) => (\n <motion.div\n animate={{ scale: [1, 1.1, 1, 1.1, 1] }}\n transition={{ repeat: Infinity, duration: 1.5, ease: \"easeInOut\" }}\n >\n {children}\n </motion.div>\n)\n\n// 14. Reveal (Clip-path)\nexport const RevealClip = ({ children, delay = 0, duration = 0.8 }: BaseAnimationProps) => (\n <motion.div\n initial={{ clipPath: \"polygon(0 0, 0 0, 0 100%, 0% 100%)\" }}\n animate={{ clipPath: \"polygon(0 0, 100% 0, 100% 100%, 0 100%)\" }}\n transition={{ delay, duration, ease: \"easeInOut\" }}\n >\n {children}\n </motion.div>\n)\n\n// 15. StaggerContainer & Item\nexport const StaggerContainer = ({ children, delayChildren = 0.1, staggerChildren = 0.1 }: { children: React.ReactNode; delayChildren?: number; staggerChildren?: number }) => (\n <motion.div\n variants={{\n hidden: { opacity: 0 },\n show: {\n opacity: 1,\n transition: { staggerChildren, delayChildren }\n }\n }}\n initial=\"hidden\"\n animate=\"show\"\n >\n {children}\n </motion.div>\n)\n\nexport const StaggerItem = ({ children }: { children: React.ReactNode }) => (\n <motion.div variants={{ hidden: { opacity: 0, y: 20 }, show: { opacity: 1, y: 0 } }}>\n {children}\n </motion.div>\n)\n\n// New Components requested by user\n\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Check, Upload, Star, Plus, Minus } from \"lucide-react\"\n\n// 1. RadioCard\nexport const RadioCard = ({ title, description, checked, onChange, value, name }: any) => (\n <label className={cn(\"relative flex cursor-pointer rounded-lg border p-4 hover:bg-accent transition-all\", checked ? \"border-primary bg-primary/5 shadow-sm\" : \"border-border bg-card\")}>\n <input type=\"radio\" name={name} value={value} checked={checked} onChange={onChange} className=\"sr-only\" />\n <div className=\"flex w-full justify-between items-center\">\n <div className=\"flex flex-col\">\n <span className=\"font-semibold\">{title}</span>\n {description && <span className=\"text-sm text-muted-foreground\">{description}</span>}\n </div>\n <div className={cn(\"flex h-5 w-5 items-center justify-center rounded-full border-2 transition-colors\", checked ? \"border-primary bg-primary\" : \"border-muted-foreground\")}>\n {checked && <div className=\"h-2.5 w-2.5 rounded-full bg-background\" />}\n </div>\n </div>\n </label>\n)\n\n// 2. ColorSwatch\nexport const ColorSwatch = ({ color, selected, onClick }: any) => (\n <button\n type=\"button\"\n onClick={onClick}\n className={cn(\"relative flex h-10 w-10 items-center justify-center rounded-full transition-transform hover:scale-110\", selected && \"ring-2 ring-primary ring-offset-2 ring-offset-background\")}\n style={{ backgroundColor: color }}\n >\n {selected && <Check className=\"h-5 w-5 text-white drop-shadow-md\" />}\n </button>\n)\n\n// 3. NumberStepper\nexport const NumberStepper = ({ value = 0, onChange, min = 0, max = 100 }: any) => (\n <div className=\"flex items-center space-x-2 rounded-md border border-border p-1 w-fit bg-card\">\n <button type=\"button\" onClick={() => onChange(Math.max(min, value - 1))} className=\"p-1 rounded hover:bg-muted text-muted-foreground transition-colors\"><Minus className=\"h-4 w-4\" /></button>\n <div className=\"w-8 text-center font-medium text-sm\">{value}</div>\n <button type=\"button\" onClick={() => onChange(Math.min(max, value + 1))} className=\"p-1 rounded hover:bg-muted text-muted-foreground transition-colors\"><Plus className=\"h-4 w-4\" /></button>\n </div>\n)\n\n// 4. FileDropzone\nexport const FileDropzone = ({ onDrop }: any) => (\n <div className=\"flex flex-col items-center justify-center w-full h-40 border-2 border-dashed border-muted-foreground/25 rounded-xl bg-card hover:bg-accent/50 transition-colors cursor-pointer group\">\n <div className=\"p-4 rounded-full bg-muted group-hover:bg-background transition-colors mb-2\">\n <Upload className=\"h-6 w-6 text-muted-foreground group-hover:text-primary transition-colors\" />\n </div>\n <p className=\"text-sm font-medium\">Click or drag file to this area to upload</p>\n <p className=\"text-xs text-muted-foreground mt-1\">Support for a single or bulk upload.</p>\n </div>\n)\n\n// 5. RatingStars\nexport const RatingStars = ({ rating = 0, max = 5, onRate }: any) => (\n <div className=\"flex items-center space-x-1\">\n {Array.from({ length: max }).map((_, i) => (\n <button key={i} type=\"button\" onClick={() => onRate?.(i + 1)} className=\"p-1 focus:outline-none transition-transform hover:scale-110\">\n <Star className={cn(\"h-6 w-6\", i < rating ? \"fill-yellow-400 text-yellow-400\" : \"fill-muted text-muted-foreground\")} />\n </button>\n ))}\n </div>\n)\n\n// 6. ToggleGroupItem (Visual wrapper)\nexport const ToggleGroupItemWrapper = ({ children, active, onClick }: any) => (\n <button type=\"button\" onClick={onClick} className={cn(\"px-4 py-2 text-sm font-medium transition-colors border border-transparent\", active ? \"bg-background text-foreground shadow-sm rounded-md\" : \"text-muted-foreground hover:text-foreground\")}>\n {children}\n </button>\n)\n\nexport const ToggleGroupWrapper = ({ children }: any) => (\n <div className=\"inline-flex items-center rounded-lg bg-muted p-1\">{children}</div>\n)\n\n// 7. InputWithLabelOverlay\nexport const InputWithLabelOverlay = ({ label, id, ...props }: any) => (\n <div className=\"relative\">\n <input id={id} className=\"block w-full rounded-md border border-border bg-background px-3 pb-2 pt-6 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary peer\" placeholder=\" \" {...props} />\n <label htmlFor={id} className=\"absolute left-3 top-2 text-xs text-muted-foreground transition-all peer-placeholder-shown:top-4 peer-placeholder-shown:text-sm peer-focus:top-2 peer-focus:text-xs peer-focus:text-primary cursor-text\">\n {label}\n </label>\n </div>\n)\n\n// 8. VisualSelectCard\nexport const VisualSelectCard = ({ icon: Icon, title, description, selected }: any) => (\n <div className={cn(\"flex flex-col items-center justify-center p-6 rounded-xl border text-center transition-all cursor-pointer hover:border-primary\", selected ? \"border-primary bg-primary/5\" : \"border-border bg-card\")}>\n <Icon className={cn(\"h-8 w-8 mb-4\", selected ? \"text-primary\" : \"text-muted-foreground\")} />\n <h3 className=\"font-semibold mb-1\">{title}</h3>\n <p className=\"text-xs text-muted-foreground\">{description}</p>\n </div>\n)\n\n// 9. FloatingActionForm (Button that expands into form)\nexport const FloatingActionForm = ({ isOpen, toggle, children }: any) => (\n <div className=\"relative\">\n <AnimatePresence>\n {isOpen && (\n <motion.div initial={{ opacity: 0, scale: 0.8, y: 20 }} animate={{ opacity: 1, scale: 1, y: 0 }} exit={{ opacity: 0, scale: 0.8, y: 20 }} className=\"absolute bottom-16 right-0 w-80 bg-card border rounded-xl shadow-xl p-4 origin-bottom-right\">\n {children}\n </motion.div>\n )}\n </AnimatePresence>\n <button type=\"button\" onClick={toggle} className=\"flex h-14 w-14 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 transition-transform active:scale-95\">\n <motion.div animate={{ rotate: isOpen ? 45 : 0 }}><Plus className=\"h-6 w-6\" /></motion.div>\n </button>\n </div>\n)\n\n// 10. OTPInput (Visual boxes)\nexport const OTPInput = ({ length = 6 }: any) => (\n <div className=\"flex space-x-2\">\n {Array.from({ length }).map((_, i) => (\n <input key={i} type=\"text\" maxLength={1} className=\"w-12 h-14 text-center text-xl font-bold rounded-md border border-border bg-background focus:border-primary focus:ring-1 focus:ring-primary outline-none\" />\n ))}\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Button } from \"./button\"\n\n// 1. HeroSection\nexport const HeroSection = ({ title, subtitle, ctaText }: any) => (\n <section className=\"py-24 flex flex-col items-center text-center space-y-6\">\n <h1 className=\"text-5xl font-extrabold tracking-tight sm:text-6xl\">{title}</h1>\n <p className=\"text-xl text-muted-foreground max-w-2xl\">{subtitle}</p>\n <Button size=\"lg\" className=\"h-12 px-8 text-lg\">{ctaText}</Button>\n </section>\n)\n\n// 2. FeatureGrid\nexport const FeatureGrid = ({ features }: any) => (\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-8 py-12\">\n {features?.map((f: any, i: number) => (\n <div key={i} className=\"flex flex-col items-start p-6 bg-card border rounded-2xl\">\n <div className=\"p-3 bg-primary/10 rounded-lg mb-4 text-primary\">{f.icon}</div>\n <h3 className=\"text-xl font-bold mb-2\">{f.title}</h3>\n <p className=\"text-muted-foreground\">{f.description}</p>\n </div>\n ))}\n </div>\n)\n\n// 3. SimpleFooter\nexport const SimpleFooter = ({ text }: any) => (\n <footer className=\"py-6 border-t text-center text-muted-foreground text-sm\">\n <p>{text}</p>\n </footer>\n)\n\n// 4. NewsletterBlock\nexport const NewsletterBlock = () => (\n <div className=\"p-12 bg-muted rounded-3xl flex flex-col items-center text-center space-y-6\">\n <h2 className=\"text-3xl font-bold\">Subscribe to our newsletter</h2>\n <p className=\"text-muted-foreground\">Get the latest updates directly to your inbox.</p>\n <div className=\"flex w-full max-w-md gap-2\">\n <input type=\"email\" placeholder=\"Enter your email\" className=\"flex-1 rounded-md border bg-background px-3 py-2 text-sm\" />\n <Button>Subscribe</Button>\n </div>\n </div>\n)\n\n// 5. TestimonialCard\nexport const TestimonialCard = ({ quote, author, role }: any) => (\n <div className=\"p-6 bg-card border rounded-xl space-y-4\">\n <p className=\"text-lg italic\">\"{quote}\"</p>\n <div>\n <p className=\"font-bold\">{author}</p>\n <p className=\"text-sm text-muted-foreground\">{role}</p>\n </div>\n </div>\n)\n\n// 6. FaqAccordion (Block wrapper)\nexport const FaqBlock = ({ faqs }: any) => (\n <div className=\"max-w-3xl mx-auto py-12 space-y-4\">\n <h2 className=\"text-3xl font-bold text-center mb-8\">Frequently Asked Questions</h2>\n {faqs?.map((faq: any, i: number) => (\n <details key={i} className=\"group border rounded-lg bg-card [&_summary::-webkit-details-marker]:hidden\">\n <summary className=\"flex cursor-pointer items-center justify-between p-4 font-medium\">\n {faq.q}\n <span className=\"transition group-open:rotate-180\">\n <svg fill=\"none\" height=\"24\" stroke=\"currentColor\" strokeWidth=\"1.5\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M6 9l6 6 6-6\" strokeLinecap=\"round\" strokeLinejoin=\"round\"/></svg>\n </span>\n </summary>\n <p className=\"group-open:animate-fadeIn p-4 pt-0 text-muted-foreground\">{faq.a}</p>\n </details>\n ))}\n </div>\n)\n\n// 7. CtaBlock\nexport const CtaBlock = ({ title, buttonText }: any) => (\n <div className=\"py-16 px-8 bg-primary text-primary-foreground rounded-3xl text-center space-y-6\">\n <h2 className=\"text-3xl font-bold\">{title}</h2>\n <Button variant=\"secondary\" size=\"lg\">{buttonText}</Button>\n </div>\n)\n\n// 8. LogoCloud\nexport const LogoCloud = ({ title, logos }: any) => (\n <div className=\"py-12 border-y\">\n <p className=\"text-center text-sm font-medium text-muted-foreground mb-8\">{title}</p>\n <div className=\"flex flex-wrap justify-center gap-12 opacity-50 grayscale\">\n {logos?.map((l: any, i: number) => <span key={i} className=\"text-xl font-bold\">{l}</span>)}\n </div>\n </div>\n)\n\n// 9. PricingTableSimple\nexport const PricingTableSimple = ({ plans }: any) => (\n <div className=\"grid md:grid-cols-2 gap-8 py-12 max-w-4xl mx-auto\">\n {plans?.map((p: any, i: number) => (\n <div key={i} className={cn(\"p-8 rounded-3xl border\", p.popular ? \"border-primary shadow-lg\" : \"bg-card\")}>\n <h3 className=\"text-2xl font-bold mb-2\">{p.name}</h3>\n <p className=\"text-4xl font-extrabold mb-6\">${p.price}<span className=\"text-lg text-muted-foreground font-normal\">/mo</span></p>\n <ul className=\"space-y-3 mb-8\">\n {p.features?.map((f: string, j: number) => <li key={j} className=\"flex items-center gap-2\">✓ {f}</li>)}\n </ul>\n <Button className=\"w-full\" variant={p.popular ? \"default\" : \"outline\"}>Choose Plan</Button>\n </div>\n ))}\n </div>\n)\n\n// 10. ContactFormBlock\nexport const ContactFormBlock = () => (\n <form className=\"max-w-md mx-auto p-6 border rounded-2xl bg-card space-y-4\">\n <h2 className=\"text-2xl font-bold mb-4\">Contact Us</h2>\n <input placeholder=\"Name\" className=\"w-full rounded-md border p-2 bg-background\" />\n <input placeholder=\"Email\" type=\"email\" className=\"w-full rounded-md border p-2 bg-background\" />\n <textarea placeholder=\"Message\" className=\"w-full rounded-md border p-2 bg-background min-h-[100px]\" />\n <Button className=\"w-full\">Send Message</Button>\n </form>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// 1. DataGridTable (Premium look)\nexport const DataGridTable = ({ columns, data }: any) => (\n <div className=\"rounded-xl border bg-card overflow-hidden\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm text-left\">\n <thead className=\"bg-muted/50 text-muted-foreground uppercase text-xs\">\n <tr>\n {columns.map((col: any, i: number) => (\n <th key={i} className=\"px-6 py-4 font-semibold\">{col}</th>\n ))}\n </tr>\n </thead>\n <tbody className=\"divide-y divide-border\">\n {data.map((row: any, i: number) => (\n <motion.tr \n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ delay: i * 0.05 }}\n key={i} \n className=\"hover:bg-muted/30 transition-colors\"\n >\n {row.map((cell: any, j: number) => (\n <td key={j} className=\"px-6 py-4\">{cell}</td>\n ))}\n </motion.tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n)\n\n// 2. KanbanBoard\nexport const KanbanBoard = ({ columns }: any) => (\n <div className=\"flex gap-6 overflow-x-auto pb-4\">\n {columns.map((col: any, i: number) => (\n <div key={i} className=\"min-w-[300px] bg-muted/30 rounded-xl p-4 flex flex-col gap-4 border\">\n <div className=\"flex justify-between items-center px-1\">\n <h3 className=\"font-semibold\">{col.title}</h3>\n <span className=\"bg-background text-xs px-2 py-1 rounded-full border\">{col.items.length}</span>\n </div>\n <div className=\"flex flex-col gap-3\">\n {col.items.map((item: any, j: number) => (\n <div key={j} className=\"bg-card p-4 rounded-lg shadow-sm border cursor-pointer hover:border-primary transition-colors\">\n <h4 className=\"font-medium mb-1\">{item.title}</h4>\n <p className=\"text-xs text-muted-foreground\">{item.desc}</p>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n)\n\n// 3. PricingTable Advanced\nexport const PricingTableAdvanced = ({ plans }: any) => (\n <div className=\"grid md:grid-cols-3 gap-6 max-w-6xl mx-auto\">\n {plans.map((p: any, i: number) => (\n <div key={i} className={cn(\"relative p-8 rounded-3xl border flex flex-col\", p.popular ? \"border-primary bg-primary/5 shadow-xl scale-105 z-10\" : \"bg-card\")}>\n {p.popular && <div className=\"absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-primary text-primary-foreground text-xs font-bold px-3 py-1 rounded-full\">MOST POPULAR</div>}\n <h3 className=\"text-xl font-semibold mb-2\">{p.name}</h3>\n <p className=\"text-sm text-muted-foreground mb-6\">{p.description}</p>\n <p className=\"text-5xl font-extrabold mb-6\">${p.price}<span className=\"text-lg text-muted-foreground font-normal\">/mo</span></p>\n <button className={cn(\"w-full py-3 rounded-xl font-semibold mb-8 transition-all hover:scale-105 active:scale-95\", p.popular ? \"bg-primary text-primary-foreground\" : \"bg-muted text-foreground\")}>\n {p.cta}\n </button>\n <ul className=\"space-y-4 flex-1\">\n {p.features.map((f: string, j: number) => (\n <li key={j} className=\"flex items-start gap-3 text-sm\">\n <svg className=\"w-5 h-5 text-primary shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></svg>\n <span>{f}</span>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// 1. NeonButton\nexport const NeonButton = ({ children, ...props }: any) => (\n <button className=\"relative px-6 py-2 bg-black text-white font-bold rounded-lg group\" {...props}>\n <span className=\"absolute inset-0 w-full h-full rounded-lg bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500 opacity-70 blur-md group-hover:opacity-100 transition-opacity duration-300\"></span>\n <span className=\"relative z-10\">{children}</span>\n </button>\n)\n\n// 2. ThreeDButton\nexport const ThreeDButton = ({ children, ...props }: any) => (\n <button className=\"px-6 py-2 bg-primary text-primary-foreground font-bold rounded-lg shadow-[0_5px_0_hsl(var(--primary-dark,0,0%,30%))] hover:shadow-[0_2px_0_hsl(var(--primary-dark,0,0%,30%))] hover:translate-y-[3px] transition-all\" {...props}>\n {children}\n </button>\n)\n\n// 3. RippleButton (Simplified CSS ripple)\nexport const RippleButton = ({ children, ...props }: any) => (\n <button className=\"relative overflow-hidden px-6 py-2 bg-primary text-primary-foreground font-medium rounded-lg group\" {...props}>\n <span className=\"absolute inset-0 bg-white/20 scale-0 rounded-full group-active:scale-[2] transition-transform duration-500 origin-center\"></span>\n <span className=\"relative z-10\">{children}</span>\n </button>\n)\n\n// 4. CyberpunkButton\nexport const CyberpunkButton = ({ children, ...props }: any) => (\n <button className=\"px-6 py-2 bg-yellow-400 text-black font-extrabold uppercase tracking-widest border-2 border-black hover:bg-black hover:text-yellow-400 transition-colors shadow-[4px_4px_0_0_#000]\" {...props}>\n {children}\n </button>\n)\n\n// 5. MagneticButton\nexport const MagneticButton = ({ children, ...props }: any) => (\n <motion.button whileHover={{ scale: 1.1 }} whileTap={{ scale: 0.9 }} className=\"px-6 py-2 bg-secondary text-secondary-foreground font-medium rounded-full\" {...props}>\n {children}\n </motion.button>\n)\n\n// 6. ShimmerButton\nexport const ShimmerButton = ({ children, ...props }: any) => (\n <button className=\"relative px-6 py-2 font-medium bg-slate-900 text-white rounded-lg overflow-hidden\" {...props}>\n <span className=\"absolute inset-0 -translate-x-full animate-[shimmer_2s_infinite] bg-gradient-to-r from-transparent via-white/20 to-transparent\"></span>\n <span className=\"relative z-10\">{children}</span>\n </button>\n)\n\n// 7. BorderBeamButton\nexport const BorderBeamButton = ({ children, ...props }: any) => (\n <button className=\"relative px-6 py-2 font-medium bg-background text-foreground rounded-lg overflow-hidden border border-border group\" {...props}>\n <div className=\"absolute inset-0 bg-gradient-to-r from-primary to-transparent opacity-0 group-hover:opacity-20 transition-opacity\"></div>\n <div className=\"absolute top-0 left-0 w-full h-[2px] bg-primary scale-x-0 group-hover:scale-x-100 transition-transform origin-left\"></div>\n <span className=\"relative z-10\">{children}</span>\n </button>\n)\n\n// 8. LoadingButton\nexport const LoadingButton = ({ isLoading, children, ...props }: any) => (\n <button disabled={isLoading} className=\"px-6 py-2 bg-primary text-primary-foreground font-medium rounded-lg flex items-center gap-2 disabled:opacity-70\" {...props}>\n {isLoading && <svg className=\"animate-spin h-4 w-4\" viewBox=\"0 0 24 24\"><circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\" fill=\"none\"></circle><path className=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8v8H4z\"></path></svg>}\n {children}\n </button>\n)\n\n// 9. DestructiveGlowButton\nexport const DestructiveGlowButton = ({ children, ...props }: any) => (\n <button className=\"px-6 py-2 bg-destructive/10 text-destructive font-medium rounded-lg hover:bg-destructive hover:text-destructive-foreground hover:shadow-[0_0_15px_rgba(255,0,0,0.5)] transition-all\" {...props}>\n {children}\n </button>\n)\n\n// 10. GhostOutlineButton\nexport const GhostOutlineButton = ({ children, ...props }: any) => (\n <button className=\"px-6 py-2 border-2 border-transparent hover:border-primary text-foreground hover:text-primary font-medium rounded-lg transition-colors\" {...props}>\n {children}\n </button>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Search, Mail, AlertCircle, CheckCircle, Upload } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\n\n// 1. FloatingLabelInput\nexport const FloatingLabelInput = ({ label, ...props }: any) => (\n <div className=\"relative\">\n <input className=\"peer w-full border-b-2 border-muted-foreground/30 bg-transparent py-2 pt-6 focus:border-primary focus:outline-none placeholder-transparent\" placeholder={label} {...props} />\n <label className=\"absolute left-0 top-1 text-xs text-primary transition-all peer-placeholder-shown:top-4 peer-placeholder-shown:text-base peer-placeholder-shown:text-muted-foreground peer-focus:top-1 peer-focus:text-xs peer-focus:text-primary pointer-events-none\">{label}</label>\n </div>\n)\n\n// 2. UnderlineInput\nexport const UnderlineInput = ({ ...props }: any) => (\n <input className=\"w-full border-b-2 border-muted-foreground bg-transparent py-2 focus:border-primary focus:outline-none transition-colors\" {...props} />\n)\n\n// 3. IconInputLeft\nexport const IconInputLeft = ({ icon: Icon = Search, ...props }: any) => (\n <div className=\"relative flex items-center\">\n <Icon className=\"absolute left-3 h-5 w-5 text-muted-foreground\" />\n <input className=\"w-full rounded-md border border-border bg-background py-2 pl-10 pr-4 focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary\" {...props} />\n </div>\n)\n\n// 4. IconInputRight\nexport const IconInputRight = ({ icon: Icon = Mail, ...props }: any) => (\n <div className=\"relative flex items-center\">\n <input className=\"w-full rounded-md border border-border bg-background py-2 pl-4 pr-10 focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary\" {...props} />\n <Icon className=\"absolute right-3 h-5 w-5 text-muted-foreground\" />\n </div>\n)\n\n// 5. PillInput\nexport const PillInput = ({ ...props }: any) => (\n <input className=\"w-full rounded-full border border-border bg-background px-6 py-2 focus:border-primary focus:outline-none focus:ring-2 focus:ring-primary/20 shadow-sm\" {...props} />\n)\n\n// 6. ErrorInput\nexport const ErrorInput = ({ errorMessage, ...props }: any) => (\n <div className=\"flex flex-col gap-1\">\n <div className=\"relative flex items-center\">\n <input className=\"w-full rounded-md border border-destructive bg-background py-2 pl-4 pr-10 focus:outline-none focus:ring-1 focus:ring-destructive text-destructive\" {...props} />\n <AlertCircle className=\"absolute right-3 h-5 w-5 text-destructive\" />\n </div>\n <span className=\"text-xs text-destructive\">{errorMessage}</span>\n </div>\n)\n\n// 7. SuccessInput\nexport const SuccessInput = ({ ...props }: any) => (\n <div className=\"relative flex items-center\">\n <input className=\"w-full rounded-md border border-green-500 bg-background py-2 pl-4 pr-10 focus:outline-none focus:ring-1 focus:ring-green-500 text-green-600\" {...props} />\n <CheckCircle className=\"absolute right-3 h-5 w-5 text-green-500\" />\n </div>\n)\n\n// 8. GhostInput\nexport const GhostInput = ({ ...props }: any) => (\n <input className=\"w-full bg-transparent px-4 py-2 font-medium placeholder-muted-foreground/50 focus:bg-muted/50 focus:outline-none rounded-md transition-colors\" {...props} />\n)\n\n// 9. NeumorphicInput\nexport const NeumorphicInput = ({ ...props }: any) => (\n <input className=\"w-full rounded-xl bg-background px-4 py-3 shadow-[inset_4px_4px_8px_rgba(0,0,0,0.1),inset_-4px_-4px_8px_rgba(255,255,255,0.05)] focus:outline-none border border-transparent focus:border-primary/20\" {...props} />\n)\n\n// 10. MinimalDropInput (simplified file input wrapper)\nexport const MinimalDropInput = ({ label = \"Choose File\", ...props }: any) => (\n <label className=\"flex w-full cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed border-border bg-muted/20 py-6 hover:bg-muted/50 transition-colors\">\n <Upload className=\"mb-2 h-6 w-6 text-muted-foreground\" />\n <span className=\"text-sm font-medium\">{label}</span>\n <input type=\"file\" className=\"hidden\" {...props} />\n </label>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Heart, Share2, Calendar, MapPin, Star } from \"lucide-react\"\n\n// 1. ImageCard\nexport const ImageCard = ({ src, title, subtitle }: any) => (\n <div className=\"group relative overflow-hidden rounded-xl border bg-card text-card-foreground\">\n <div className=\"aspect-[4/3] w-full bg-muted overflow-hidden\">\n {src ? <img src={src} className=\"w-full h-full object-cover group-hover:scale-105 transition-transform duration-500\" alt={title} /> : <div className=\"w-full h-full bg-muted-foreground/20\" />}\n </div>\n <div className=\"p-4\">\n <h3 className=\"font-semibold text-lg\">{title}</h3>\n <p className=\"text-sm text-muted-foreground\">{subtitle}</p>\n </div>\n </div>\n)\n\n// 2. ProfileCard\nexport const ProfileCard = ({ name, role, avatar }: any) => (\n <div className=\"flex flex-col items-center p-6 text-center rounded-xl border bg-card shadow-sm\">\n <div className=\"w-24 h-24 rounded-full bg-muted mb-4 overflow-hidden border-4 border-background shadow-md\">\n {avatar && <img src={avatar} className=\"w-full h-full object-cover\" alt={name} />}\n </div>\n <h3 className=\"text-xl font-bold\">{name}</h3>\n <p className=\"text-sm text-muted-foreground mb-4\">{role}</p>\n <button className=\"px-6 py-2 bg-primary text-primary-foreground rounded-full font-medium w-full hover:bg-primary/90 transition-colors\">Follow</button>\n </div>\n)\n\n// 3. ProductCard\nexport const ProductCard = ({ title, price, category, src }: any) => (\n <div className=\"rounded-xl border bg-card p-4 flex flex-col gap-3 group\">\n <div className=\"aspect-square w-full rounded-lg bg-muted overflow-hidden relative\">\n {src && <img src={src} className=\"w-full h-full object-cover\" alt={title} />}\n <button className=\"absolute top-2 right-2 p-2 bg-background/50 backdrop-blur rounded-full hover:bg-background transition-colors\"><Heart className=\"w-4 h-4\" /></button>\n </div>\n <div>\n <p className=\"text-xs text-muted-foreground mb-1\">{category}</p>\n <h3 className=\"font-medium truncate\">{title}</h3>\n <p className=\"font-bold text-lg mt-1\">${price}</p>\n </div>\n </div>\n)\n\n// 4. ArticleCard\nexport const ArticleCard = ({ title, excerpt, date }: any) => (\n <div className=\"p-6 rounded-xl border bg-card flex flex-col gap-4 hover:shadow-md transition-shadow cursor-pointer\">\n <span className=\"text-xs font-medium text-primary\">{date}</span>\n <h3 className=\"text-xl font-bold leading-tight\">{title}</h3>\n <p className=\"text-muted-foreground line-clamp-3\">{excerpt}</p>\n <div className=\"mt-auto pt-4 border-t flex items-center justify-between text-sm\">\n <span className=\"font-medium\">Read more →</span>\n <button><Share2 className=\"w-4 h-4 text-muted-foreground hover:text-foreground\" /></button>\n </div>\n </div>\n)\n\n// 5. StatCardSimple\nexport const StatCardSimple = ({ label, value, trend }: any) => (\n <div className=\"p-5 rounded-xl border bg-card\">\n <p className=\"text-sm font-medium text-muted-foreground mb-2\">{label}</p>\n <div className=\"flex items-end justify-between\">\n <h4 className=\"text-3xl font-bold\">{value}</h4>\n <span className={`text-sm font-medium ${trend.startsWith('+') ? 'text-green-500' : 'text-red-500'}`}>{trend}</span>\n </div>\n </div>\n)\n\n// 6. PricingCardBasic\nexport const PricingCardBasic = ({ name, price, features }: any) => (\n <div className=\"p-6 rounded-xl border bg-card flex flex-col items-center text-center\">\n <h3 className=\"text-xl font-medium mb-2\">{name}</h3>\n <div className=\"mb-6\"><span className=\"text-4xl font-bold\">${price}</span><span className=\"text-muted-foreground\">/mo</span></div>\n <ul className=\"space-y-3 w-full mb-8 text-sm\">\n {features.map((f: string, i: number) => <li key={i} className=\"text-muted-foreground border-b pb-2 last:border-0\">{f}</li>)}\n </ul>\n <button className=\"w-full py-2 bg-primary text-primary-foreground rounded-lg font-medium mt-auto\">Subscribe</button>\n </div>\n)\n\n// 7. WeatherCard\nexport const WeatherCard = ({ city, temp, condition }: any) => (\n <div className=\"p-6 rounded-xl border bg-gradient-to-br from-blue-500 to-cyan-400 text-white shadow-lg\">\n <div className=\"flex justify-between items-start mb-8\">\n <div>\n <h3 className=\"text-2xl font-bold\">{city}</h3>\n <p className=\"opacity-80\">{condition}</p>\n </div>\n <div className=\"text-5xl font-light\">{temp}°</div>\n </div>\n <div className=\"flex gap-4 opacity-90 text-sm\">\n <span>H: {temp + 4}°</span>\n <span>L: {temp - 3}°</span>\n </div>\n </div>\n)\n\n// 8. EventCard\nexport const EventCard = ({ title, date, location }: any) => (\n <div className=\"flex p-4 rounded-xl border bg-card gap-4\">\n <div className=\"flex flex-col items-center justify-center bg-primary/10 text-primary rounded-lg px-4 py-2 min-w-[70px]\">\n <span className=\"text-xs uppercase font-bold\">{date.split(' ')[0]}</span>\n <span className=\"text-2xl font-black\">{date.split(' ')[1]}</span>\n </div>\n <div className=\"flex flex-col justify-center\">\n <h3 className=\"font-bold text-lg leading-tight mb-1\">{title}</h3>\n <div className=\"flex items-center text-sm text-muted-foreground gap-1\">\n <MapPin className=\"w-3 h-3\" /> {location}\n </div>\n </div>\n </div>\n)\n\n// 9. TestimonialCardBasic\nexport const TestimonialCardBasic = ({ text, author }: any) => (\n <div className=\"p-6 rounded-xl border bg-muted/30 italic relative\">\n <span className=\"absolute top-4 left-4 text-4xl text-primary/20 font-serif\">\"</span>\n <p className=\"relative z-10 text-muted-foreground mb-4 pt-4\">{text}</p>\n <div className=\"flex items-center gap-2\">\n <div className=\"w-8 h-8 rounded-full bg-primary/20\" />\n <span className=\"font-semibold text-sm not-italic\">{author}</span>\n </div>\n </div>\n)\n\n// 10. InteractiveCard\nexport const InteractiveCard = ({ title, description }: any) => (\n <div className=\"group p-6 rounded-xl border bg-card hover:bg-primary hover:text-primary-foreground transition-all duration-300 cursor-pointer\">\n <div className=\"w-12 h-12 rounded-lg bg-primary/10 text-primary group-hover:bg-primary-foreground/20 group-hover:text-primary-foreground flex items-center justify-center mb-4 transition-colors\">\n <Star className=\"w-6 h-6\" />\n </div>\n <h3 className=\"text-xl font-bold mb-2\">{title}</h3>\n <p className=\"text-muted-foreground group-hover:text-primary-foreground/80 transition-colors\">{description}</p>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Bell, Check, Star } from \"lucide-react\"\n\n// 1. NotificationBadge\nexport const NotificationBadge = ({ count, children }: any) => (\n <div className=\"relative inline-block\">\n {children}\n {count > 0 && <span className=\"absolute -top-2 -right-2 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-[10px] font-bold text-white ring-2 ring-background\">{count > 99 ? '99+' : count}</span>}\n </div>\n)\n\n// 2. RibbonBadge\nexport const RibbonBadge = ({ text }: any) => (\n <div className=\"relative inline-block overflow-hidden pb-1 pl-1\">\n <div className=\"absolute top-0 left-0 w-0 h-0 border-t-[8px] border-t-transparent border-l-[8px] border-l-primary-dark\"></div>\n <span className=\"relative z-10 inline-block bg-primary text-primary-foreground text-xs font-bold px-3 py-1 rounded-r-md rounded-bl-md shadow-sm\">{text}</span>\n </div>\n)\n\n// 3. OutlineDotBadge\nexport const OutlineDotBadge = ({ text, colorClass = \"bg-green-500\" }: any) => (\n <span className=\"inline-flex items-center gap-1.5 rounded-full border border-border px-2.5 py-0.5 text-xs font-semibold text-foreground\">\n <span className={`h-1.5 w-1.5 rounded-full ${colorClass}`}></span>\n {text}\n </span>\n)\n\n// 4. GradientOutlineBadge\nexport const GradientOutlineBadge = ({ text }: any) => (\n <div className=\"relative inline-flex items-center justify-center p-[1px] rounded-full bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500 overflow-hidden\">\n <span className=\"relative inline-block bg-background px-3 py-0.5 rounded-full text-xs font-semibold text-foreground\">{text}</span>\n </div>\n)\n\n// 5. IconBadge\nexport const IconBadge = ({ icon: Icon = Star, text }: any) => (\n <span className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2.5 py-0.5 text-xs font-semibold text-secondary-foreground\">\n <Icon className=\"h-3 w-3\" />\n {text}\n </span>\n)\n\n// 6. FloatingBadge\nexport const FloatingBadge = ({ text }: any) => (\n <span className=\"inline-block animate-[bounce_3s_infinite] rounded-full bg-primary/20 px-3 py-1 text-xs font-bold text-primary backdrop-blur-sm border border-primary/30 shadow-[0_4px_12px_rgba(0,0,0,0.1)]\">\n {text}\n </span>\n)\n\n// 7. ProgressBadge\nexport const ProgressBadge = ({ text, progress = 50 }: any) => (\n <div className=\"relative inline-flex h-6 w-24 items-center justify-center rounded-full bg-muted overflow-hidden\">\n <div className=\"absolute left-0 top-0 h-full bg-primary/20\" style={{ width: `${progress}%` }}></div>\n <span className=\"relative z-10 text-[10px] font-bold text-foreground\">{text} ({progress}%)</span>\n </div>\n)\n\n// 8. StatusRingBadge\nexport const StatusRingBadge = ({ status = \"active\" }: any) => {\n const colors = status === \"active\" ? \"ring-green-500/30 bg-green-500\" : \"ring-red-500/30 bg-red-500\"\n return (\n <span className={`inline-block h-3 w-3 rounded-full ring-4 ${colors}`}></span>\n )\n}\n\n// 9. NeonOutlineBadge\nexport const NeonOutlineBadge = ({ text }: any) => (\n <span className=\"inline-block rounded-full border border-cyan-400 px-3 py-0.5 text-xs font-bold text-cyan-400 shadow-[0_0_8px_rgba(34,211,238,0.4)]\">\n {text}\n </span>\n)\n\n// 10. TagLabel\nexport const TagLabel = ({ text }: any) => (\n <span className=\"inline-flex items-center rounded-sm bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground hover:bg-muted/80 hover:text-foreground cursor-pointer transition-colors before:content-['#'] before:mr-0.5 before:opacity-50\">\n {text}\n </span>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\n\n// 1. WifiLoader (Simulated with simple shapes)\nexport const WifiLoader = () => (\n <div className=\"flex flex-col items-center justify-end h-8 w-8 gap-1\">\n <motion.div animate={{ opacity: [0.2, 1, 0.2] }} transition={{ repeat: Infinity, duration: 1.5, delay: 0 }} className=\"w-8 h-2 bg-primary rounded-t-full rounded-b-sm\" />\n <motion.div animate={{ opacity: [0.2, 1, 0.2] }} transition={{ repeat: Infinity, duration: 1.5, delay: 0.2 }} className=\"w-5 h-2 bg-primary rounded-t-full rounded-b-sm\" />\n <motion.div animate={{ opacity: [0.2, 1, 0.2] }} transition={{ repeat: Infinity, duration: 1.5, delay: 0.4 }} className=\"w-2 h-2 bg-primary rounded-full\" />\n </div>\n)\n\n// 2. HourglassLoader\nexport const HourglassLoader = () => (\n <motion.div \n animate={{ rotate: 180 }} \n transition={{ repeat: Infinity, duration: 2, ease: \"easeInOut\", repeatDelay: 0.5 }}\n className=\"relative w-6 h-8 border-y-4 border-y-primary border-x-2 border-x-transparent flex flex-col justify-between items-center\"\n >\n <div className=\"w-0 h-0 border-l-[10px] border-l-transparent border-r-[10px] border-r-transparent border-t-[10px] border-t-primary opacity-50\" />\n <div className=\"w-0 h-0 border-l-[10px] border-l-transparent border-r-[10px] border-r-transparent border-b-[10px] border-b-primary opacity-50\" />\n </motion.div>\n)\n\n// 3. HeartbeatLoader\nexport const HeartbeatLoader = () => (\n <motion.div animate={{ scale: [1, 1.2, 1, 1.3, 1] }} transition={{ repeat: Infinity, duration: 1.2 }}>\n <svg className=\"w-8 h-8 text-red-500 fill-current\" viewBox=\"0 0 24 24\"><path d=\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\"/></svg>\n </motion.div>\n)\n\n// 4. BoxLoader\nexport const BoxLoader = () => (\n <div className=\"w-8 h-8 relative\">\n <motion.div animate={{ rotate: 360, borderRadius: [\"20%\", \"50%\", \"20%\"] }} transition={{ repeat: Infinity, duration: 2, ease: \"linear\" }} className=\"w-full h-full bg-primary\" />\n </div>\n)\n\n// 5. BouncingBalls\nexport const BouncingBalls = () => (\n <div className=\"flex gap-2\">\n {[0, 1, 2].map(i => (\n <motion.div key={i} animate={{ y: [0, -10, 0] }} transition={{ repeat: Infinity, duration: 0.6, delay: i * 0.1 }} className=\"w-3 h-3 bg-primary rounded-full\" />\n ))}\n </div>\n)\n\n// 6. GlowRingLoader\nexport const GlowRingLoader = () => (\n <motion.div animate={{ rotate: 360 }} transition={{ repeat: Infinity, duration: 1, ease: \"linear\" }} className=\"w-10 h-10 rounded-full border-4 border-primary/20 border-t-primary shadow-[0_0_10px_rgba(var(--color-primary),0.5)]\" />\n)\n\n// 7. LineScaleLoader\nexport const LineScaleLoader = () => (\n <div className=\"flex gap-1 items-end h-8\">\n {[0, 1, 2, 3, 4].map(i => (\n <motion.div key={i} animate={{ height: [\"20%\", \"100%\", \"20%\"] }} transition={{ repeat: Infinity, duration: 1, delay: i * 0.1 }} className=\"w-1.5 bg-primary rounded-full\" />\n ))}\n </div>\n)\n\n// 8. ClockLoader\nexport const ClockLoader = () => (\n <div className=\"relative w-10 h-10 rounded-full border-2 border-primary\">\n <motion.div animate={{ rotate: 360 }} transition={{ repeat: Infinity, duration: 4, ease: \"linear\" }} className=\"absolute top-1/2 left-1/2 w-0.5 h-3.5 bg-primary origin-bottom -translate-x-1/2 -translate-y-full\" />\n <motion.div animate={{ rotate: 360 }} transition={{ repeat: Infinity, duration: 1, ease: \"linear\" }} className=\"absolute top-1/2 left-1/2 w-0.5 h-4.5 bg-primary/70 origin-bottom -translate-x-1/2 -translate-y-full\" />\n </div>\n)\n\n// 9. BatteryLoader\nexport const BatteryLoader = () => (\n <div className=\"flex items-center\">\n <div className=\"w-12 h-6 border-2 border-primary rounded-sm p-0.5 flex\">\n <motion.div animate={{ width: [\"0%\", \"100%\"] }} transition={{ repeat: Infinity, duration: 2, ease: \"linear\" }} className=\"h-full bg-green-500 rounded-sm\" />\n </div>\n <div className=\"w-1 h-2 bg-primary rounded-r-sm\" />\n </div>\n)\n\n// 10. SquareSpinLoader\nexport const SquareSpinLoader = () => (\n <motion.div animate={{ rotateX: [0, 180, 180, 0], rotateY: [0, 0, 180, 180] }} transition={{ repeat: Infinity, duration: 2, ease: \"easeInOut\" }} className=\"w-8 h-8 bg-primary\" />\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { AlertCircle, Info, CheckCircle2, XCircle, Cookie, BellRing } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\n\n// 1. CyberAlert\nexport const CyberAlert = ({ title, description }: any) => {\n const [visible, setVisible] = React.useState(true)\n if (!visible) return null;\n return (\n <div className=\"border-l-4 border-yellow-400 bg-black text-white p-4 shadow-[4px_4px_0_0_rgba(250,204,21,1)] relative overflow-hidden\">\n <div className=\"absolute top-0 right-0 bg-yellow-400 text-black text-[10px] font-bold px-2 py-0.5 cursor-pointer hover:bg-yellow-500\" onClick={() => setVisible(false)}>DISMISS</div>\n <h4 className=\"font-mono font-bold tracking-tight text-yellow-400 uppercase pr-10\">{title}</h4>\n <p className=\"font-mono text-sm opacity-90\">{description}</p>\n </div>\n )\n}\n\n// 2. SoftAlert\nexport const SoftAlert = ({ title, description, type = \"info\" }: any) => {\n const [visible, setVisible] = React.useState(true)\n if (!visible) return null;\n const colors = type === \"error\" ? \"bg-red-50 text-red-800 dark:bg-red-950/50 dark:text-red-300\" : \"bg-blue-50 text-blue-800 dark:bg-blue-950/50 dark:text-blue-300\"\n return (\n <div className={`p-4 rounded-2xl ${colors} relative`}>\n <button onClick={() => setVisible(false)} className=\"absolute top-4 right-4 hover:opacity-70\"><XCircle className=\"w-5 h-5\" /></button>\n <h4 className=\"font-bold mb-1 pr-6\">{title}</h4>\n <p className=\"text-sm opacity-90\">{description}</p>\n </div>\n )\n}\n\n// 3. MinimalAlert\nexport const MinimalAlert = ({ text }: any) => (\n <div className=\"flex items-center gap-3 py-2 px-4 border rounded-full text-sm font-medium w-fit\">\n <span className=\"relative flex h-2 w-2\"><span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75\"></span><span className=\"relative inline-flex rounded-full h-2 w-2 bg-primary\"></span></span>\n {text}\n </div>\n)\n\n// 4. LeftBorderAlert\nexport const LeftBorderAlert = ({ title, description }: any) => {\n const [visible, setVisible] = React.useState(true)\n if (!visible) return null;\n return (\n <div className=\"border-l-4 border-primary bg-muted/50 p-4 relative\">\n <button onClick={() => setVisible(false)} className=\"absolute top-4 right-4 text-muted-foreground hover:text-foreground\"><XCircle className=\"w-4 h-4\" /></button>\n <h4 className=\"font-semibold pr-6\">{title}</h4>\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n </div>\n )\n}\n\n// 5. IconTopAlert\nexport const IconTopAlert = ({ title, description, icon: Icon = AlertCircle }: any) => (\n <div className=\"flex flex-col items-center text-center p-6 bg-card border rounded-xl\">\n <div className=\"h-12 w-12 rounded-full bg-destructive/10 text-destructive flex items-center justify-center mb-4\">\n <Icon className=\"h-6 w-6\" />\n </div>\n <h4 className=\"font-bold text-lg mb-2\">{title}</h4>\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n </div>\n)\n\n// 6. SolidAlert\nexport const SolidAlert = ({ title, description }: any) => (\n <div className=\"bg-primary text-primary-foreground p-4 rounded-lg shadow-lg\">\n <div className=\"flex gap-3\">\n <Info className=\"h-5 w-5 shrink-0 mt-0.5\" />\n <div>\n <h4 className=\"font-bold\">{title}</h4>\n <p className=\"text-sm opacity-90 mt-1\">{description}</p>\n </div>\n </div>\n </div>\n)\n\n// 7. ToastAlertWrapper (Visual representation)\nexport const ToastAlertWrapper = ({ title, description, time }: any) => (\n <div className=\"max-w-sm w-full bg-background border shadow-xl rounded-lg p-4 flex gap-4 items-start pointer-events-none\">\n <CheckCircle2 className=\"h-5 w-5 text-green-500 shrink-0 mt-0.5\" />\n <div className=\"flex-1\">\n <h4 className=\"font-medium text-sm\">{title}</h4>\n <p className=\"text-sm text-muted-foreground mt-1\">{description}</p>\n </div>\n <span className=\"text-xs text-muted-foreground\">{time}</span>\n </div>\n)\n\n// 8. BannerAlert\nexport const BannerAlert = ({ text, actionText }: any) => (\n <div className=\"w-full bg-indigo-600 text-white px-4 py-3 flex items-center justify-between sm:rounded-lg\">\n <div className=\"flex items-center gap-3\">\n <BellRing className=\"h-5 w-5\" />\n <p className=\"text-sm font-medium\">{text}</p>\n </div>\n <button className=\"text-sm font-bold bg-white text-indigo-600 px-3 py-1 rounded-md hover:bg-indigo-50 transition-colors\">{actionText}</button>\n </div>\n)\n\n// 9. CookieAlert\nexport const CookieAlert = () => (\n <div className=\"max-w-md bg-card border rounded-xl p-6 shadow-2xl\">\n <div className=\"flex items-center gap-3 mb-4\">\n <Cookie className=\"h-6 w-6 text-orange-500\" />\n <h4 className=\"font-bold\">Cookie Preferences</h4>\n </div>\n <p className=\"text-sm text-muted-foreground mb-6\">We use cookies to improve your experience. By continuing to visit this site you agree to our use of cookies.</p>\n <div className=\"flex gap-3\">\n <button className=\"flex-1 px-4 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium\">Accept All</button>\n <button className=\"flex-1 px-4 py-2 border rounded-lg text-sm font-medium hover:bg-muted\">Decline</button>\n </div>\n </div>\n)\n\n// 10. NeonAlert\nexport const NeonAlert = ({ title, description }: any) => (\n <div className=\"p-4 rounded-lg border border-purple-500 bg-purple-500/10 text-purple-200 shadow-[0_0_15px_rgba(168,85,247,0.3)]\">\n <h4 className=\"font-bold text-purple-400 drop-shadow-[0_0_5px_rgba(168,85,247,0.8)]\">{title}</h4>\n <p className=\"text-sm mt-1\">{description}</p>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { Avatar, AvatarFallback, AvatarImage } from \"./avatar\"\n\n// 1. StackAvatar (Avatar Group element)\nexport const StackAvatar = ({ urls = [], max = 3, fallback = \"U\" }: any) => {\n const visibleUrls = urls.slice(0, max);\n const remaining = urls.length - max;\n \n return (\n <div className=\"flex -space-x-4\">\n {visibleUrls.map((src: string, i: number) => (\n <Avatar key={i} className=\"border-2 border-background ring-2 ring-transparent transition-transform hover:-translate-y-1 hover:ring-primary relative z-[1]\">\n <AvatarImage src={src} />\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n ))}\n {remaining > 0 && (\n <Avatar className=\"border-2 border-background relative z-[1]\">\n <AvatarFallback className=\"bg-muted text-foreground\">+{remaining}</AvatarFallback>\n </Avatar>\n )}\n </div>\n )\n}\n\n// 2. DottedAvatar\nexport const DottedAvatar = ({ src, fallback }: any) => (\n <Avatar className=\"border-2 border-dashed border-primary p-0.5 bg-transparent\">\n {src && <AvatarImage src={src} className=\"rounded-full\" />}\n <AvatarFallback className=\"bg-muted\">{fallback}</AvatarFallback>\n </Avatar>\n)\n\n// 3. ShadowAvatar\nexport const ShadowAvatar = ({ src, fallback }: any) => (\n <Avatar className=\"shadow-[0_8px_30px_rgb(0,0,0,0.12)] border\">\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n)\n\n// 4. PolymorphAvatar (Organic shape)\nexport const PolymorphAvatar = ({ src, fallback }: any) => (\n <Avatar className=\"rounded-[30%_70%_70%_30%/30%_30%_70%_70%] border\">\n {src && <AvatarImage src={src} className=\"rounded-[30%_70%_70%_30%/30%_30%_70%_70%]\" />}\n <AvatarFallback className=\"rounded-[30%_70%_70%_30%/30%_30%_70%_70%]\">{fallback}</AvatarFallback>\n </Avatar>\n)\n\n// 5. GlassAvatar\nexport const GlassAvatar = ({ src, fallback }: any) => (\n <div className=\"p-1 rounded-full bg-white/10 backdrop-blur-md border border-white/20 shadow-xl\">\n <Avatar>\n {src && <AvatarImage src={src} />}\n <AvatarFallback className=\"bg-transparent text-white\">{fallback}</AvatarFallback>\n </Avatar>\n </div>\n)\n\n// 6. AnimatedBorderAvatar\nexport const AnimatedBorderAvatar = ({ src, fallback }: any) => (\n <div className=\"relative p-[2px] rounded-full overflow-hidden inline-block\">\n <motion.div animate={{ rotate: 360 }} transition={{ repeat: Infinity, duration: 3, ease: \"linear\" }} className=\"absolute inset-[-50%] bg-[conic-gradient(from_0deg,transparent_0_340deg,hsl(var(--primary))_360deg)]\" />\n <Avatar className=\"relative border-2 border-background\">\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n </div>\n)\n\n// 7. InitialsGradientAvatar\nexport const InitialsGradientAvatar = ({ initials }: any) => (\n <Avatar>\n <AvatarFallback className=\"bg-gradient-to-br from-indigo-500 via-purple-500 to-pink-500 text-white font-bold text-lg\">\n {initials}\n </AvatarFallback>\n </Avatar>\n)\n\n// 8. SquareAvatar\nexport const SquareAvatar = ({ src, fallback }: any) => (\n <Avatar className=\"rounded-md border\">\n {src && <AvatarImage src={src} className=\"rounded-md\" />}\n <AvatarFallback className=\"rounded-md\">{fallback}</AvatarFallback>\n </Avatar>\n)\n\n// 9. TooltipAvatar (Visual only for docs)\nexport const TooltipAvatar = ({ src, fallback, tooltip }: any) => (\n <div className=\"group relative inline-block\">\n <Avatar className=\"border cursor-pointer\">\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n <div className=\"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-foreground text-background text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap\">\n {tooltip}\n </div>\n </div>\n)\n\n// 10. PulseAvatar\nexport const PulseAvatar = ({ src, fallback }: any) => (\n <div className=\"relative inline-block\">\n <span className=\"absolute inset-0 rounded-full bg-primary animate-ping opacity-75\"></span>\n <Avatar className=\"relative border-2 border-background\">\n {src && <AvatarImage src={src} />}\n <AvatarFallback>{fallback}</AvatarFallback>\n </Avatar>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Home, Search, Bell, User, Settings, Menu, ChevronRight } from \"lucide-react\"\n\n// 1. SimpleNavbar\nexport const SimpleNavbar = () => (\n <nav className=\"flex items-center justify-between p-4 border-b bg-background w-full\">\n <div className=\"font-bold text-lg\">Logo</div>\n <div className=\"hidden md:flex gap-6 text-sm font-medium text-muted-foreground\">\n <a href=\"#\" className=\"text-foreground\">Home</a>\n <a href=\"#\" className=\"hover:text-foreground\">About</a>\n <a href=\"#\" className=\"hover:text-foreground\">Services</a>\n <a href=\"#\" className=\"hover:text-foreground\">Contact</a>\n </div>\n <div className=\"flex gap-4\">\n <button><Search className=\"w-5 h-5\" /></button>\n <button className=\"md:hidden\"><Menu className=\"w-5 h-5\" /></button>\n </div>\n </nav>\n)\n\n// 2. CenteredNavbar\nexport const CenteredNavbar = () => (\n <nav className=\"flex items-center justify-between p-4 border-b bg-background w-full\">\n <div className=\"flex-1\"><div className=\"font-bold text-lg\">Logo</div></div>\n <div className=\"hidden md:flex gap-6 text-sm font-medium\">\n <a href=\"#\">Products</a>\n <a href=\"#\">Solutions</a>\n <a href=\"#\">Pricing</a>\n </div>\n <div className=\"flex-1 flex justify-end gap-2\">\n <button className=\"px-4 py-2 text-sm font-medium\">Log in</button>\n <button className=\"px-4 py-2 text-sm font-medium bg-primary text-primary-foreground rounded-md\">Sign up</button>\n </div>\n </nav>\n)\n\n// 3. GlassNavbar\nexport const GlassNavbar = () => (\n <nav className=\"flex items-center justify-between px-6 py-3 bg-white/10 backdrop-blur-md border border-white/20 rounded-full w-[90%] mx-auto mt-4 shadow-lg sticky top-4 z-50\">\n <div className=\"font-bold text-white\">Glass UI</div>\n <div className=\"flex gap-6 text-sm font-medium text-white/80\">\n <a href=\"#\" className=\"hover:text-white transition-colors\">Features</a>\n <a href=\"#\" className=\"hover:text-white transition-colors\">Pricing</a>\n </div>\n <button className=\"px-4 py-1.5 bg-white text-black rounded-full text-sm font-bold\">Start</button>\n </nav>\n)\n\n// 4. FloatingNavbar\nexport const FloatingNavbar = () => (\n <nav className=\"flex items-center justify-center gap-8 px-8 py-3 bg-card border rounded-full w-fit mx-auto mt-4 shadow-xl\">\n <a href=\"#\" className=\"flex flex-col items-center gap-1 text-primary\"><Home className=\"w-5 h-5\" /><span className=\"text-[10px] font-medium\">Home</span></a>\n <a href=\"#\" className=\"flex flex-col items-center gap-1 text-muted-foreground hover:text-foreground\"><Search className=\"w-5 h-5\" /><span className=\"text-[10px] font-medium\">Search</span></a>\n <a href=\"#\" className=\"flex flex-col items-center gap-1 text-muted-foreground hover:text-foreground\"><Bell className=\"w-5 h-5\" /><span className=\"text-[10px] font-medium\">Alerts</span></a>\n <a href=\"#\" className=\"flex flex-col items-center gap-1 text-muted-foreground hover:text-foreground\"><User className=\"w-5 h-5\" /><span className=\"text-[10px] font-medium\">Profile</span></a>\n </nav>\n)\n\n// 5. SidebarMenu (Visual snippet)\nexport const SidebarMenu = () => (\n <div className=\"w-64 h-full min-h-[300px] border-r bg-background p-4 flex flex-col gap-2\">\n <div className=\"font-bold text-xl mb-6 px-2\">Dashboard</div>\n <a href=\"#\" className=\"flex items-center gap-3 px-3 py-2 bg-muted rounded-md font-medium text-sm\"><Home className=\"w-4 h-4\" /> Overview</a>\n <a href=\"#\" className=\"flex items-center gap-3 px-3 py-2 text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded-md font-medium text-sm\"><Settings className=\"w-4 h-4\" /> Settings</a>\n <a href=\"#\" className=\"flex items-center gap-3 px-3 py-2 text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded-md font-medium text-sm mt-auto\"><User className=\"w-4 h-4\" /> Account</a>\n </div>\n)\n\n// 6. BottomNav (Mobile style)\nexport const BottomNav = () => (\n <div className=\"flex items-center justify-around p-3 border-t bg-background w-full mt-auto\">\n <button className=\"flex flex-col items-center gap-1 text-primary\"><Home className=\"w-5 h-5\" /></button>\n <button className=\"flex flex-col items-center gap-1 text-muted-foreground\"><Search className=\"w-5 h-5\" /></button>\n <div className=\"relative -top-5\"><button className=\"flex items-center justify-center w-12 h-12 bg-primary text-primary-foreground rounded-full shadow-lg\"><Menu className=\"w-6 h-6\" /></button></div>\n <button className=\"flex flex-col items-center gap-1 text-muted-foreground\"><Bell className=\"w-5 h-5\" /></button>\n <button className=\"flex flex-col items-center gap-1 text-muted-foreground\"><User className=\"w-5 h-5\" /></button>\n </div>\n)\n\n// 7. BreadcrumbTrail\nexport const BreadcrumbTrail = () => (\n <nav className=\"flex items-center text-sm text-muted-foreground space-x-1\">\n <a href=\"#\" className=\"hover:text-foreground hover:underline\">Home</a>\n <ChevronRight className=\"w-4 h-4\" />\n <a href=\"#\" className=\"hover:text-foreground hover:underline\">Products</a>\n <ChevronRight className=\"w-4 h-4\" />\n <span className=\"text-foreground font-medium\">Laptop</span>\n </nav>\n)\n\n// 8. StepIndicator\nexport const StepIndicator = ({ current = 2 }: any) => (\n <div className=\"flex items-center w-full max-w-sm\">\n <div className=\"flex items-center text-primary\"><div className=\"w-8 h-8 rounded-full border-2 border-primary bg-primary text-primary-foreground flex items-center justify-center font-bold text-sm\">1</div></div>\n <div className=\"flex-1 h-[2px] bg-primary mx-2\"></div>\n <div className=\"flex items-center text-primary\"><div className=\"w-8 h-8 rounded-full border-2 border-primary bg-background flex items-center justify-center font-bold text-sm\">2</div></div>\n <div className=\"flex-1 h-[2px] bg-muted mx-2\"></div>\n <div className=\"flex items-center text-muted-foreground\"><div className=\"w-8 h-8 rounded-full border-2 border-muted bg-background flex items-center justify-center font-bold text-sm\">3</div></div>\n </div>\n)\n\n// 9. TabMenu\nexport const TabMenu = () => (\n <div className=\"flex border-b w-full\">\n <button className=\"px-6 py-3 border-b-2 border-primary text-primary font-medium text-sm\">Account</button>\n <button className=\"px-6 py-3 border-b-2 border-transparent text-muted-foreground hover:text-foreground font-medium text-sm transition-colors\">Password</button>\n <button className=\"px-6 py-3 border-b-2 border-transparent text-muted-foreground hover:text-foreground font-medium text-sm transition-colors\">Notifications</button>\n </div>\n)\n\n// 10. DropdownMenuVisual\nexport const DropdownMenuVisual = () => (\n <div className=\"w-48 border bg-card rounded-md shadow-md p-1 flex flex-col\">\n <div className=\"px-2 py-1.5 text-sm font-semibold border-b mb-1\">My Account</div>\n <button className=\"px-2 py-1.5 text-sm text-left hover:bg-muted rounded-sm transition-colors\">Profile</button>\n <button className=\"px-2 py-1.5 text-sm text-left hover:bg-muted rounded-sm transition-colors\">Billing</button>\n <button className=\"px-2 py-1.5 text-sm text-left hover:bg-muted rounded-sm transition-colors\">Settings</button>\n <div className=\"border-t my-1\"></div>\n <button className=\"px-2 py-1.5 text-sm text-left text-destructive hover:bg-destructive/10 rounded-sm transition-colors\">Log out</button>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { ArrowUpRight, ArrowDownRight, Activity } from \"lucide-react\"\n\n// 1. CircularProgressCard\nexport const CircularProgressCard = ({ value = 75, label = \"Completion\" }: any) => (\n <div className=\"p-6 bg-card border rounded-2xl flex flex-col items-center gap-4\">\n <div className=\"relative w-24 h-24 flex items-center justify-center\">\n <svg className=\"transform -rotate-90 w-full h-full\"><circle cx=\"48\" cy=\"48\" r=\"40\" stroke=\"currentColor\" strokeWidth=\"8\" fill=\"transparent\" className=\"text-muted\" /><circle cx=\"48\" cy=\"48\" r=\"40\" stroke=\"currentColor\" strokeWidth=\"8\" fill=\"transparent\" strokeDasharray=\"251.2\" strokeDashoffset={251.2 - (251.2 * value) / 100} className=\"text-primary transition-all duration-1000 ease-out\" /></svg>\n <span className=\"absolute text-xl font-bold\">{value}%</span>\n </div>\n <span className=\"text-sm font-medium text-muted-foreground\">{label}</span>\n </div>\n)\n\n// 2. LineChartCard (Mock)\nexport const LineChartCard = () => (\n <div className=\"p-6 bg-card border rounded-2xl\">\n <div className=\"flex justify-between items-end mb-6\">\n <div><h3 className=\"text-muted-foreground text-sm font-medium\">Revenue</h3><p className=\"text-3xl font-bold\">$12,450</p></div>\n <span className=\"flex items-center text-green-500 text-sm font-bold\"><ArrowUpRight className=\"w-4 h-4 mr-1\" /> +14.5%</span>\n </div>\n <div className=\"h-24 flex items-end gap-1\">\n {[40, 30, 50, 45, 60, 55, 70, 65, 80, 75, 90, 85, 100].map((h, i) => (\n <div key={i} className=\"flex-1 bg-primary/20 hover:bg-primary transition-colors rounded-t-sm\" style={{ height: `${h}%` }} />\n ))}\n </div>\n </div>\n)\n\n// 3. BarChartCard (Mock)\nexport const BarChartCard = () => (\n <div className=\"p-6 bg-card border rounded-2xl\">\n <h3 className=\"font-bold mb-4\">Traffic Sources</h3>\n <div className=\"space-y-3\">\n {[{ l: \"Direct\", v: 60, c: \"bg-blue-500\" }, { l: \"Social\", v: 30, c: \"bg-indigo-500\" }, { l: \"Referral\", v: 10, c: \"bg-purple-500\" }].map((item, i) => (\n <div key={i}>\n <div className=\"flex justify-between text-xs mb-1\"><span>{item.l}</span><span>{item.v}%</span></div>\n <div className=\"h-2 w-full bg-muted rounded-full overflow-hidden\"><motion.div initial={{ width: 0 }} animate={{ width: `${item.v}%` }} className={`h-full ${item.c}`} /></div>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 4. TrendStatCard\nexport const TrendStatCard = ({ title = \"Active Users\", value = \"2,345\", trend = \"up\" }: any) => (\n <div className=\"p-4 bg-card border border-l-4 border-l-primary rounded-lg shadow-sm flex justify-between items-center\">\n <div>\n <p className=\"text-sm text-muted-foreground\">{title}</p>\n <h4 className=\"text-2xl font-bold\">{value}</h4>\n </div>\n <div className={`p-2 rounded-full ${trend === 'up' ? 'bg-green-500/10 text-green-500' : 'bg-red-500/10 text-red-500'}`}>\n {trend === 'up' ? <ArrowUpRight className=\"w-5 h-5\" /> : <ArrowDownRight className=\"w-5 h-5\" />}\n </div>\n </div>\n)\n\n// 5. RankingList\nexport const RankingList = () => (\n <div className=\"p-6 bg-card border rounded-2xl space-y-4\">\n <h3 className=\"font-bold\">Top Products</h3>\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"flex items-center gap-3\">\n <span className=\"w-6 h-6 rounded-full bg-muted flex items-center justify-center text-xs font-bold\">{i}</span>\n <div className=\"flex-1\"><h4 className=\"text-sm font-semibold\">Product {i}</h4><p className=\"text-xs text-muted-foreground\">{1000 - i * 100} sales</p></div>\n <span className=\"text-sm font-bold text-primary\">${(1000 - i * 100) * 10}</span>\n </div>\n ))}\n </div>\n)\n\n// 6. ActivityHeatmap (Mock)\nexport const ActivityHeatmap = () => (\n <div className=\"p-6 bg-card border rounded-2xl flex flex-col items-center\">\n <h3 className=\"font-bold mb-4 w-full text-left\">Activity Heatmap</h3>\n <div className=\"grid grid-cols-7 gap-1\">\n {Array.from({ length: 28 }).map((_, i) => (\n <div key={i} className=\"w-4 h-4 rounded-sm\" style={{ backgroundColor: `rgba(var(--color-primary), ${Math.random() * 0.8 + 0.1})` }} />\n ))}\n </div>\n </div>\n)\n\n// 7. RadarChartMock\nexport const RadarChartMock = () => (\n <div className=\"p-6 bg-card border rounded-2xl flex items-center justify-center min-h-[200px] relative\">\n <div className=\"absolute inset-0 flex items-center justify-center opacity-10\">\n <svg viewBox=\"0 0 100 100\" className=\"w-32 h-32 stroke-foreground fill-transparent stroke-1\"><polygon points=\"50,0 100,25 100,75 50,100 0,75 0,25\" /></svg>\n <svg viewBox=\"0 0 100 100\" className=\"w-20 h-20 absolute stroke-foreground fill-transparent stroke-1\"><polygon points=\"50,0 100,25 100,75 50,100 0,75 0,25\" /></svg>\n </div>\n <svg viewBox=\"0 0 100 100\" className=\"w-32 h-32 absolute stroke-primary fill-primary/30 stroke-2\"><polygon points=\"50,20 80,40 70,80 40,90 20,50\" /></svg>\n <div className=\"absolute top-2 text-xs font-bold\">Speed</div><div className=\"absolute bottom-2 text-xs font-bold\">Power</div>\n </div>\n)\n\n// 8. GaugeMeter\nexport const GaugeMeter = ({ value = 65 }: any) => (\n <div className=\"p-6 bg-card border rounded-2xl flex flex-col items-center\">\n <div className=\"relative w-32 h-16 overflow-hidden\">\n <div className=\"absolute top-0 left-0 w-32 h-32 rounded-full border-[12px] border-muted\" />\n <div className=\"absolute top-0 left-0 w-32 h-32 rounded-full border-[12px] border-primary border-b-transparent border-r-transparent transform -rotate-45\" style={{ clipPath: `polygon(0 0, 100% 0, 100% ${value}%, 0 ${value}%)` }} />\n </div>\n <div className=\"mt-[-10px] text-center\"><h4 className=\"text-2xl font-bold\">{value}</h4><p className=\"text-xs text-muted-foreground\">Score</p></div>\n </div>\n)\n\n// 9. SparklineStat\nexport const SparklineStat = () => (\n <div className=\"p-4 bg-card border rounded-lg flex items-center justify-between\">\n <div><p className=\"text-sm text-muted-foreground\">Bounce Rate</p><h4 className=\"text-xl font-bold\">42.3%</h4></div>\n <svg className=\"w-16 h-8 stroke-red-500 stroke-2 fill-none\"><polyline points=\"0,20 10,25 20,15 30,20 40,5 50,10 60,0\" /></svg>\n </div>\n)\n\n// 10. MetricGrid\nexport const MetricGrid = () => (\n <div className=\"grid grid-cols-2 gap-2\">\n {[{ l: \"Users\", v: \"1.2k\" }, { l: \"Sessions\", v: \"3.4k\" }, { l: \"Duration\", v: \"2m 14s\" }, { l: \"Issues\", v: \"4\" }].map((m, i) => (\n <div key={i} className=\"bg-card border p-3 rounded-lg text-center\"><p className=\"text-xs text-muted-foreground mb-1\">{m.l}</p><p className=\"font-bold\">{m.v}</p></div>\n ))}\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { CheckCircle2, ChevronRight, Mail, Phone, MapPin } from \"lucide-react\"\n\n// 1. FeatureGridX\nexport const FeatureGridX = () => (\n <div className=\"grid md:grid-cols-3 gap-8 py-12\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex flex-col items-center text-center p-6 border rounded-2xl bg-card hover:shadow-lg transition-shadow\">\n <div className=\"w-12 h-12 bg-primary/10 text-primary rounded-xl flex items-center justify-center mb-4\"><CheckCircle2 /></div>\n <h3 className=\"text-xl font-bold mb-2\">Feature {i}</h3>\n <p className=\"text-muted-foreground text-sm\">Amazing feature description that explains the value proposition clearly to the user.</p>\n </div>\n ))}\n </div>\n)\n\n// 2. HeroSectionX\nexport const HeroSectionX = () => (\n <div className=\"text-center py-20 px-4 rounded-3xl bg-gradient-to-br from-primary/5 via-background to-primary/5 border my-12\">\n <span className=\"px-3 py-1 bg-primary/10 text-primary rounded-full text-sm font-medium mb-6 inline-block\">New Version 2.0</span>\n <h1 className=\"text-5xl md:text-7xl font-extrabold tracking-tight mb-6\">Build Faster. <span className=\"text-primary\">Scale Better.</span></h1>\n <p className=\"text-xl text-muted-foreground max-w-2xl mx-auto mb-10\">The ultimate UI kit for modern startups and forward-thinking developers.</p>\n <div className=\"flex justify-center gap-4\">\n <button className=\"px-8 py-4 bg-primary text-primary-foreground font-bold rounded-full shadow-xl hover:scale-105 transition-transform\">Start Building Free</button>\n <button className=\"px-8 py-4 bg-background border font-bold rounded-full hover:bg-muted transition-colors\">Book Demo</button>\n </div>\n </div>\n)\n\n// 3. FaqAccordionX (Visual)\nexport const FaqAccordionX = () => (\n <div className=\"max-w-3xl mx-auto py-12 space-y-4\">\n <h2 className=\"text-3xl font-bold text-center mb-8\">Frequently Asked Questions</h2>\n {[1, 2, 3].map(i => (\n <div key={i} className=\"border rounded-xl p-5 bg-card\">\n <div className=\"flex justify-between items-center font-bold\"><span>Question {i}?</span><ChevronRight className=\"w-5 h-5\" /></div>\n {i === 1 && <p className=\"text-muted-foreground mt-2 text-sm\">Yes, you can use it in commercial projects without attribution.</p>}\n </div>\n ))}\n </div>\n)\n\n// 4. TeamSectionX\nexport const TeamSectionX = () => (\n <div className=\"py-12\">\n <h2 className=\"text-3xl font-bold text-center mb-12\">Meet the Team</h2>\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-8\">\n {[1, 2, 3, 4].map(i => (\n <div key={i} className=\"flex flex-col items-center\">\n <div className=\"w-32 h-32 rounded-full bg-muted mb-4 border-4 border-background shadow-lg\" />\n <h3 className=\"font-bold\">Member {i}</h3>\n <p className=\"text-sm text-primary\">Position</p>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 5. LogoCloudX\nexport const LogoCloudX = () => (\n <div className=\"py-12 border-y bg-muted/30 my-12\">\n <p className=\"text-center text-sm font-medium text-muted-foreground mb-8\">TRUSTED BY INNOVATIVE TEAMS</p>\n <div className=\"flex flex-wrap justify-center gap-12 opacity-50 grayscale\">\n {[1, 2, 3, 4, 5].map(i => <div key={i} className=\"text-xl font-bold uppercase tracking-widest\">Logo{i}</div>)}\n </div>\n </div>\n)\n\n// 6. CTASectionX\nexport const CTASectionX = () => (\n <div className=\"bg-primary text-primary-foreground rounded-3xl p-12 text-center my-12 relative overflow-hidden\">\n <div className=\"absolute top-0 right-0 w-64 h-64 bg-white/10 rounded-full blur-3xl -translate-y-1/2 translate-x-1/2\" />\n <h2 className=\"text-4xl font-bold mb-4 relative z-10\">Ready to transform your workflow?</h2>\n <p className=\"text-lg opacity-90 max-w-2xl mx-auto mb-8 relative z-10\">Join thousands of developers building better applications faster.</p>\n <button className=\"bg-background text-foreground px-8 py-4 rounded-full font-bold relative z-10 hover:scale-105 transition-transform shadow-2xl\">Get Started Now</button>\n </div>\n)\n\n// 7. ContactFormX\nexport const ContactFormX = () => (\n <div className=\"grid md:grid-cols-2 gap-12 py-12\">\n <div>\n <h2 className=\"text-3xl font-bold mb-4\">Get in touch</h2>\n <p className=\"text-muted-foreground mb-8\">Fill out the form and our team will get back to you within 24 hours.</p>\n <div className=\"space-y-4\">\n <div className=\"flex items-center gap-3\"><Mail className=\"text-primary w-5 h-5\" /><span>hello@example.com</span></div>\n <div className=\"flex items-center gap-3\"><Phone className=\"text-primary w-5 h-5\" /><span>+1 (555) 000-0000</span></div>\n <div className=\"flex items-center gap-3\"><MapPin className=\"text-primary w-5 h-5\" /><span>123 Innovation Drive, NY</span></div>\n </div>\n </div>\n <div className=\"bg-card p-6 border rounded-2xl flex flex-col gap-4\">\n <input placeholder=\"Name\" className=\"p-3 bg-background border rounded-lg\" />\n <input placeholder=\"Email\" className=\"p-3 bg-background border rounded-lg\" />\n <textarea placeholder=\"Message\" className=\"p-3 bg-background border rounded-lg h-32\" />\n <button className=\"bg-primary text-primary-foreground p-3 rounded-lg font-bold\">Send Message</button>\n </div>\n </div>\n)\n\n// 8. PricingCardsX\nexport const PricingCardsX = () => (\n <div className=\"grid md:grid-cols-2 gap-8 max-w-4xl mx-auto py-12\">\n <div className=\"p-8 border rounded-3xl bg-card\">\n <h3 className=\"text-2xl font-bold mb-2\">Starter</h3>\n <p className=\"text-muted-foreground mb-6\">Perfect for side projects.</p>\n <div className=\"text-4xl font-bold mb-8\">$0<span className=\"text-lg text-muted-foreground font-normal\">/mo</span></div>\n <button className=\"w-full py-3 bg-muted font-bold rounded-xl mb-6\">Start Free</button>\n <ul className=\"space-y-3 text-sm\"><li>✓ 1 Project</li><li>✓ Basic Support</li></ul>\n </div>\n <div className=\"p-8 border-2 border-primary rounded-3xl bg-primary/5 relative\">\n <span className=\"absolute top-0 right-8 -translate-y-1/2 bg-primary text-primary-foreground text-xs font-bold px-3 py-1 rounded-full\">PRO</span>\n <h3 className=\"text-2xl font-bold mb-2\">Professional</h3>\n <p className=\"text-muted-foreground mb-6\">For serious developers.</p>\n <div className=\"text-4xl font-bold mb-8\">$29<span className=\"text-lg text-muted-foreground font-normal\">/mo</span></div>\n <button className=\"w-full py-3 bg-primary text-primary-foreground font-bold rounded-xl mb-6 shadow-xl\">Subscribe</button>\n <ul className=\"space-y-3 text-sm\"><li>✓ Unlimited Projects</li><li>✓ Priority Support</li><li>✓ Advanced Analytics</li></ul>\n </div>\n </div>\n)\n\n// 9. TestimonialSliderX (Visual)\nexport const TestimonialSliderX = () => (\n <div className=\"py-16 text-center max-w-3xl mx-auto\">\n <div className=\"text-6xl text-primary/20 font-serif mb-4\">\"</div>\n <p className=\"text-2xl md:text-3xl font-medium leading-relaxed mb-8\">This is the best UI library I have ever used. It completely transformed how my team builds web applications.</p>\n <div className=\"flex items-center justify-center gap-4\">\n <div className=\"w-12 h-12 bg-muted rounded-full\" />\n <div className=\"text-left\">\n <div className=\"font-bold\">Sarah Jenkins</div>\n <div className=\"text-sm text-muted-foreground\">CTO at TechFlow</div>\n </div>\n </div>\n <div className=\"flex justify-center gap-2 mt-8\">\n <div className=\"w-2 h-2 bg-primary rounded-full\" /><div className=\"w-2 h-2 bg-muted rounded-full\" /><div className=\"w-2 h-2 bg-muted rounded-full\" />\n </div>\n </div>\n)\n\n// 10. FooterX\nexport const FooterX = () => (\n <footer className=\"border-t pt-16 pb-8 mt-12\">\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-8 mb-12\">\n <div className=\"col-span-2 md:col-span-1\">\n <div className=\"font-bold text-xl mb-4\">NexoreUI</div>\n <p className=\"text-muted-foreground text-sm\">Building the future of web interfaces, one component at a time.</p>\n </div>\n <div>\n <h4 className=\"font-bold mb-4\">Product</h4>\n <ul className=\"space-y-2 text-sm text-muted-foreground\"><li>Features</li><li>Pricing</li><li>Changelog</li></ul>\n </div>\n <div>\n <h4 className=\"font-bold mb-4\">Resources</h4>\n <ul className=\"space-y-2 text-sm text-muted-foreground\"><li>Documentation</li><li>Blog</li><li>Community</li></ul>\n </div>\n <div>\n <h4 className=\"font-bold mb-4\">Legal</h4>\n <ul className=\"space-y-2 text-sm text-muted-foreground\"><li>Privacy</li><li>Terms</li></ul>\n </div>\n </div>\n <div className=\"text-center text-sm text-muted-foreground border-t pt-8\">© 2026 NexoreUI. All rights reserved.</div>\n </footer>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Lock, Mail, User, EyeOff, Eye, CreditCard, Calendar, Upload, Search } from \"lucide-react\"\n\n// 1. LoginFormPro\nexport const LoginFormPro = () => {\n const [isLoading, setIsLoading] = React.useState(false)\n const [success, setSuccess] = React.useState(false)\n\n const handleSubmit = () => {\n setIsLoading(true)\n setTimeout(() => { setIsLoading(false); setSuccess(true) }, 1500)\n }\n\n return (\n <div className=\"w-full max-w-sm p-6 border rounded-2xl bg-card shadow-lg\">\n <div className=\"text-center mb-6\"><h2 className=\"text-2xl font-bold\">Welcome back</h2><p className=\"text-muted-foreground text-sm\">Enter your credentials to access your account</p></div>\n {success ? (\n <div className=\"p-4 bg-green-500/10 text-green-500 border border-green-500/20 rounded-xl text-center mb-4 font-medium\">Successfully logged in! Redirecting...</div>\n ) : null}\n <div className=\"space-y-4\">\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Email</label><div className=\"relative\"><Mail className=\"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground\" /><input className=\"w-full pl-9 pr-3 py-2 border rounded-lg bg-background focus:ring-2 focus:ring-primary outline-none\" placeholder=\"m@example.com\" /></div></div>\n <div className=\"space-y-1\"><div className=\"flex justify-between\"><label className=\"text-sm font-medium\">Password</label><a href=\"#\" className=\"text-xs text-primary hover:underline\">Forgot password?</a></div><div className=\"relative\"><Lock className=\"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground\" /><input type=\"password\" className=\"w-full pl-9 pr-10 py-2 border rounded-lg bg-background focus:ring-2 focus:ring-primary outline-none\" placeholder=\"••••••••\" /><Eye className=\"absolute right-3 top-2.5 h-4 w-4 text-muted-foreground cursor-pointer hover:text-foreground\" /></div></div>\n <button onClick={handleSubmit} disabled={isLoading} className=\"w-full py-2.5 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-70 flex justify-center items-center\">\n {isLoading ? <div className=\"w-5 h-5 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin\" /> : \"Sign In\"}\n </button>\n </div>\n <div className=\"mt-4 text-center text-sm\">Don't have an account? <a href=\"#\" className=\"text-primary hover:underline font-medium\">Sign up</a></div>\n </div>\n )\n}\n\n// 2. RegisterFormPro\nexport const RegisterFormPro = () => (\n <div className=\"w-full max-w-sm p-6 border rounded-2xl bg-card shadow-lg\">\n <div className=\"text-center mb-6\"><h2 className=\"text-2xl font-bold\">Create an account</h2><p className=\"text-muted-foreground text-sm\">Start your 14-day free trial</p></div>\n <div className=\"space-y-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">First name</label><input className=\"w-full px-3 py-2 border rounded-lg bg-background outline-none focus:ring-2 focus:ring-primary\" placeholder=\"Max\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Last name</label><input className=\"w-full px-3 py-2 border rounded-lg bg-background outline-none focus:ring-2 focus:ring-primary\" placeholder=\"Robinson\" /></div>\n </div>\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Email</label><input className=\"w-full px-3 py-2 border rounded-lg bg-background outline-none focus:ring-2 focus:ring-primary\" placeholder=\"m@example.com\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Password</label><input type=\"password\" className=\"w-full px-3 py-2 border rounded-lg bg-background outline-none focus:ring-2 focus:ring-primary\" placeholder=\"••••••••\" /></div>\n <button className=\"w-full py-2.5 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors\">Create Account</button>\n </div>\n </div>\n)\n\n// 3. PaymentFormPro\nexport const PaymentFormPro = () => {\n const [method, setMethod] = React.useState('card')\n return (\n <div className=\"w-full max-w-md p-6 border rounded-2xl bg-card\">\n <h3 className=\"text-lg font-bold mb-4\">Payment Method</h3>\n <div className=\"grid grid-cols-3 gap-3 mb-6\">\n <button onClick={() => setMethod('card')} className={`flex flex-col items-center justify-center p-3 border rounded-xl gap-2 hover:bg-muted transition-colors ${method === 'card' ? 'border-primary bg-primary/5 ring-1 ring-primary text-primary' : 'text-muted-foreground'}`}><CreditCard className=\"h-6 w-6\" /><span className=\"text-xs font-medium\">Card</span></button>\n <button onClick={() => setMethod('paypal')} className={`flex flex-col items-center justify-center p-3 border rounded-xl gap-2 hover:bg-muted transition-colors ${method === 'paypal' ? 'border-primary bg-primary/5 ring-1 ring-primary text-primary' : 'text-muted-foreground'}`}><div className=\"font-bold text-lg leading-none\">P</div><span className=\"text-xs font-medium\">PayPal</span></button>\n <button onClick={() => setMethod('apple')} className={`flex flex-col items-center justify-center p-3 border rounded-xl gap-2 hover:bg-muted transition-colors ${method === 'apple' ? 'border-primary bg-primary/5 ring-1 ring-primary text-primary' : 'text-muted-foreground'}`}><div className=\"font-bold text-lg leading-none\"></div><span className=\"text-xs font-medium\">Apple Pay</span></button>\n </div>\n {method === 'card' ? (\n <div className=\"space-y-4\">\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Cardholder Name</label><input className=\"w-full px-3 py-2 border rounded-lg bg-background\" placeholder=\"John Doe\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Card Number</label><div className=\"relative\"><CreditCard className=\"absolute left-3 top-2.5 h-4 w-4 text-muted-foreground\" /><input className=\"w-full pl-9 pr-3 py-2 border rounded-lg bg-background\" placeholder=\"0000 0000 0000 0000\" /></div></div>\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Expiry Date</label><input className=\"w-full px-3 py-2 border rounded-lg bg-background\" placeholder=\"MM/YY\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">CVC</label><input className=\"w-full px-3 py-2 border rounded-lg bg-background\" placeholder=\"123\" /></div>\n </div>\n </div>\n ) : (\n <div className=\"p-8 text-center border-2 border-dashed rounded-xl bg-muted/10\">\n <p className=\"text-sm text-muted-foreground\">You will be redirected to {method === 'paypal' ? 'PayPal' : 'Apple Pay'} to complete your purchase securely.</p>\n </div>\n )}\n <button className=\"w-full py-2.5 bg-foreground text-background rounded-lg font-medium mt-6\">Pay $99.00</button>\n </div>\n )\n}\n\n// 4. ProfileSettingsForm\nexport const ProfileSettingsForm = () => (\n <div className=\"w-full max-w-md space-y-6\">\n <div className=\"flex items-center gap-6\">\n <div className=\"h-20 w-20 rounded-full bg-muted flex items-center justify-center overflow-hidden border\"><User className=\"h-8 w-8 text-muted-foreground\" /></div>\n <div className=\"flex gap-2\"><button className=\"px-4 py-2 bg-primary text-primary-foreground text-sm font-medium rounded-md\">Change</button><button className=\"px-4 py-2 border text-sm font-medium rounded-md\">Remove</button></div>\n </div>\n <div className=\"space-y-4\">\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Username</label><input className=\"w-full px-3 py-2 border rounded-md\" defaultValue=\"al1mov77\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm font-medium\">Bio</label><textarea className=\"w-full px-3 py-2 border rounded-md h-24\" defaultValue=\"Frontend Developer building UI components.\" /></div>\n <button className=\"px-4 py-2 bg-foreground text-background font-medium rounded-md\">Save Changes</button>\n </div>\n </div>\n)\n\n// 5. SubscriptionForm\nexport const SubscriptionForm = () => (\n <div className=\"w-full max-w-sm p-1 border rounded-full bg-muted flex\">\n <input className=\"flex-1 bg-transparent px-4 py-2 outline-none text-sm\" placeholder=\"Enter your email\" />\n <button className=\"px-6 py-2 bg-primary text-primary-foreground rounded-full text-sm font-bold shadow-sm\">Subscribe</button>\n </div>\n)\n\n// 6. ContactFormPro\nexport const ContactFormPro = () => (\n <div className=\"w-full space-y-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"space-y-1\"><label className=\"text-sm\">First Name</label><input className=\"w-full p-2 border rounded-md bg-muted/50\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm\">Last Name</label><input className=\"w-full p-2 border rounded-md bg-muted/50\" /></div>\n </div>\n <div className=\"space-y-1\"><label className=\"text-sm\">Email</label><input className=\"w-full p-2 border rounded-md bg-muted/50\" /></div>\n <div className=\"space-y-1\"><label className=\"text-sm\">Message</label><textarea className=\"w-full p-2 border rounded-md bg-muted/50 h-32\" /></div>\n <button className=\"w-full py-3 bg-primary text-primary-foreground font-bold rounded-md\">Send Message</button>\n </div>\n)\n\n// 7. AdvancedSearchForm\nexport const AdvancedSearchForm = () => (\n <div className=\"w-full max-w-2xl bg-card border rounded-xl shadow-lg p-2 flex items-center gap-2\">\n <div className=\"flex-1 flex items-center px-3 border-r\"><Search className=\"h-5 w-5 text-muted-foreground mr-2\" /><input className=\"w-full py-2 bg-transparent outline-none\" placeholder=\"Search properties...\" /></div>\n <div className=\"w-48 px-3 border-r\"><select className=\"w-full bg-transparent py-2 outline-none text-sm\"><option>All Categories</option><option>Houses</option><option>Apartments</option></select></div>\n <div className=\"w-32 px-3\"><select className=\"w-full bg-transparent py-2 outline-none text-sm\"><option>Any Price</option><option>$100k - $500k</option></select></div>\n <button className=\"px-6 py-2.5 bg-primary text-primary-foreground font-bold rounded-lg shrink-0\">Search</button>\n </div>\n)\n\n// 8. FileUploadForm\nexport const FileUploadForm = () => {\n const inputRef = React.useRef<HTMLInputElement>(null)\n const [files, setFiles] = React.useState<File[]>([])\n\n return (\n <div className=\"w-full p-6 border-2 border-dashed rounded-xl bg-muted/10 hover:bg-muted/30 transition-colors\">\n <input type=\"file\" multiple className=\"hidden\" ref={inputRef} onChange={(e) => {\n if(e.target.files) setFiles(Array.from(e.target.files))\n }} />\n <div onClick={() => inputRef.current?.click()} className=\"flex flex-col items-center justify-center text-center cursor-pointer\">\n <div className=\"h-12 w-12 rounded-full bg-primary/10 text-primary flex items-center justify-center mb-4\"><Upload className=\"h-6 w-6\" /></div>\n <h3 className=\"font-semibold mb-1\">Click to upload or drag and drop</h3>\n <p className=\"text-sm text-muted-foreground mb-4\">SVG, PNG, JPG or GIF (max. 800x400px)</p>\n </div>\n {files.length > 0 && (\n <div className=\"mt-4 space-y-2 border-t pt-4\">\n <p className=\"text-sm font-bold\">Selected Files:</p>\n {files.map((f, i) => (\n <div key={i} className=\"text-xs p-2 bg-background border rounded flex justify-between\">\n <span className=\"truncate\">{f.name}</span>\n <span className=\"text-muted-foreground\">{(f.size / 1024).toFixed(1)} KB</span>\n </div>\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// 9. FeedbackForm\nexport const FeedbackForm = () => (\n <div className=\"w-full max-w-sm p-6 border rounded-xl bg-card space-y-4 text-center\">\n <h3 className=\"font-bold text-lg\">How was your experience?</h3>\n <div className=\"flex justify-center gap-2\">\n {['😡', '😕', '😐', '🙂', '😍'].map((emoji, i) => <button key={i} className=\"text-3xl hover:scale-125 transition-transform opacity-70 hover:opacity-100\">{emoji}</button>)}\n </div>\n <textarea className=\"w-full p-3 border rounded-md text-sm mt-4 resize-none h-20\" placeholder=\"Tell us more (optional)\" />\n <button className=\"w-full py-2 bg-primary text-primary-foreground font-medium rounded-md\">Submit Feedback</button>\n </div>\n)\n\n// 10. InviteUsersForm\nexport const InviteUsersForm = () => (\n <div className=\"w-full border rounded-xl bg-card p-4 space-y-4\">\n <div className=\"flex gap-2\">\n <input className=\"flex-1 p-2 border rounded-md text-sm\" placeholder=\"Email address\" />\n <select className=\"p-2 border rounded-md text-sm bg-background\"><option>Member</option><option>Admin</option></select>\n <button className=\"px-4 py-2 bg-secondary text-secondary-foreground font-medium rounded-md text-sm\">Send Invite</button>\n </div>\n <div className=\"border-t pt-4 space-y-3\">\n <h4 className=\"text-sm font-semibold\">Pending Invites</h4>\n <div className=\"flex justify-between items-center text-sm\"><span className=\"text-muted-foreground\">john@example.com</span><span className=\"px-2 py-1 bg-muted rounded text-xs\">Member</span></div>\n </div>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Star, Minus, Plus, Trash2, ShoppingBag, ArrowRight, Lock } from \"lucide-react\"\n\nexport const ProductGallery = () => {\n const [active, setActive] = React.useState(1)\n return (\n <div className=\"flex flex-col md:flex-row gap-4 w-full\">\n <div className=\"flex flex-row md:flex-col gap-2 order-2 md:order-1\">\n {[1, 2, 3, 4].map(i => (\n <div key={i} onClick={() => setActive(i)} className={`w-16 h-16 md:w-20 md:h-24 bg-muted rounded-lg border-2 transition-all ${i === active ? 'border-primary ring-2 ring-primary/20 scale-105' : 'border-transparent cursor-pointer hover:border-foreground/20'}`} />\n ))}\n </div>\n <div className=\"flex-1 bg-muted rounded-2xl aspect-[4/3] flex items-center justify-center text-muted-foreground order-1 md:order-2 overflow-hidden relative\">\n <div className=\"absolute inset-0 bg-gradient-to-tr from-background/10 to-transparent\" />\n <span className=\"font-medium\">Product View {active}</span>\n </div>\n </div>\n )\n}\n\nexport const AddToCartBar = () => {\n const [qty, setQty] = React.useState(1)\n return (\n <div className=\"flex items-center gap-4 w-full p-4 border rounded-2xl bg-card shadow-lg sticky bottom-4 z-10 max-w-2xl mx-auto\">\n <div><p className=\"text-sm text-muted-foreground\">Total Price</p><h3 className=\"text-2xl font-bold\">${(qty * 129).toFixed(2)}</h3></div>\n <div className=\"flex-1\"></div>\n <div className=\"flex items-center border rounded-lg h-12 overflow-hidden bg-background\">\n <button onClick={() => setQty(Math.max(1, qty - 1))} className=\"px-4 hover:bg-muted h-full transition-colors\">-</button>\n <span className=\"px-4 font-bold min-w-[2.5rem] text-center\">{qty}</span>\n <button onClick={() => setQty(qty + 1)} className=\"px-4 hover:bg-muted h-full transition-colors\">+</button>\n </div>\n <button className=\"px-6 md:px-8 h-12 bg-primary text-primary-foreground font-bold rounded-lg flex items-center gap-2 hover:bg-primary/90 transition-all shadow-md hover:shadow-lg\"><ShoppingBag className=\"w-5 h-5\" /> <span className=\"hidden md:inline\">Add to Cart</span></button>\n </div>\n )\n}\n\nexport const CartDrawerItem = () => {\n const [qty, setQty] = React.useState(1)\n const [visible, setVisible] = React.useState(true)\n \n if (!visible) return null;\n\n return (\n <div className=\"flex gap-4 py-4 border-b\">\n <div className=\"w-20 h-20 bg-muted rounded-xl border\" />\n <div className=\"flex-1 flex flex-col\">\n <div className=\"flex justify-between\"><h4 className=\"font-bold text-sm md:text-base\">Premium Wireless Headphones</h4><button onClick={() => setVisible(false)} className=\"text-muted-foreground hover:text-destructive transition-colors p-1\"><Trash2 className=\"w-4 h-4\" /></button></div>\n <p className=\"text-sm text-muted-foreground mb-auto\">Matte Black</p>\n <div className=\"flex justify-between items-center mt-3\">\n <div className=\"flex items-center border rounded-lg overflow-hidden h-8 bg-background\">\n <button onClick={() => setQty(Math.max(1, qty - 1))} className=\"px-3 hover:bg-muted transition-colors\">-</button>\n <span className=\"px-3 text-sm font-bold min-w-[2rem] text-center\">{qty}</span>\n <button onClick={() => setQty(qty + 1)} className=\"px-3 hover:bg-muted transition-colors\">+</button>\n </div>\n <span className=\"font-bold text-lg\">${(qty * 299).toFixed(2)}</span>\n </div>\n </div>\n </div>\n )\n}\n\nexport const OrderSummaryCard = () => (\n <div className=\"p-6 bg-card border rounded-2xl shadow-sm space-y-4\">\n <h3 className=\"font-bold text-xl border-b pb-4\">Order Summary</h3>\n <div className=\"space-y-3 text-sm\">\n <div className=\"flex justify-between font-medium\"><span className=\"text-muted-foreground\">Subtotal</span><span>$129.00</span></div>\n <div className=\"flex justify-between font-medium\"><span className=\"text-muted-foreground\">Shipping</span><span>$10.00</span></div>\n <div className=\"flex justify-between font-medium\"><span className=\"text-muted-foreground\">Tax</span><span>$6.45</span></div>\n </div>\n <div className=\"border-t pt-4 flex justify-between font-black text-xl\"><span>Total</span><span>$145.45</span></div>\n <button className=\"w-full py-3.5 bg-primary text-primary-foreground font-bold rounded-xl mt-4 flex justify-center items-center gap-2 hover:bg-primary/90 transition-colors shadow-md hover:shadow-lg hover:-translate-y-0.5\">Checkout <ArrowRight className=\"w-4 h-4\" /></button>\n <div className=\"flex items-center justify-center gap-2 mt-4 text-muted-foreground opacity-50\">\n <Lock className=\"w-3 h-3\" /> <span className=\"text-xs font-medium\">Secure Checkout</span>\n </div>\n </div>\n)\n\n// 5. PromoCodeInput\nexport const PromoCodeInput = () => (\n <div className=\"flex gap-2\">\n <input className=\"flex-1 px-4 py-2 border rounded-md text-sm\" placeholder=\"Discount code\" />\n <button className=\"px-6 py-2 bg-secondary text-secondary-foreground font-medium rounded-md text-sm\">Apply</button>\n </div>\n)\n\n// 6. ShippingAddressForm\nexport const ShippingAddressForm = () => (\n <div className=\"space-y-4\">\n <h3 className=\"font-bold text-lg mb-2\">Shipping Information</h3>\n <div className=\"grid grid-cols-2 gap-4\">\n <input className=\"p-2 border rounded-md w-full\" placeholder=\"First Name\" />\n <input className=\"p-2 border rounded-md w-full\" placeholder=\"Last Name\" />\n </div>\n <input className=\"p-2 border rounded-md w-full\" placeholder=\"Address\" />\n <input className=\"p-2 border rounded-md w-full\" placeholder=\"Apartment, suite, etc. (optional)\" />\n <div className=\"grid grid-cols-3 gap-4\">\n <input className=\"p-2 border rounded-md w-full\" placeholder=\"City\" />\n <select className=\"p-2 border rounded-md w-full bg-background\"><option>State</option></select>\n <input className=\"p-2 border rounded-md w-full\" placeholder=\"ZIP code\" />\n </div>\n </div>\n)\n\n// 7. ProductReview\nexport const ProductReview = () => (\n <div className=\"py-6 border-b\">\n <div className=\"flex justify-between mb-2\">\n <div className=\"font-semibold\">Alex Johnson</div>\n <div className=\"text-sm text-muted-foreground\">October 12, 2025</div>\n </div>\n <div className=\"flex text-yellow-400 mb-3\">{[1, 2, 3, 4, 5].map(i => <Star key={i} className=\"w-4 h-4 fill-current\" />)}</div>\n <h4 className=\"font-bold mb-1\">Incredible sound quality!</h4>\n <p className=\"text-muted-foreground text-sm leading-relaxed\">I've been using these for a month and they are absolutely fantastic. The noise cancellation is top tier and battery life is exactly as advertised.</p>\n </div>\n)\n\n// 8. ColorSelector\nexport const ColorSelector = () => (\n <div>\n <h4 className=\"text-sm font-medium mb-3\">Color - <span className=\"text-muted-foreground\">Matte Black</span></h4>\n <div className=\"flex gap-3\">\n {['bg-black', 'bg-gray-300', 'bg-blue-900', 'bg-red-700'].map((color, i) => (\n <button key={i} className={`w-10 h-10 rounded-full ${color} ring-offset-2 ${i === 0 ? 'ring-2 ring-primary' : 'ring-1 ring-border'}`} />\n ))}\n </div>\n </div>\n)\n\n// 9. SizeSelector\nexport const SizeSelector = () => (\n <div>\n <div className=\"flex justify-between items-end mb-3\">\n <h4 className=\"text-sm font-medium\">Size</h4>\n <a href=\"#\" className=\"text-xs text-primary hover:underline\">Size guide</a>\n </div>\n <div className=\"grid grid-cols-4 gap-2\">\n {['S', 'M', 'L', 'XL'].map((size, i) => (\n <button key={i} className={`py-2 border rounded-md font-medium transition-colors ${i === 1 ? 'border-primary bg-primary/5 text-primary' : 'hover:border-foreground'}`}>{size}</button>\n ))}\n </div>\n </div>\n)\n\n// 10. CategoryCard\nexport const CategoryCard = () => (\n <div className=\"relative group overflow-hidden rounded-2xl cursor-pointer aspect-square bg-muted flex items-center justify-center\">\n <div className=\"absolute inset-0 bg-black/20 group-hover:bg-black/40 transition-colors z-10\" />\n <div className=\"absolute inset-0 scale-100 group-hover:scale-110 transition-transform duration-500 bg-gradient-to-tr from-indigo-500 to-purple-500 opacity-50\" />\n <div className=\"relative z-20 text-white text-center\">\n <h3 className=\"text-3xl font-bold mb-2\">Sneakers</h3>\n <div className=\"flex items-center gap-1 text-sm font-medium justify-center group-hover:gap-2 transition-all\">Shop Now <ArrowRight className=\"w-4 h-4\" /></div>\n </div>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { Sparkles, Send, Mic, Copy, Check, Bot, User, Settings, FileText, ChevronDown, RefreshCw, Plus } from \"lucide-react\"\nimport { cn } from \"../utils/cn\"\n\n// 1. ChatBubbleUser\nexport const ChatBubbleUser = ({ message }: any) => (\n <div className=\"flex gap-4 justify-end mb-6\">\n <div className=\"bg-primary text-primary-foreground px-5 py-3 rounded-2xl rounded-tr-sm max-w-[80%] shadow-sm\">\n <p className=\"leading-relaxed\">{message || \"How do I build a Next.js application with Tailwind CSS?\"}</p>\n </div>\n <div className=\"w-8 h-8 rounded-full bg-muted flex items-center justify-center shrink-0 border\"><User className=\"w-4 h-4\" /></div>\n </div>\n)\n\n// 2. ChatBubbleAI\nexport const ChatBubbleAI = ({ message }: any) => (\n <div className=\"flex gap-4 mb-6\">\n <div className=\"w-8 h-8 rounded-full bg-primary/10 text-primary flex items-center justify-center shrink-0 border border-primary/20\"><Bot className=\"w-4 h-4\" /></div>\n <div className=\"bg-muted/50 px-5 py-3 rounded-2xl rounded-tl-sm max-w-[80%] border border-border/50\">\n <p className=\"leading-relaxed text-foreground\">{message || \"You can start by running npx create-next-app@latest and selecting Tailwind CSS during the setup process.\"}</p>\n <div className=\"flex gap-2 mt-3 pt-3 border-t border-border/50\">\n <button className=\"text-muted-foreground hover:text-foreground\"><Copy className=\"w-4 h-4\" /></button>\n <button className=\"text-muted-foreground hover:text-foreground\"><RefreshCw className=\"w-4 h-4\" /></button>\n </div>\n </div>\n </div>\n)\n\n// 3. AIPromptInput\nexport const AIPromptInput = () => (\n <div className=\"w-full relative border rounded-2xl bg-card shadow-lg flex items-end p-2 focus-within:ring-2 focus-within:ring-primary/50 transition-shadow\">\n <button className=\"p-3 text-muted-foreground hover:text-foreground\"><Mic className=\"w-5 h-5\" /></button>\n <textarea className=\"flex-1 max-h-32 min-h-[44px] py-3 bg-transparent outline-none resize-none placeholder:text-muted-foreground\" placeholder=\"Ask anything...\" rows={1} />\n <button className=\"p-3 bg-primary text-primary-foreground rounded-xl shadow-sm hover:opacity-90\"><Send className=\"w-5 h-5\" /></button>\n </div>\n)\n\n// 4. ThinkingLoader\nexport const ThinkingLoader = () => (\n <div className=\"flex gap-4 mb-6\">\n <div className=\"w-8 h-8 rounded-full bg-primary/10 text-primary flex items-center justify-center shrink-0 border border-primary/20\"><Bot className=\"w-4 h-4\" /></div>\n <div className=\"bg-muted/50 px-5 py-4 rounded-2xl rounded-tl-sm border border-border/50 flex items-center gap-1.5\">\n <motion.div animate={{ opacity: [0.3, 1, 0.3] }} transition={{ repeat: Infinity, duration: 1.4, delay: 0 }} className=\"w-2 h-2 rounded-full bg-foreground\" />\n <motion.div animate={{ opacity: [0.3, 1, 0.3] }} transition={{ repeat: Infinity, duration: 1.4, delay: 0.2 }} className=\"w-2 h-2 rounded-full bg-foreground\" />\n <motion.div animate={{ opacity: [0.3, 1, 0.3] }} transition={{ repeat: Infinity, duration: 1.4, delay: 0.4 }} className=\"w-2 h-2 rounded-full bg-foreground\" />\n </div>\n </div>\n)\n\n// 5. ModelSelector\nexport const ModelSelector = () => (\n <div className=\"inline-flex items-center gap-2 px-3 py-1.5 bg-muted rounded-lg border cursor-pointer hover:bg-muted/80 transition-colors\">\n <Sparkles className=\"w-4 h-4 text-primary\" />\n <span className=\"text-sm font-medium\">GPT-4 Turbo</span>\n <ChevronDown className=\"w-4 h-4 text-muted-foreground ml-2\" />\n </div>\n)\n\n// 6. GeneratedCodeBlock\nexport const GeneratedCodeBlock = () => (\n <div className=\"rounded-xl border border-border bg-zinc-950 overflow-hidden my-4 max-w-2xl\">\n <div className=\"flex items-center justify-between px-4 py-2 border-b border-white/10 bg-white/5\">\n <span className=\"text-xs text-zinc-400 font-mono\">tsx</span>\n <button className=\"flex items-center gap-1 text-xs text-zinc-400 hover:text-white\"><Copy className=\"w-3 h-3\" /> Copy code</button>\n </div>\n <pre className=\"p-4 text-sm text-zinc-300 font-mono overflow-x-auto\">\n <code>{`export default function App() {\\n return (\\n <div className=\"p-4\">\\n <h1 className=\"text-2xl font-bold\">Hello World</h1>\\n </div>\\n );\\n}`}</code>\n </pre>\n </div>\n)\n\n// 7. ChatHistorySidebar\nexport const ChatHistorySidebar = () => (\n <div className=\"w-64 h-full border-r bg-background p-4 flex flex-col\">\n <button className=\"w-full py-2 bg-primary text-primary-foreground rounded-lg font-medium mb-6 text-sm flex items-center justify-center gap-2\"><Plus className=\"w-4 h-4\" /> New Chat</button>\n <div className=\"text-xs font-semibold text-muted-foreground mb-3 px-2\">Today</div>\n <div className=\"space-y-1\">\n <button className=\"w-full text-left px-3 py-2 text-sm bg-muted rounded-md font-medium truncate flex items-center gap-2\"><FileText className=\"w-4 h-4 text-muted-foreground shrink-0\" /> React State Management</button>\n <button className=\"w-full text-left px-3 py-2 text-sm text-muted-foreground hover:bg-muted/50 rounded-md truncate flex items-center gap-2\"><FileText className=\"w-4 h-4 shrink-0\" /> Tailwind Layouts</button>\n </div>\n </div>\n)\n\n// 8. AIFeatureCard\nexport const AIFeatureCard = () => (\n <div className=\"p-6 rounded-2xl border bg-card relative overflow-hidden group cursor-pointer hover:border-primary/50 transition-colors\">\n <div className=\"absolute top-0 right-0 w-32 h-32 bg-primary/10 rounded-full blur-2xl -translate-y-1/2 translate-x-1/2 group-hover:bg-primary/20 transition-colors\" />\n <div className=\"w-12 h-12 bg-primary/10 text-primary rounded-xl flex items-center justify-center mb-4 relative z-10\"><Sparkles className=\"w-6 h-6\" /></div>\n <h3 className=\"text-xl font-bold mb-2 relative z-10\">Smart Autocomplete</h3>\n <p className=\"text-sm text-muted-foreground relative z-10\">Let AI predict and complete your code in real-time as you type.</p>\n </div>\n)\n\n// 9. SuggestionChips\nexport const SuggestionChips = () => (\n <div className=\"flex flex-wrap gap-2\">\n {[\"Explain this code\", \"Refactor for performance\", \"Add type definitions\"].map((text, i) => (\n <button key={i} className=\"px-4 py-2 rounded-full border bg-background text-sm text-muted-foreground hover:text-foreground hover:border-primary/50 transition-colors\">{text}</button>\n ))}\n </div>\n)\n\n// 10. VoiceInputPulse\nexport const VoiceInputPulse = () => (\n <div className=\"flex items-center justify-center w-24 h-24 relative\">\n <motion.div animate={{ scale: [1, 1.5, 1], opacity: [0.5, 0, 0.5] }} transition={{ repeat: Infinity, duration: 2 }} className=\"absolute inset-0 rounded-full bg-red-500/20\" />\n <motion.div animate={{ scale: [1, 1.2, 1], opacity: [0.8, 0.2, 0.8] }} transition={{ repeat: Infinity, duration: 2, delay: 0.2 }} className=\"absolute inset-2 rounded-full bg-red-500/30\" />\n <button className=\"w-16 h-16 rounded-full bg-red-500 text-white flex items-center justify-center relative z-10 shadow-xl\"><Mic className=\"w-6 h-6\" /></button>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { MoreHorizontal, ArrowUpDown, Download, Edit2, Trash2, CheckCircle2, XCircle } from \"lucide-react\"\n\n// 1. DataTablePro\nexport const DataTablePro = () => {\n const [data, setData] = React.useState([\n { id: 1, name: \"Alice Freeman\", role: \"Admin\", status: \"Active\" },\n { id: 2, name: \"Bob Smith\", role: \"Editor\", status: \"Inactive\" },\n { id: 3, name: \"Charlie Davis\", role: \"Viewer\", status: \"Active\" },\n { id: 4, name: \"Diana Prince\", role: \"Admin\", status: \"Active\" },\n { id: 5, name: \"Evan Wright\", role: \"User\", status: \"Inactive\" },\n { id: 6, name: \"Fiona Gallagher\", role: \"Viewer\", status: \"Active\" }\n ])\n const [search, setSearch] = React.useState(\"\")\n const [page, setPage] = React.useState(1)\n const [editingId, setEditingId] = React.useState<number | null>(null)\n const [editName, setEditName] = React.useState(\"\")\n const itemsPerPage = 3\n\n const handleDelete = (id: number) => {\n setData(data.filter(item => item.id !== id))\n }\n\n const handleEdit = (id: number, name: string) => {\n setEditingId(id)\n setEditName(name)\n }\n\n const saveEdit = (id: number) => {\n setData(data.map(item => item.id === id ? { ...item, name: editName } : item))\n setEditingId(null)\n }\n\n const filteredData = data.filter(item => item.name.toLowerCase().includes(search.toLowerCase()))\n const totalPages = Math.ceil(filteredData.length / itemsPerPage)\n const paginatedData = filteredData.slice((page - 1) * itemsPerPage, page * itemsPerPage)\n\n return (\n <div className=\"w-full border rounded-xl bg-card overflow-hidden\">\n <div className=\"flex justify-between items-center p-4 border-b\">\n <input \n className=\"px-3 py-1.5 border rounded-md text-sm w-64 bg-background\" \n placeholder=\"Search by name...\" \n value={search}\n onChange={(e) => setSearch(e.target.value)}\n />\n <button className=\"px-4 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-md hover:bg-primary/90\">Export</button>\n </div>\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm text-left\">\n <thead className=\"bg-muted/50 text-muted-foreground uppercase text-xs border-b\">\n <tr>\n <th className=\"px-4 py-3 cursor-pointer hover:text-foreground\">Name <ArrowUpDown className=\"w-3 h-3 inline ml-1\" /></th>\n <th className=\"px-4 py-3\">Role</th>\n <th className=\"px-4 py-3\">Status</th>\n <th className=\"px-4 py-3 text-right\">Actions</th>\n </tr>\n </thead>\n <tbody className=\"divide-y\">\n {paginatedData.length > 0 ? paginatedData.map(item => (\n <tr key={item.id} className=\"hover:bg-muted/30\">\n <td className=\"px-4 py-3 font-medium\">\n {editingId === item.id ? (\n <input autoFocus value={editName} onChange={(e) => setEditName(e.target.value)} className=\"w-full px-2 py-1 border rounded bg-background\" />\n ) : item.name}\n </td>\n <td className=\"px-4 py-3 text-muted-foreground\">{item.role}</td>\n <td className=\"px-4 py-3\">\n <span className={`px-2 py-1 rounded-full text-xs font-medium ${item.status === 'Active' ? 'bg-green-500/10 text-green-500' : 'bg-red-500/10 text-red-500'}`}>\n {item.status}\n </span>\n </td>\n <td className=\"px-4 py-3 text-right flex justify-end gap-2\">\n {editingId === item.id ? (\n <button onClick={() => saveEdit(item.id)} className=\"px-2 py-1 bg-green-500/10 text-green-500 rounded text-xs font-medium\">Save</button>\n ) : (\n <button onClick={() => handleEdit(item.id, item.name)} className=\"p-1.5 hover:bg-muted rounded text-muted-foreground\"><Edit2 className=\"w-4 h-4\" /></button>\n )}\n <button onClick={() => handleDelete(item.id)} className=\"p-1.5 hover:bg-destructive/10 rounded text-destructive\"><Trash2 className=\"w-4 h-4\" /></button>\n </td>\n </tr>\n )) : (\n <tr><td colSpan={4} className=\"text-center py-6 text-muted-foreground\">No users found.</td></tr>\n )}\n </tbody>\n </table>\n </div>\n <div className=\"p-4 border-t text-sm text-muted-foreground flex justify-between items-center\">\n <span>Showing {paginatedData.length} of {filteredData.length} entries</span>\n <div className=\"flex gap-1\">\n <button disabled={page === 1} onClick={() => setPage(page - 1)} className=\"px-3 py-1 border rounded hover:bg-muted disabled:opacity-50\">Prev</button>\n <span className=\"px-3 py-1 font-medium\">{page} / {Math.max(1, totalPages)}</span>\n <button disabled={page === totalPages || totalPages === 0} onClick={() => setPage(page + 1)} className=\"px-3 py-1 border rounded hover:bg-muted disabled:opacity-50\">Next</button>\n </div>\n </div>\n </div>\n )\n}\n\n// 2. InvoiceTable\nexport const InvoiceTable = () => (\n <div className=\"w-full border rounded-xl bg-card overflow-hidden\">\n <table className=\"w-full text-sm text-left\">\n <thead className=\"bg-muted/50 text-muted-foreground border-b\">\n <tr><th className=\"px-6 py-4 font-semibold\">Invoice ID</th><th className=\"px-6 py-4 font-semibold\">Date</th><th className=\"px-6 py-4 font-semibold\">Amount</th><th className=\"px-6 py-4 font-semibold text-right\">Download</th></tr>\n </thead>\n <tbody className=\"divide-y\">\n {['INV-001', 'INV-002'].map((inv, i) => (\n <tr key={i} className=\"hover:bg-muted/30\">\n <td className=\"px-6 py-4 font-medium\">{inv}</td><td className=\"px-6 py-4 text-muted-foreground\">Oct 24, 2025</td><td className=\"px-6 py-4 font-bold\">${(i+1)*150}.00</td>\n <td className=\"px-6 py-4 text-right\"><button className=\"p-2 text-primary hover:bg-primary/10 rounded-full transition-colors\"><Download className=\"w-4 h-4\" /></button></td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n)\n\n// 3. UserDirectoryTable\nexport const UserDirectoryTable = () => (\n <div className=\"w-full grid gap-4\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex items-center justify-between p-4 border rounded-xl bg-card hover:border-primary transition-colors cursor-pointer\">\n <div className=\"flex items-center gap-4\">\n <div className=\"w-12 h-12 rounded-full bg-muted\" />\n <div><h4 className=\"font-bold\">John Doe {i}</h4><p className=\"text-sm text-muted-foreground\">Software Engineer</p></div>\n </div>\n <div className=\"flex gap-2\">\n <button className=\"p-2 border rounded-md hover:bg-muted\"><Edit2 className=\"w-4 h-4\" /></button>\n <button className=\"p-2 border rounded-md text-destructive hover:bg-destructive/10\"><Trash2 className=\"w-4 h-4\" /></button>\n </div>\n </div>\n ))}\n </div>\n)\n\n// 4. TransactionHistory\nexport const TransactionHistory = () => (\n <div className=\"w-full border rounded-xl bg-card\">\n <div className=\"p-4 border-b font-bold text-lg\">Recent Transactions</div>\n <div className=\"divide-y\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex items-center justify-between p-4\">\n <div className=\"flex items-center gap-3\">\n <div className={`w-10 h-10 rounded-full flex items-center justify-center ${i % 2 === 0 ? 'bg-green-500/10 text-green-500' : 'bg-red-500/10 text-red-500'}`}>\n {i % 2 === 0 ? <ArrowUpDown className=\"w-5 h-5\" /> : <ArrowUpDown className=\"w-5 h-5 rotate-180\" />}\n </div>\n <div><p className=\"font-medium\">{i % 2 === 0 ? 'Payment Received' : 'Subscription Auto-renew'}</p><p className=\"text-xs text-muted-foreground\">Today, 10:23 AM</p></div>\n </div>\n <div className={`font-bold ${i % 2 === 0 ? 'text-green-500' : 'text-foreground'}`}>{i % 2 === 0 ? '+' : '-'}${i * 45}.00</div>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 5. FileExplorerTable (Mock)\nexport const FileExplorerTable = () => (\n <div className=\"w-full border rounded-xl bg-card text-sm\">\n <div className=\"grid grid-cols-12 px-4 py-3 bg-muted/50 border-b font-medium text-muted-foreground\"><div className=\"col-span-6\">Name</div><div className=\"col-span-3\">Date Modified</div><div className=\"col-span-3\">Size</div></div>\n <div className=\"divide-y\">\n <div className=\"grid grid-cols-12 px-4 py-3 items-center hover:bg-muted/30 cursor-pointer\"><div className=\"col-span-6 flex items-center gap-2 font-medium\">📁 Documents</div><div className=\"col-span-3 text-muted-foreground\">Oct 12</div><div className=\"col-span-3 text-muted-foreground\">--</div></div>\n <div className=\"grid grid-cols-12 px-4 py-3 items-center hover:bg-muted/30 cursor-pointer\"><div className=\"col-span-6 flex items-center gap-2 font-medium\">📄 report.pdf</div><div className=\"col-span-3 text-muted-foreground\">Oct 10</div><div className=\"col-span-3 text-muted-foreground\">2.4 MB</div></div>\n </div>\n </div>\n)\n\n// 6. LeaderboardTable\nexport const LeaderboardTable = () => (\n <div className=\"w-full border rounded-2xl bg-gradient-to-b from-card to-muted/20 overflow-hidden shadow-lg\">\n <div className=\"p-6 text-center border-b\"><h3 className=\"font-bold text-xl uppercase tracking-widest text-yellow-500\">Global Ranking</h3></div>\n <div className=\"divide-y\">\n {[1, 2, 3].map(i => (\n <div key={i} className={`flex items-center px-6 py-4 ${i === 1 ? 'bg-yellow-500/10' : ''}`}>\n <div className={`font-black text-2xl w-8 ${i===1?'text-yellow-500': i===2?'text-gray-400': 'text-amber-700'}`}>#{i}</div>\n <div className=\"w-10 h-10 rounded-full bg-muted mx-4\" />\n <div className=\"flex-1 font-bold text-lg\">Player {i}</div>\n <div className=\"font-mono font-bold text-primary\">{10000 - i*500} pts</div>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 7. ProductInventoryTable\nexport const ProductInventoryTable = () => (\n <div className=\"w-full border rounded-xl bg-card overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead className=\"bg-muted/50 border-b text-left text-muted-foreground\">\n <tr><th className=\"px-4 py-3 font-medium\">Product</th><th className=\"px-4 py-3 font-medium\">SKU</th><th className=\"px-4 py-3 font-medium\">Stock</th><th className=\"px-4 py-3 font-medium\">Price</th></tr>\n </thead>\n <tbody className=\"divide-y\">\n {[1, 2].map(i => (\n <tr key={i}>\n <td className=\"px-4 py-3 flex items-center gap-3\"><div className=\"w-8 h-8 bg-muted rounded\" /><span className=\"font-medium\">Item {i}</span></td>\n <td className=\"px-4 py-3 text-muted-foreground\">SKU-{i}000</td>\n <td className=\"px-4 py-3\"><div className=\"flex items-center gap-2\"><div className={`w-2 h-2 rounded-full ${i===1?'bg-green-500':'bg-red-500'}`}/> {i===1?'145 in stock':'Out of stock'}</div></td>\n <td className=\"px-4 py-3 font-medium\">$49.99</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n)\n\n// 8. ScheduleTable\nexport const ScheduleTable = () => (\n <div className=\"w-full border rounded-xl bg-card overflow-hidden\">\n <div className=\"grid grid-cols-6 divide-x border-b bg-muted/50 text-center text-xs font-semibold py-2\">\n <div>Time</div><div>Mon</div><div>Tue</div><div>Wed</div><div>Thu</div><div>Fri</div>\n </div>\n <div className=\"grid grid-cols-6 divide-x border-b text-center text-sm h-16\">\n <div className=\"flex items-center justify-center font-medium text-muted-foreground border-r\">09:00</div>\n <div className=\"col-span-2 bg-primary/10 text-primary p-2 m-1 rounded border border-primary/20 text-xs text-left font-medium\">Team Meeting</div>\n <div className=\"col-span-1\"></div>\n <div className=\"col-span-1 bg-indigo-500/10 text-indigo-500 p-2 m-1 rounded border border-indigo-500/20 text-xs text-left font-medium\">Design Sync</div>\n <div className=\"col-span-1\"></div>\n </div>\n </div>\n)\n\n// 9. PricingComparisonTable\nexport const PricingComparisonTable = () => (\n <div className=\"w-full border rounded-xl bg-card overflow-hidden\">\n <table className=\"w-full text-sm text-center\">\n <thead className=\"bg-muted/30 border-b\">\n <tr><th className=\"p-4 text-left\">Features</th><th className=\"p-4 font-bold text-lg\">Basic</th><th className=\"p-4 font-bold text-lg text-primary\">Pro</th></tr>\n </thead>\n <tbody className=\"divide-y\">\n {['Unlimited Projects', 'Custom Domain', '24/7 Support'].map((f, i) => (\n <tr key={i} className=\"hover:bg-muted/10\">\n <td className=\"p-4 text-left font-medium\">{f}</td>\n <td className=\"p-4\">{i < 1 ? <CheckCircle2 className=\"w-5 h-5 mx-auto text-green-500\" /> : <XCircle className=\"w-5 h-5 mx-auto text-muted-foreground/30\" />}</td>\n <td className=\"p-4\"><CheckCircle2 className=\"w-5 h-5 mx-auto text-primary\" /></td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n)\n\n// 10. CompactDataList\nexport const CompactDataList = () => (\n <div className=\"w-full border rounded-lg bg-card divide-y text-sm\">\n {['Server CPU Usage', 'Active Connections', 'Memory Load'].map((l, i) => (\n <div key={i} className=\"flex justify-between items-center p-3 hover:bg-muted/50 cursor-pointer\">\n <span className=\"text-muted-foreground font-medium\">{l}</span>\n <span className=\"font-bold\">{90 - i*15}%</span>\n </div>\n ))}\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Activity, Users, DollarSign, ArrowUpRight, CheckCircle2, HardDrive, Server, Zap, Plus, FileText, Settings } from \"lucide-react\"\n\n// 1. DashboardShell (Visual structure)\nexport const DashboardShell = ({ children }: any) => (\n <div className=\"flex h-[400px] w-full border rounded-xl overflow-hidden bg-background\">\n <div className=\"w-48 border-r bg-muted/20 p-4 flex flex-col gap-2\">\n <div className=\"w-full h-8 bg-muted rounded mb-4\" />\n {[1, 2, 3].map(i => <div key={i} className=\"w-full h-6 bg-muted/50 rounded\" />)}\n </div>\n <div className=\"flex-1 flex flex-col\">\n <div className=\"h-12 border-b flex items-center px-4 justify-between bg-card\"><div className=\"w-32 h-4 bg-muted rounded\" /><div className=\"w-8 h-8 bg-muted rounded-full\" /></div>\n <div className=\"flex-1 p-4 overflow-y-auto bg-muted/10\">{children || <div className=\"w-full h-full border-2 border-dashed rounded-lg flex items-center justify-center text-muted-foreground\">Dashboard Content</div>}</div>\n </div>\n </div>\n)\n\n// 2. StatWidgetCard\nexport const StatWidgetCard = ({ title = \"Total Revenue\", value = \"$45,231.89\", icon: Icon = DollarSign, trend = \"+20.1%\" }: any) => (\n <div className=\"p-6 border rounded-xl bg-card shadow-sm\">\n <div className=\"flex justify-between items-center mb-4\">\n <h3 className=\"text-sm font-medium text-muted-foreground\">{title}</h3>\n <Icon className=\"w-4 h-4 text-muted-foreground\" />\n </div>\n <div className=\"text-2xl font-bold\">{value}</div>\n <p className=\"text-xs text-muted-foreground mt-1\"><span className=\"text-green-500 font-medium flex items-center inline-flex\"><ArrowUpRight className=\"w-3 h-3 mr-1\" />{trend}</span> from last month</p>\n </div>\n)\n\n// 3. ActivityFeed\nexport const ActivityFeed = () => (\n <div className=\"border rounded-xl bg-card p-6\">\n <h3 className=\"font-bold mb-4\">Recent Activity</h3>\n <div className=\"space-y-6 relative before:absolute before:inset-0 before:ml-4 before:-translate-x-px md:before:mx-auto md:before:translate-x-0 before:h-full before:w-0.5 before:bg-gradient-to-b before:from-transparent before:via-border before:to-transparent\">\n {[1, 2].map(i => (\n <div key={i} className=\"relative flex items-center justify-between md:justify-normal md:odd:flex-row-reverse group is-active\">\n <div className=\"flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-primary text-primary-foreground shadow shrink-0 md:order-1 md:group-odd:-translate-x-1/2 md:group-even:translate-x-1/2 z-10\"><Zap className=\"w-4 h-4\" /></div>\n <div className=\"w-[calc(100%-4rem)] md:w-[calc(50%-2.5rem)] border rounded-lg p-3 bg-background shadow-sm\">\n <div className=\"flex justify-between items-center mb-1\"><h4 className=\"font-bold text-sm\">System Update</h4><time className=\"text-xs text-muted-foreground\">2 hrs ago</time></div>\n <p className=\"text-xs text-muted-foreground\">Server deployed successfully.</p>\n </div>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 4. ProgressWidget\nexport const ProgressWidget = () => (\n <div className=\"border rounded-xl bg-card p-6\">\n <h3 className=\"font-bold mb-4 text-sm\">Monthly Goal</h3>\n <div className=\"flex justify-between items-end mb-2\">\n <div className=\"text-2xl font-bold\">12,450 <span className=\"text-sm font-normal text-muted-foreground\">/ 20,000</span></div>\n <div className=\"text-sm font-medium text-primary\">62%</div>\n </div>\n <div className=\"h-2 bg-muted rounded-full overflow-hidden\"><div className=\"h-full bg-primary w-[62%]\" /></div>\n </div>\n)\n\n// 5. QuickActionsWidget\nexport const QuickActionsWidget = () => (\n <div className=\"border rounded-xl bg-card p-4 grid grid-cols-3 gap-2\">\n <button className=\"flex flex-col items-center justify-center p-3 rounded-lg hover:bg-muted transition-colors gap-2\"><div className=\"p-2 bg-primary/10 text-primary rounded-full\"><Plus className=\"w-4 h-4\" /></div><span className=\"text-xs font-medium\">New Project</span></button>\n <button className=\"flex flex-col items-center justify-center p-3 rounded-lg hover:bg-muted transition-colors gap-2\"><div className=\"p-2 bg-blue-500/10 text-blue-500 rounded-full\"><FileText className=\"w-4 h-4\" /></div><span className=\"text-xs font-medium\">Create Invoice</span></button>\n <button className=\"flex flex-col items-center justify-center p-3 rounded-lg hover:bg-muted transition-colors gap-2\"><div className=\"p-2 bg-zinc-500/10 text-zinc-500 rounded-full\"><Settings className=\"w-4 h-4\" /></div><span className=\"text-xs font-medium\">Settings</span></button>\n </div>\n)\n\n// 6. TaskChecklist\nexport const TaskChecklist = () => (\n <div className=\"border rounded-xl bg-card p-6\">\n <h3 className=\"font-bold mb-4 text-sm\">Tasks</h3>\n <div className=\"space-y-3\">\n {['Review pull requests', 'Deploy new staging environment', 'Update documentation'].map((t, i) => (\n <div key={i} className=\"flex items-center gap-3\">\n <input type=\"checkbox\" defaultChecked={i === 0} className=\"w-4 h-4 rounded border-gray-300 text-primary focus:ring-primary\" />\n <span className={`text-sm ${i === 0 ? 'line-through text-muted-foreground' : 'font-medium'}`}>{t}</span>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 7. StorageWidget\nexport const StorageWidget = () => (\n <div className=\"border rounded-xl bg-card p-6 flex flex-col items-center text-center\">\n <div className=\"w-16 h-16 rounded-full bg-blue-500/10 flex items-center justify-center mb-4\"><HardDrive className=\"w-8 h-8 text-blue-500\" /></div>\n <h3 className=\"font-bold mb-1\">Storage Usage</h3>\n <p className=\"text-2xl font-bold mb-1\">45.2 GB <span className=\"text-sm font-normal text-muted-foreground\">/ 100 GB</span></p>\n <div className=\"w-full h-2 bg-muted rounded-full mt-4\"><div className=\"h-full bg-blue-500 rounded-full w-[45%]\" /></div>\n </div>\n)\n\n// 8. RevenueChartWidget (Visual Mock)\nexport const RevenueChartWidget = () => (\n <div className=\"border rounded-xl bg-card p-6 h-48 flex flex-col\">\n <h3 className=\"font-bold text-sm mb-4\">Revenue Overview</h3>\n <div className=\"flex-1 flex items-end gap-2\">\n {[30, 50, 40, 70, 50, 90, 80].map((h, i) => <div key={i} className=\"flex-1 bg-primary hover:opacity-80 transition-opacity rounded-t-sm\" style={{ height: `${h}%` }} />)}\n </div>\n </div>\n)\n\n// 9. RecentUsersWidget\nexport const RecentUsersWidget = () => (\n <div className=\"border rounded-xl bg-card p-6\">\n <h3 className=\"font-bold text-sm mb-4\">New Users</h3>\n <div className=\"flex -space-x-3 overflow-hidden\">\n {[1, 2, 3, 4, 5].map(i => <div key={i} className=\"inline-block h-10 w-10 rounded-full ring-2 ring-background bg-muted flex items-center justify-center text-xs border font-medium\">{i}</div>)}\n </div>\n <button className=\"text-xs font-medium text-primary mt-4 hover:underline\">View all users</button>\n </div>\n)\n\n// 10. ServerStatusWidget\nexport const ServerStatusWidget = () => (\n <div className=\"border rounded-xl bg-card p-6 flex items-center justify-between\">\n <div className=\"flex items-center gap-4\">\n <div className=\"p-3 bg-green-500/10 rounded-full\"><Server className=\"w-6 h-6 text-green-500\" /></div>\n <div><h3 className=\"font-bold\">us-east-1</h3><p className=\"text-xs text-green-500 font-medium flex items-center\"><span className=\"w-2 h-2 rounded-full bg-green-500 mr-2 animate-pulse\" />Operational</p></div>\n </div>\n <div className=\"text-right\"><p className=\"text-xs text-muted-foreground mb-1\">Ping</p><p className=\"font-mono font-bold text-sm\">24ms</p></div>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Search, Menu, User, Bell, Command, LayoutGrid, FileText, Settings, Globe, ChevronDown, ChevronLeft, ChevronRight, X } from \"lucide-react\"\n\n// 1. MegaMenuVisual\nexport const MegaMenuVisual = () => (\n <div className=\"w-full max-w-2xl bg-card border rounded-xl shadow-xl p-6 absolute top-12 left-0 z-50\">\n <div className=\"grid grid-cols-3 gap-6\">\n <div>\n <h4 className=\"font-bold text-sm mb-3\">Products</h4>\n <ul className=\"space-y-2 text-sm text-muted-foreground\"><li>Analytics</li><li>Automation</li><li>Commerce</li><li>Insights</li></ul>\n </div>\n <div>\n <h4 className=\"font-bold text-sm mb-3\">Resources</h4>\n <ul className=\"space-y-2 text-sm text-muted-foreground\"><li>Documentation</li><li>API Reference</li><li>Blog</li><li>Community</li></ul>\n </div>\n <div className=\"bg-muted p-4 rounded-lg flex flex-col justify-end\">\n <h4 className=\"font-bold text-sm mb-1\">Nexore UI 2.0</h4>\n <p className=\"text-xs text-muted-foreground mb-4\">The new standard for web interfaces.</p>\n <button className=\"text-xs font-bold text-primary text-left hover:underline\">Read announcement →</button>\n </div>\n </div>\n </div>\n)\n\n// 2. CommandPaletteVisual\nexport const CommandPaletteVisual = () => (\n <div className=\"w-full max-w-xl mx-auto bg-card border rounded-xl shadow-2xl overflow-hidden flex flex-col\">\n <div className=\"flex items-center px-4 py-3 border-b\"><Search className=\"w-5 h-5 text-muted-foreground mr-3\" /><input className=\"flex-1 bg-transparent outline-none\" placeholder=\"Type a command or search...\" /><span className=\"text-xs bg-muted px-1.5 py-0.5 rounded text-muted-foreground font-mono\">ESC</span></div>\n <div className=\"p-2 space-y-1\">\n <div className=\"px-2 py-1 text-xs font-semibold text-muted-foreground\">Suggestions</div>\n <div className=\"flex items-center px-2 py-2 bg-muted rounded-md cursor-pointer\"><LayoutGrid className=\"w-4 h-4 mr-3\" /><span className=\"text-sm font-medium\">Go to Dashboard</span></div>\n <div className=\"flex items-center px-2 py-2 hover:bg-muted/50 rounded-md cursor-pointer\"><FileText className=\"w-4 h-4 mr-3\" /><span className=\"text-sm font-medium\">Create New Document</span></div>\n <div className=\"flex items-center px-2 py-2 hover:bg-muted/50 rounded-md cursor-pointer\"><Settings className=\"w-4 h-4 mr-3\" /><span className=\"text-sm font-medium\">Settings</span></div>\n </div>\n </div>\n)\n\n// 3. AppTopbar\nexport const AppTopbar = () => (\n <header className=\"flex h-14 items-center justify-between border-b px-6 bg-card w-full\">\n <div className=\"flex items-center gap-4\"><div className=\"w-6 h-6 bg-primary rounded\" /><span className=\"font-bold text-lg hidden sm:block\">AppShell</span></div>\n <div className=\"flex-1 max-w-md mx-6 hidden md:block\"><div className=\"relative\"><Search className=\"absolute left-2.5 top-2 h-4 w-4 text-muted-foreground\" /><input className=\"w-full bg-muted/50 border rounded-md h-8 pl-8 pr-4 text-sm focus:outline-none focus:ring-1 focus:ring-primary\" placeholder=\"Search...\" /></div></div>\n <div className=\"flex items-center gap-4\"><button className=\"relative\"><Bell className=\"w-5 h-5 text-muted-foreground hover:text-foreground\" /><span className=\"absolute top-0 right-0 w-2 h-2 bg-red-500 rounded-full\" /></button><div className=\"w-8 h-8 rounded-full bg-muted border cursor-pointer\" /></div>\n </header>\n)\n\n// 4. MobileDrawerNav (Visual state)\nexport const MobileDrawerNav = () => (\n <div className=\"w-64 h-[400px] bg-card border-r shadow-2xl flex flex-col absolute left-0 top-0 z-50\">\n <div className=\"p-4 border-b flex justify-between items-center\"><span className=\"font-bold\">Menu</span><X className=\"w-5 h-5 cursor-pointer text-muted-foreground hover:text-foreground\" /></div>\n <div className=\"p-4 flex-1 space-y-4\">\n <div className=\"font-bold text-primary\">Home</div>\n <div className=\"font-medium text-muted-foreground hover:text-foreground\">Profile</div>\n <div className=\"font-medium text-muted-foreground hover:text-foreground\">Settings</div>\n </div>\n <div className=\"p-4 border-t\"><button className=\"w-full py-2 bg-muted rounded-md font-medium text-sm\">Sign Out</button></div>\n </div>\n)\n\n// 5. TreeNavigation\nexport const TreeNavigation = () => (\n <div className=\"w-64 bg-card border rounded-lg p-4 space-y-1 text-sm\">\n <div className=\"flex items-center gap-2 font-bold cursor-pointer py-1\"><ChevronDown className=\"w-4 h-4\" /> Components</div>\n <div className=\"pl-6 space-y-1\">\n <div className=\"flex items-center gap-2 font-medium text-primary cursor-pointer py-1 bg-primary/10 px-2 rounded\">Buttons</div>\n <div className=\"flex items-center gap-2 text-muted-foreground hover:text-foreground cursor-pointer py-1 px-2\">Cards</div>\n <div className=\"flex items-center gap-2 text-muted-foreground hover:text-foreground cursor-pointer py-1 px-2\">Inputs</div>\n </div>\n <div className=\"flex items-center gap-2 font-bold text-muted-foreground cursor-pointer py-1\"><ChevronRight className=\"w-4 h-4\" /> Hooks</div>\n </div>\n)\n\n// 6. ContextActionBar\nexport const ContextActionBar = () => (\n <div className=\"flex items-center justify-between p-2 bg-primary text-primary-foreground rounded-lg shadow-xl mx-auto w-fit gap-6 animate-in slide-in-from-bottom-4\">\n <span className=\"text-sm font-medium pl-2\">3 items selected</span>\n <div className=\"flex gap-2\">\n <button className=\"px-3 py-1 bg-white/20 hover:bg-white/30 rounded text-sm font-medium transition-colors\">Move</button>\n <button className=\"px-3 py-1 bg-white/20 hover:bg-white/30 rounded text-sm font-medium transition-colors\">Archive</button>\n <button className=\"px-3 py-1 bg-destructive hover:bg-destructive/90 rounded text-sm font-medium transition-colors\">Delete</button>\n </div>\n </div>\n)\n\n// 7. PaginationPro\nexport const PaginationPro = () => (\n <div className=\"flex items-center gap-1 border bg-card p-1 rounded-md w-fit mx-auto\">\n <button className=\"p-2 hover:bg-muted rounded text-muted-foreground disabled:opacity-50\"><ChevronLeft className=\"w-4 h-4\" /></button>\n <button className=\"w-8 h-8 rounded text-sm font-medium hover:bg-muted\">1</button>\n <button className=\"w-8 h-8 rounded text-sm font-medium bg-primary text-primary-foreground\">2</button>\n <button className=\"w-8 h-8 rounded text-sm font-medium hover:bg-muted\">3</button>\n <span className=\"px-2 text-muted-foreground\">...</span>\n <button className=\"w-8 h-8 rounded text-sm font-medium hover:bg-muted\">10</button>\n <button className=\"p-2 hover:bg-muted rounded text-muted-foreground\"><ChevronRight className=\"w-4 h-4\" /></button>\n </div>\n)\n\n// 8. FilterBar\nexport const FilterBar = () => (\n <div className=\"flex flex-wrap gap-3 items-center p-2 border rounded-lg bg-card\">\n <span className=\"text-sm font-bold ml-2\">Filters:</span>\n <div className=\"flex items-center border rounded-full px-3 py-1 bg-muted/50 text-sm gap-2\">Status: Active <X className=\"w-3 h-3 cursor-pointer\" /></div>\n <div className=\"flex items-center border rounded-full px-3 py-1 bg-muted/50 text-sm gap-2\">Role: Admin <X className=\"w-3 h-3 cursor-pointer\" /></div>\n <button className=\"text-sm border-dashed border rounded-full px-3 py-1 text-muted-foreground hover:bg-muted\">+ Add Filter</button>\n <button className=\"text-sm text-muted-foreground hover:text-foreground ml-auto pr-2\">Clear all</button>\n </div>\n)\n\n// 9. LanguageSelector\nexport const LanguageSelector = () => (\n <div className=\"inline-flex items-center border rounded-md bg-card overflow-hidden\">\n <div className=\"px-3 py-2 border-r flex items-center\"><Globe className=\"w-4 h-4 text-muted-foreground\" /></div>\n <select className=\"bg-transparent pl-3 pr-8 py-2 text-sm font-medium outline-none cursor-pointer appearance-none\">\n <option>English (US)</option><option>Spanish</option><option>French</option>\n </select>\n </div>\n)\n\n// 10. UserMenuDropdown\nexport const UserMenuDropdown = () => (\n <div className=\"flex items-center gap-3 cursor-pointer p-2 border rounded-lg hover:bg-muted transition-colors w-fit\">\n <div className=\"w-8 h-8 rounded-full bg-primary/20 text-primary flex items-center justify-center font-bold text-xs\">JD</div>\n <div className=\"flex flex-col\"><span className=\"text-sm font-bold leading-none\">John Doe</span><span className=\"text-xs text-muted-foreground\">admin@example.com</span></div>\n <ChevronDown className=\"w-4 h-4 text-muted-foreground ml-2\" />\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { CheckCircle2, X, AlertTriangle, WifiOff, FileBox, UploadCloud } from \"lucide-react\"\n\n// 1. ConfettiSuccess (Visual)\nexport const ConfettiSuccess = () => (\n <div className=\"flex flex-col items-center justify-center p-8 border rounded-xl bg-card text-center relative overflow-hidden\">\n <div className=\"absolute inset-0 pointer-events-none flex justify-center\">\n {[1,2,3,4,5,6].map(i => <motion.div key={i} animate={{ y: [0, 100], x: [(i%2===0?1:-1)*20, (i%2===0?1:-1)*40], opacity: [1, 0], rotate: [0, 360] }} transition={{ repeat: Infinity, duration: 2, delay: i*0.2 }} className={`w-2 h-2 absolute top-0 ${i%3===0?'bg-red-500':i%2===0?'bg-blue-500':'bg-yellow-500'}`} />)}\n </div>\n <div className=\"w-16 h-16 bg-green-500/10 text-green-500 rounded-full flex items-center justify-center mb-4 relative z-10\"><CheckCircle2 className=\"w-8 h-8\" /></div>\n <h3 className=\"text-2xl font-bold mb-2 relative z-10\">Payment Successful!</h3>\n <p className=\"text-muted-foreground relative z-10\">Your order #12345 has been processed.</p>\n </div>\n)\n\n// 2. ActionToast\nexport const ActionToast = () => (\n <div className=\"flex items-center justify-between p-4 bg-foreground text-background rounded-lg shadow-xl max-w-sm mx-auto\">\n <div><p className=\"text-sm font-medium\">Item moved to trash</p></div>\n <div className=\"flex gap-4 items-center\"><button className=\"text-sm font-bold text-primary hover:underline\">Undo</button><button><X className=\"w-4 h-4 text-muted\" /></button></div>\n </div>\n)\n\n// 3. MultiStepProgress\nexport const MultiStepProgress = ({ current = 2 }: any) => (\n <div className=\"w-full\">\n <div className=\"flex justify-between mb-2 text-sm font-medium\"><span className=\"text-primary\">Cart</span><span className=\"text-primary\">Shipping</span><span className=\"text-muted-foreground\">Payment</span></div>\n <div className=\"flex h-2 bg-muted rounded-full overflow-hidden\"><div className=\"w-1/3 bg-primary border-r-2 border-background\" /><div className=\"w-1/3 bg-primary/50\" /></div>\n </div>\n)\n\n// 4. SkeletonList\nexport const SkeletonList = () => (\n <div className=\"space-y-4 w-full border p-4 rounded-xl bg-card\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex gap-4 items-center\">\n <div className=\"w-12 h-12 rounded-full bg-muted animate-pulse\" />\n <div className=\"flex-1 space-y-2\"><div className=\"h-4 bg-muted rounded w-1/3 animate-pulse\" /><div className=\"h-3 bg-muted rounded w-1/2 animate-pulse\" /></div>\n </div>\n ))}\n </div>\n)\n\n// 5. EmptyStatePro\nexport const EmptyStatePro = () => (\n <div className=\"flex flex-col items-center justify-center p-12 border-2 border-dashed rounded-xl bg-muted/10 text-center\">\n <div className=\"w-16 h-16 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground\"><FileBox className=\"w-8 h-8\" /></div>\n <h3 className=\"text-xl font-bold mb-2\">No projects found</h3>\n <p className=\"text-muted-foreground mb-6 max-w-sm\">Get started by creating a new project. You can also import an existing one.</p>\n <button className=\"px-6 py-2.5 bg-primary text-primary-foreground font-bold rounded-lg shadow-sm hover:opacity-90\">Create Project</button>\n </div>\n)\n\n// 6. TooltipForm (Visual)\nexport const TooltipForm = () => (\n <div className=\"relative inline-block mt-8\">\n <button className=\"px-4 py-2 bg-muted rounded-md font-medium\">Hover me</button>\n <div className=\"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 w-64 p-4 bg-card border shadow-xl rounded-lg z-10\">\n <h4 className=\"font-bold text-sm mb-2\">Quick Edit</h4>\n <input className=\"w-full p-2 border rounded text-xs mb-2 bg-background\" placeholder=\"New name...\" />\n <button className=\"w-full py-1.5 bg-primary text-primary-foreground text-xs font-bold rounded\">Save</button>\n <div className=\"absolute -bottom-2 left-1/2 -translate-x-1/2 w-4 h-4 bg-card border-b border-r transform rotate-45\" />\n </div>\n </div>\n)\n\n// 7. OfflineBanner\nexport const OfflineBanner = () => (\n <div className=\"w-full bg-destructive text-destructive-foreground p-3 flex justify-center items-center gap-2 text-sm font-medium shadow-sm\">\n <WifiOff className=\"w-4 h-4\" /> You are currently offline. Some features may be unavailable.\n </div>\n)\n\n// 8. RateLimitAlert\nexport const RateLimitAlert = () => (\n <div className=\"border border-orange-500/50 bg-orange-500/10 p-4 rounded-xl flex gap-3 items-start\">\n <AlertTriangle className=\"w-5 h-5 text-orange-500 shrink-0 mt-0.5\" />\n <div>\n <h4 className=\"font-bold text-orange-600 dark:text-orange-400\">Rate Limit Exceeded</h4>\n <p className=\"text-sm text-orange-600/80 dark:text-orange-400/80 mt-1 mb-3\">You have made too many requests. Please wait 45 seconds before trying again.</p>\n <div className=\"w-full h-1.5 bg-orange-500/20 rounded-full overflow-hidden\"><motion.div animate={{ width: [\"100%\", \"0%\"] }} transition={{ duration: 45 }} className=\"h-full bg-orange-500\" /></div>\n </div>\n </div>\n)\n\n// 9. PasswordStrengthMeter\nexport const PasswordStrengthMeter = ({ score = 3 }: any) => (\n <div className=\"w-full max-w-sm space-y-2\">\n <input type=\"password\" placeholder=\"Password\" className=\"w-full p-2 border rounded-md\" defaultValue=\"Str0ngP@ss\" />\n <div className=\"flex gap-1 h-1.5\">\n {[1, 2, 3, 4].map(i => <div key={i} className={`flex-1 rounded-full ${i <= score ? (score < 2 ? 'bg-red-500' : score < 4 ? 'bg-yellow-500' : 'bg-green-500') : 'bg-muted'}`} />)}\n </div>\n <p className={`text-xs font-medium ${score < 2 ? 'text-red-500' : score < 4 ? 'text-yellow-500' : 'text-green-500'}`}>{score < 2 ? 'Weak' : score < 4 ? 'Good' : 'Strong'}</p>\n </div>\n)\n\n// 10. UploadProgress\nexport const UploadProgress = () => (\n <div className=\"w-full max-w-sm border rounded-lg p-3 flex items-center gap-4 bg-card shadow-sm\">\n <div className=\"p-2 bg-primary/10 text-primary rounded-md\"><UploadCloud className=\"w-5 h-5\" /></div>\n <div className=\"flex-1\">\n <div className=\"flex justify-between text-sm mb-1\"><span className=\"font-medium truncate max-w-[150px]\">design-assets.zip</span><span className=\"text-muted-foreground\">45%</span></div>\n <div className=\"h-1.5 w-full bg-muted rounded-full overflow-hidden\"><div className=\"h-full bg-primary w-[45%]\" /></div>\n </div>\n <button><X className=\"w-4 h-4 text-muted-foreground hover:text-foreground\" /></button>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { Check, Play, ArrowRight, ShieldCheck } from \"lucide-react\"\n\n// 1. WaitlistForm\nexport const WaitlistForm = () => (\n <div className=\"w-full max-w-md mx-auto text-center space-y-6 bg-card p-8 rounded-3xl border shadow-xl\">\n <div className=\"inline-block px-3 py-1 bg-primary/10 text-primary font-bold text-xs rounded-full mb-2\">EARLY ACCESS</div>\n <h2 className=\"text-3xl font-extrabold tracking-tight\">Join the Waitlist</h2>\n <p className=\"text-muted-foreground text-sm\">Be the first to know when we launch and get 50% off your first year.</p>\n <div className=\"flex flex-col gap-3\">\n <input className=\"w-full px-4 py-3 bg-muted/50 border rounded-xl outline-none focus:border-primary transition-colors\" placeholder=\"Email address\" />\n <button className=\"w-full py-3 bg-foreground text-background font-bold rounded-xl hover:opacity-90 transition-opacity\">Request Access</button>\n </div>\n <p className=\"text-xs text-muted-foreground\">Over 10,000+ people already joined.</p>\n </div>\n)\n\n// 2. PricingToggle\nexport const PricingToggle = () => (\n <div className=\"flex items-center justify-center gap-3\">\n <span className=\"font-medium text-sm\">Monthly</span>\n <div className=\"w-12 h-6 bg-primary rounded-full relative cursor-pointer\"><div className=\"absolute top-1 left-7 w-4 h-4 bg-background rounded-full transition-all\" /></div>\n <span className=\"font-medium text-sm\">Annually <span className=\"text-green-500 text-xs font-bold bg-green-500/10 px-1.5 py-0.5 rounded ml-1\">Save 20%</span></span>\n </div>\n)\n\n// 3. FeatureShowcase\nexport const FeatureShowcase = () => (\n <div className=\"flex items-center gap-8 bg-card border rounded-2xl p-6 overflow-hidden\">\n <div className=\"flex-1 space-y-4\">\n <div className=\"w-12 h-12 bg-primary/10 text-primary flex items-center justify-center rounded-xl\"><ShieldCheck className=\"w-6 h-6\" /></div>\n <h3 className=\"text-2xl font-bold\">Enterprise Security</h3>\n <p className=\"text-muted-foreground\">Bank-grade encryption for all your data. We never compromise on the security of your business.</p>\n <button className=\"flex items-center gap-2 text-primary font-bold text-sm hover:underline\">Learn more <ArrowRight className=\"w-4 h-4\" /></button>\n </div>\n <div className=\"flex-1 h-48 bg-muted rounded-xl border flex items-center justify-center font-mono text-muted-foreground text-sm\">Illustration Placeholder</div>\n </div>\n)\n\n// 4. TrustBanner\nexport const TrustBanner = () => (\n <div className=\"py-8 text-center border-y bg-muted/20\">\n <p className=\"text-sm font-bold text-muted-foreground mb-6 uppercase tracking-widest\">Backed by the best</p>\n <div className=\"flex justify-center gap-8 flex-wrap opacity-60\">\n <div className=\"font-black text-xl\">Y COMBINATOR</div><div className=\"font-black text-xl\">SEQUOIA</div><div className=\"font-black text-xl\">a16z</div>\n </div>\n </div>\n)\n\n// 5. ComparisonTableMock\nexport const ComparisonTableMock = () => (\n <div className=\"w-full border rounded-2xl bg-card overflow-hidden\">\n <div className=\"grid grid-cols-3 bg-muted/50 p-4 border-b font-bold text-center\">\n <div className=\"text-left\">Features</div><div className=\"text-muted-foreground\">Others</div><div className=\"text-primary\">Us</div>\n </div>\n <div className=\"divide-y text-sm\">\n {['Real-time sync', 'End-to-end encryption', '24/7 Support'].map((f, i) => (\n <div key={i} className=\"grid grid-cols-3 p-4 items-center text-center\">\n <div className=\"text-left font-medium\">{f}</div>\n <div className=\"text-muted-foreground/30\">{i === 0 ? '✔️' : '❌'}</div>\n <div className=\"text-primary font-bold text-lg\">✓</div>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 6. AnimatedHeroText\nexport const AnimatedHeroText = () => (\n <h1 className=\"text-4xl md:text-6xl font-black text-center leading-tight\">\n Create the next <br/>\n <span className=\"text-transparent bg-clip-text bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500 animate-[pulse_4s_ease-in-out_infinite]\">unicorn startup.</span>\n </h1>\n)\n\n// 7. StatCounter\nexport const StatCounter = () => (\n <div className=\"grid grid-cols-3 gap-4 border-y py-8 text-center bg-card\">\n <div><div className=\"text-4xl font-black text-primary mb-1\">99.9%</div><div className=\"text-sm font-medium text-muted-foreground\">Uptime SLA</div></div>\n <div><div className=\"text-4xl font-black text-primary mb-1\">2M+</div><div className=\"text-sm font-medium text-muted-foreground\">Active Users</div></div>\n <div><div className=\"text-4xl font-black text-primary mb-1\">4.9/5</div><div className=\"text-sm font-medium text-muted-foreground\">Customer Rating</div></div>\n </div>\n)\n\n// 8. NewsletterSignup\nexport const NewsletterSignup = () => (\n <div className=\"bg-primary text-primary-foreground p-8 md:p-12 rounded-3xl text-center md:text-left flex flex-col md:flex-row items-center gap-8 justify-between\">\n <div className=\"max-w-md\"><h2 className=\"text-3xl font-bold mb-2\">Subscribe to our newsletter</h2><p className=\"opacity-90\">Get the latest news, articles, and resources delivered to your inbox weekly.</p></div>\n <div className=\"w-full max-w-sm flex flex-col gap-2\">\n <div className=\"flex gap-2\"><input className=\"flex-1 px-4 py-3 rounded-xl text-foreground outline-none\" placeholder=\"Enter your email\" /><button className=\"px-6 py-3 bg-foreground text-background font-bold rounded-xl\">Subscribe</button></div>\n <p className=\"text-xs opacity-70 text-center md:text-left\">We care about your data. Read our Privacy Policy.</p>\n </div>\n </div>\n)\n\n// 9. VideoModalVisual\nexport const VideoModalVisual = () => (\n <div className=\"relative w-full max-w-2xl mx-auto aspect-video bg-zinc-900 rounded-2xl overflow-hidden shadow-2xl group cursor-pointer border border-white/10\">\n <div className=\"absolute inset-0 bg-gradient-to-t from-black/60 to-transparent\" />\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div className=\"w-16 h-16 bg-white/20 backdrop-blur-md rounded-full flex items-center justify-center group-hover:scale-110 transition-transform\"><Play className=\"w-6 h-6 text-white ml-1\" /></div>\n </div>\n <div className=\"absolute bottom-4 left-4 text-white\"><h4 className=\"font-bold\">Watch the demo</h4><p className=\"text-sm opacity-80\">2 mins</p></div>\n </div>\n)\n\n// 10. GradientCTABlock\nexport const GradientCTABlock = () => (\n <div className=\"relative p-12 rounded-3xl overflow-hidden border shadow-lg text-center\">\n <div className=\"absolute inset-0 bg-gradient-to-br from-indigo-500/20 via-purple-500/20 to-pink-500/20\" />\n <div className=\"relative z-10 max-w-lg mx-auto space-y-6\">\n <h2 className=\"text-3xl md:text-4xl font-extrabold\">Ready to dive in?</h2>\n <p className=\"text-lg text-muted-foreground\">Start your free 14-day trial today. No credit card required.</p>\n <button className=\"px-8 py-4 bg-foreground text-background rounded-full font-bold shadow-xl hover:scale-105 transition-transform\">Get Started Free</button>\n </div>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Phone, Mail, FileText, Download, Briefcase, MapPin, Clock, MessageSquare, Plus, Check } from \"lucide-react\"\n\n// 1. ContactList\nexport const ContactList = () => (\n <div className=\"w-full max-w-md border rounded-xl bg-card divide-y\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex items-center justify-between p-4 hover:bg-muted/50 cursor-pointer\">\n <div className=\"flex items-center gap-3\">\n <div className=\"w-10 h-10 rounded-full bg-primary/20 text-primary flex items-center justify-center font-bold text-sm\">C{i}</div>\n <div><h4 className=\"font-semibold text-sm\">Contact Name {i}</h4><p className=\"text-xs text-muted-foreground\">contact{i}@example.com</p></div>\n </div>\n <div className=\"flex gap-2 text-muted-foreground\"><Phone className=\"w-4 h-4 hover:text-foreground\" /><Mail className=\"w-4 h-4 hover:text-foreground\" /></div>\n </div>\n ))}\n </div>\n)\n\n// 2. NotificationList\nexport const NotificationList = () => (\n <div className=\"w-full max-w-md border rounded-xl bg-card divide-y\">\n <div className=\"p-4 border-b font-bold flex justify-between items-center\">Notifications <span className=\"text-xs font-normal text-primary hover:underline cursor-pointer\">Mark all read</span></div>\n {[1, 2, 3].map(i => (\n <div key={i} className={`flex gap-4 p-4 ${i === 1 ? 'bg-primary/5' : ''}`}>\n {i === 1 && <div className=\"w-2 h-2 rounded-full bg-primary mt-1.5\" />}\n <div className=\"flex-1\"><p className=\"text-sm\"><span className=\"font-bold\">System</span> completed the backup successfully.</p><p className=\"text-xs text-muted-foreground mt-1\">2 hours ago</p></div>\n </div>\n ))}\n </div>\n)\n\n// 3. TimelineVertical\nexport const TimelineVertical = () => (\n <div className=\"w-full max-w-md p-4\">\n <div className=\"relative border-l-2 border-muted ml-3 space-y-8\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"relative pl-6\">\n <div className=\"absolute w-4 h-4 bg-primary rounded-full border-4 border-background -left-[9px] top-1\" />\n <h4 className=\"font-bold text-sm mb-1\">Project Milestone {i}</h4>\n <p className=\"text-xs text-muted-foreground mb-2\">October {10 + i}, 2025</p>\n <p className=\"text-sm\">Completed the initial design phase and got client approval.</p>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 4. StepList\nexport const StepList = () => (\n <div className=\"w-full max-w-md space-y-4\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex gap-4\">\n <div className={`w-8 h-8 rounded-full flex items-center justify-center shrink-0 border-2 font-bold text-sm ${i === 1 ? 'bg-primary border-primary text-primary-foreground' : 'border-muted text-muted-foreground'}`}>{i === 1 ? <Check className=\"w-4 h-4\" /> : i}</div>\n <div><h4 className={`font-bold text-sm ${i === 1 ? '' : 'text-muted-foreground'}`}>Step {i} Title</h4><p className=\"text-sm text-muted-foreground mt-1\">Detailed description of what needs to be done in this step.</p></div>\n </div>\n ))}\n </div>\n)\n\n// 5. FAQAccordionList (Visual Mock)\nexport const FAQAccordionList = () => (\n <div className=\"w-full max-w-2xl border rounded-xl bg-card divide-y\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"p-4\">\n <h4 className=\"font-bold text-sm mb-2 flex justify-between\">How does pricing work? <Plus className=\"w-4 h-4 text-muted-foreground\" /></h4>\n {i === 1 && <p className=\"text-sm text-muted-foreground mt-2\">Pricing is based on the number of users in your workspace. You can upgrade or downgrade at any time.</p>}\n </div>\n ))}\n </div>\n)\n\n// 6. FileDownloadList\nexport const FileDownloadList = () => (\n <div className=\"w-full max-w-md border rounded-xl bg-card p-4 space-y-3\">\n <h3 className=\"font-bold text-sm mb-4\">Attached Files</h3>\n {[1, 2].map(i => (\n <div key={i} className=\"flex items-center justify-between p-3 border rounded-lg hover:bg-muted transition-colors\">\n <div className=\"flex items-center gap-3\"><FileText className=\"w-8 h-8 text-primary\" /><div><p className=\"text-sm font-medium\">Document-{i}.pdf</p><p className=\"text-xs text-muted-foreground\">2.4 MB</p></div></div>\n <button className=\"p-2 border bg-background rounded-full hover:text-primary\"><Download className=\"w-4 h-4\" /></button>\n </div>\n ))}\n </div>\n)\n\n// 7. MessageList\nexport const MessageList = () => (\n <div className=\"w-full max-w-md border rounded-xl bg-card divide-y\">\n {[1, 2, 3].map(i => (\n <div key={i} className=\"flex gap-4 p-4 hover:bg-muted/50 cursor-pointer\">\n <div className=\"w-10 h-10 rounded-full bg-muted shrink-0\" />\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex justify-between items-baseline mb-1\"><h4 className=\"font-bold text-sm truncate\">Jane Doe</h4><span className=\"text-xs text-muted-foreground shrink-0\">12:30 PM</span></div>\n <p className=\"text-sm text-muted-foreground truncate\">Hey, are we still on for the meeting later today?</p>\n </div>\n </div>\n ))}\n </div>\n)\n\n// 8. JobBoardList\nexport const JobBoardList = () => (\n <div className=\"w-full max-w-2xl border rounded-xl bg-card divide-y\">\n {[1, 2].map(i => (\n <div key={i} className=\"p-6 hover:bg-muted/20 transition-colors flex flex-col sm:flex-row gap-4 justify-between items-start sm:items-center\">\n <div>\n <h3 className=\"text-lg font-bold mb-2\">Senior React Developer</h3>\n <div className=\"flex flex-wrap gap-3 text-sm text-muted-foreground\">\n <span className=\"flex items-center gap-1\"><Briefcase className=\"w-4 h-4\" /> Full-time</span>\n <span className=\"flex items-center gap-1\"><MapPin className=\"w-4 h-4\" /> Remote</span>\n <span className=\"flex items-center gap-1\"><Clock className=\"w-4 h-4\" /> Posted 2 days ago</span>\n </div>\n </div>\n <button className=\"px-6 py-2 border rounded-full text-sm font-bold hover:bg-muted\">Apply Now</button>\n </div>\n ))}\n </div>\n)\n\n// 9. EventScheduleList\nexport const EventScheduleList = () => (\n <div className=\"w-full max-w-lg p-6 bg-card border rounded-xl\">\n <h3 className=\"font-bold text-xl mb-6\">Conference Schedule</h3>\n <div className=\"space-y-6\">\n {[1, 2].map(i => (\n <div key={i} className=\"flex gap-4\">\n <div className=\"text-right w-16 shrink-0\"><p className=\"font-bold\">09:00</p><p className=\"text-xs text-muted-foreground\">AM</p></div>\n <div className=\"w-0.5 bg-primary/20 relative\"><div className=\"absolute top-1 -left-1 w-2.5 h-2.5 rounded-full bg-primary\" /></div>\n <div className=\"pb-6\"><h4 className=\"font-bold text-lg mb-1\">Keynote Speech</h4><p className=\"text-sm text-muted-foreground mb-2\">Main Stage</p><div className=\"flex items-center gap-2 text-xs font-medium bg-muted w-fit px-2 py-1 rounded\"><div className=\"w-4 h-4 bg-primary/20 rounded-full\" /> Speaker Name</div></div>\n </div>\n ))}\n </div>\n </div>\n)\n\n// 10. RecentCommentsList\nexport const RecentCommentsList = () => (\n <div className=\"w-full max-w-md space-y-4\">\n {[1, 2].map(i => (\n <div key={i} className=\"flex gap-3\">\n <div className=\"w-8 h-8 rounded-full bg-muted shrink-0\" />\n <div className=\"flex-1 bg-card border p-3 rounded-2xl rounded-tl-none text-sm\">\n <p className=\"font-bold mb-1\">User {i} <span className=\"font-normal text-muted-foreground text-xs ml-2\">1h ago</span></p>\n <p>This is a great article! Thanks for sharing this information.</p>\n <div className=\"flex gap-3 mt-2 text-xs font-medium text-muted-foreground\"><button className=\"hover:text-primary flex items-center gap-1\"><MessageSquare className=\"w-3 h-3\" /> Reply</button></div>\n </div>\n </div>\n ))}\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { LayoutGrid, FileText, Settings, User, Bell, Search, MessageSquare, Menu } from \"lucide-react\"\n\n// 1. SplitScreenLayout\nexport const SplitScreenLayout = () => (\n <div className=\"flex w-full h-[400px] border rounded-xl overflow-hidden bg-background\">\n <div className=\"flex-1 p-8 md:p-12 flex flex-col justify-center bg-card\">\n <div className=\"w-12 h-12 bg-primary rounded-xl mb-8\" />\n <h2 className=\"text-3xl font-bold mb-4\">Welcome back</h2>\n <p className=\"text-muted-foreground mb-8\">Please enter your details to sign in.</p>\n <div className=\"w-full h-10 bg-muted rounded-lg mb-4\" />\n <div className=\"w-full h-10 bg-muted rounded-lg mb-8\" />\n <div className=\"w-full h-12 bg-primary rounded-lg\" />\n </div>\n <div className=\"hidden md:block flex-1 bg-gradient-to-br from-indigo-500 to-purple-600 p-12 text-white flex flex-col justify-between\">\n <div></div>\n <div>\n <h2 className=\"text-4xl font-bold mb-4\">Nexore UI</h2>\n <p className=\"text-lg opacity-80\">The most powerful and flexible UI library for modern web applications.</p>\n </div>\n </div>\n </div>\n)\n\n// 2. AuthenticationLayout (Centered)\nexport const AuthenticationLayout = () => (\n <div className=\"w-full h-[400px] bg-muted/20 border rounded-xl flex items-center justify-center p-4\">\n <div className=\"w-full max-w-md bg-card border rounded-2xl shadow-xl p-8 flex flex-col items-center\">\n <div className=\"w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center mb-6\"><User className=\"w-8 h-8 text-primary\" /></div>\n <h2 className=\"text-2xl font-bold mb-2\">Create Account</h2>\n <p className=\"text-muted-foreground text-center mb-8 text-sm\">Join thousands of developers building the future.</p>\n <div className=\"w-full space-y-4\"><div className=\"w-full h-10 bg-muted rounded-md\" /><div className=\"w-full h-10 bg-muted rounded-md\" /><div className=\"w-full h-10 bg-primary rounded-md mt-4\" /></div>\n </div>\n </div>\n)\n\n// 3. SidebarLayout\nexport const SidebarLayout = () => (\n <div className=\"flex w-full h-[400px] border rounded-xl overflow-hidden bg-background text-sm\">\n <div className=\"w-64 bg-card border-r flex flex-col\">\n <div className=\"h-14 border-b flex items-center px-4 font-bold\">App Name</div>\n <div className=\"p-4 space-y-2 flex-1\"><div className=\"w-full h-8 bg-primary/10 text-primary rounded flex items-center px-3 font-medium\">Dashboard</div><div className=\"w-full h-8 hover:bg-muted rounded flex items-center px-3 text-muted-foreground\">Projects</div></div>\n <div className=\"p-4 border-t flex items-center gap-3\"><div className=\"w-8 h-8 bg-muted rounded-full\" /><div className=\"flex-1 h-4 bg-muted rounded\" /></div>\n </div>\n <div className=\"flex-1 flex flex-col\">\n <div className=\"h-14 border-b flex items-center px-6 justify-between\"><div className=\"font-bold\">Overview</div><div className=\"flex gap-4\"><Search className=\"w-4 h-4 text-muted-foreground\" /><Bell className=\"w-4 h-4 text-muted-foreground\" /></div></div>\n <div className=\"p-6 flex-1 bg-muted/10\"><div className=\"w-full h-full border-2 border-dashed rounded-xl border-muted flex items-center justify-center text-muted-foreground\">Content Area</div></div>\n </div>\n </div>\n)\n\n// 4. DashboardGridLayout\nexport const DashboardGridLayout = () => (\n <div className=\"w-full p-4 border rounded-xl bg-muted/10 space-y-4 h-[400px] overflow-hidden\">\n <div className=\"grid grid-cols-4 gap-4\"><div className=\"col-span-1 h-24 bg-card border rounded-xl shadow-sm\" /><div className=\"col-span-1 h-24 bg-card border rounded-xl shadow-sm\" /><div className=\"col-span-1 h-24 bg-card border rounded-xl shadow-sm\" /><div className=\"col-span-1 h-24 bg-card border rounded-xl shadow-sm\" /></div>\n <div className=\"grid grid-cols-3 gap-4 h-[200px]\"><div className=\"col-span-2 bg-card border rounded-xl shadow-sm\" /><div className=\"col-span-1 bg-card border rounded-xl shadow-sm\" /></div>\n </div>\n)\n\n// 5. BentoGridVisual\nexport const BentoGridVisual = () => (\n <div className=\"w-full h-[400px] border rounded-xl bg-background p-4 grid grid-cols-4 grid-rows-3 gap-4\">\n <div className=\"col-span-2 row-span-2 bg-gradient-to-br from-primary/20 to-primary/5 border rounded-2xl p-6 flex flex-col justify-end\"><h3 className=\"text-2xl font-bold\">Main Feature</h3></div>\n <div className=\"col-span-1 row-span-1 bg-card border rounded-2xl\" />\n <div className=\"col-span-1 row-span-2 bg-card border rounded-2xl\" />\n <div className=\"col-span-1 row-span-1 bg-card border rounded-2xl\" />\n <div className=\"col-span-3 row-span-1 bg-card border rounded-2xl\" />\n </div>\n)\n\n// 6. KanbanBoardVisual\nexport const KanbanBoardVisual = () => (\n <div className=\"flex w-full h-[400px] border rounded-xl bg-muted/20 p-4 gap-4 overflow-hidden\">\n {[1, 2, 3].map(col => (\n <div key={col} className=\"w-80 shrink-0 flex flex-col bg-card border rounded-xl p-3 h-full\">\n <h4 className=\"font-bold text-sm mb-3 px-1\">{col === 1 ? 'To Do' : col === 2 ? 'In Progress' : 'Done'} <span className=\"text-muted-foreground font-normal ml-2\">3</span></h4>\n <div className=\"space-y-3 flex-1 overflow-hidden\">\n <div className=\"w-full h-24 bg-background border rounded-lg shadow-sm\" />\n <div className=\"w-full h-32 bg-background border rounded-lg shadow-sm\" />\n </div>\n </div>\n ))}\n </div>\n)\n\n// 7. ChatLayoutVisual\nexport const ChatLayoutVisual = () => (\n <div className=\"flex w-full h-[400px] border rounded-xl overflow-hidden bg-background\">\n <div className=\"w-64 border-r flex flex-col\"><div className=\"p-4 border-b font-bold\">Messages</div><div className=\"p-2 space-y-1 flex-1\"><div className=\"w-full h-12 bg-muted rounded-lg\" /><div className=\"w-full h-12 hover:bg-muted/50 rounded-lg\" /></div></div>\n <div className=\"flex-1 flex flex-col\">\n <div className=\"p-4 border-b font-bold flex items-center gap-3\"><div className=\"w-8 h-8 bg-muted rounded-full\" /> User Name</div>\n <div className=\"flex-1 p-4 flex flex-col gap-4 overflow-hidden bg-muted/10\">\n <div className=\"w-64 h-12 bg-muted rounded-2xl rounded-tl-sm\" />\n <div className=\"w-48 h-10 bg-primary rounded-2xl rounded-tr-sm self-end\" />\n </div>\n <div className=\"p-4 border-t\"><div className=\"w-full h-10 bg-muted rounded-full\" /></div>\n </div>\n </div>\n)\n\n// 8. FeedLayout\nexport const FeedLayout = () => (\n <div className=\"w-full h-[400px] border rounded-xl overflow-hidden bg-muted/20 flex justify-center p-4\">\n <div className=\"w-full max-w-lg flex flex-col gap-4\">\n <div className=\"w-full p-4 bg-card border rounded-xl shadow-sm\"><div className=\"flex gap-3 items-center mb-4\"><div className=\"w-10 h-10 bg-muted rounded-full\" /><div className=\"w-32 h-4 bg-muted rounded\" /></div><div className=\"w-full h-24 bg-muted/50 rounded-lg\" /></div>\n <div className=\"w-full p-4 bg-card border rounded-xl shadow-sm\"><div className=\"flex gap-3 items-center mb-4\"><div className=\"w-10 h-10 bg-muted rounded-full\" /><div className=\"w-32 h-4 bg-muted rounded\" /></div><div className=\"w-full h-24 bg-muted/50 rounded-lg\" /></div>\n </div>\n </div>\n)\n\n// 9. DocumentationLayout\nexport const DocumentationLayout = () => (\n <div className=\"flex w-full h-[400px] border rounded-xl overflow-hidden bg-background\">\n <div className=\"w-64 border-r p-4 space-y-4\"><div className=\"w-full h-6 bg-muted rounded mb-6\" /><div className=\"w-full h-4 bg-muted/50 rounded\" /><div className=\"w-3/4 h-4 bg-muted/50 rounded\" /><div className=\"w-5/6 h-4 bg-muted/50 rounded\" /></div>\n <div className=\"flex-1 p-8 overflow-hidden\">\n <h1 className=\"text-3xl font-bold mb-4\">Installation</h1>\n <p className=\"text-muted-foreground mb-6\">Learn how to install and setup the library in your project.</p>\n <div className=\"w-full h-32 bg-zinc-950 rounded-xl mb-6 flex items-center px-4\"><span className=\"font-mono text-zinc-300\">npm install nexoreui</span></div>\n <div className=\"w-full h-4 bg-muted rounded mb-2\" /><div className=\"w-full h-4 bg-muted rounded mb-2\" /><div className=\"w-3/4 h-4 bg-muted rounded\" />\n </div>\n <div className=\"w-48 border-l p-4 space-y-4 hidden lg:block\"><div className=\"text-sm font-bold\">On this page</div><div className=\"w-full h-3 bg-muted rounded\" /><div className=\"w-2/3 h-3 bg-muted rounded\" /></div>\n </div>\n)\n\n// 10. HeaderFooterLayout\nexport const HeaderFooterLayout = () => (\n <div className=\"flex flex-col w-full h-[400px] border rounded-xl overflow-hidden bg-background\">\n <header className=\"h-16 border-b flex items-center justify-between px-6 bg-card\"><div className=\"w-8 h-8 bg-primary rounded\" /><div className=\"flex gap-4\"><div className=\"w-16 h-4 bg-muted rounded\" /><div className=\"w-16 h-4 bg-muted rounded\" /></div></header>\n <main className=\"flex-1 bg-muted/10 p-8\"><div className=\"w-full h-full border-2 border-dashed rounded-xl border-muted flex items-center justify-center\">Main Content</div></main>\n <footer className=\"h-20 border-t bg-card p-6 flex items-center justify-between\"><div className=\"w-32 h-4 bg-muted rounded\" /><div className=\"flex gap-2\"><div className=\"w-6 h-6 bg-muted rounded-full\" /><div className=\"w-6 h-6 bg-muted rounded-full\" /></div></footer>\n </div>\n)\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Check, ChevronDown, X, Info, HelpCircle, Bell, Star, Zap } from \"lucide-react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\n\n// --- ACCORDIONS ---\nexport const SimpleAccordion = () => {\n const [open, setOpen] = React.useState(false)\n return (\n <div className=\"w-full max-w-md border rounded-xl overflow-hidden bg-card/50 backdrop-blur-sm border-border/50\">\n <button onClick={() => setOpen(!open)} className=\"w-full p-4 flex justify-between items-center hover:bg-muted/50 transition-colors font-medium\">\n <span>Is this library free?</span>\n <ChevronDown className={`w-4 h-4 transition-transform duration-300 ${open ? 'rotate-180' : ''}`} />\n </button>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ height: 0, opacity: 0 }}\n animate={{ height: \"auto\", opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{ duration: 0.3, ease: \"easeInOut\" }}\n className=\"overflow-hidden\"\n >\n <div className=\"p-4 pt-0 text-sm text-muted-foreground border-t border-border/50 mt-2 pt-2\">\n Yes, it is completely free and open source.\n </div>\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n )\n}\n\nexport const PlusAccordion = () => {\n const [open, setOpen] = React.useState(false)\n return (\n <div className=\"w-full max-w-md border-b border-border/50\">\n <button onClick={() => setOpen(!open)} className=\"w-full py-4 flex justify-between items-center font-medium hover:text-primary transition-colors\">\n <span>How do I install it?</span>\n <div className=\"relative w-4 h-4 flex items-center justify-center\">\n <div className=\"absolute w-4 h-0.5 bg-current rounded-full\" />\n <div className={`absolute w-0.5 h-4 bg-current rounded-full transition-transform duration-300 ${open ? 'rotate-90' : ''}`} />\n </div>\n </button>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ height: 0, opacity: 0 }}\n animate={{ height: \"auto\", opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{ duration: 0.3, ease: \"easeInOut\" }}\n className=\"overflow-hidden\"\n >\n <p className=\"text-sm text-muted-foreground pb-4\">\n You can install it via pnpm, npm, or yarn using the CLI.\n </p>\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n )\n}\n\nexport const NeonAccordion = () => {\n const [open, setOpen] = React.useState(false)\n return (\n <div className={`w-full max-w-md border rounded-xl overflow-hidden bg-black transition-all duration-300 ${open ? 'border-cyan-500 shadow-[0_0_15px_rgba(6,182,212,0.3)]' : 'border-neutral-800'}`}>\n <button onClick={() => setOpen(!open)} className=\"w-full p-4 flex justify-between items-center font-medium text-white\">\n <span className={open ? 'text-cyan-400' : 'text-white'}>Premium Features</span>\n <ChevronDown className={`w-4 h-4 transition-transform duration-300 ${open ? 'rotate-180 text-cyan-400' : 'text-white'}`} />\n </button>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ height: 0, opacity: 0 }}\n animate={{ height: \"auto\", opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{ duration: 0.3, ease: \"easeInOut\" }}\n className=\"overflow-hidden\"\n >\n <div className=\"p-4 pt-0 text-sm text-neutral-400 border-t border-neutral-800 mt-2 pt-2\">\n Access to exclusive animated components and premium layouts.\n </div>\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n )\n}\n\n// --- MODALS ---\nexport const BasicModal = () => {\n const [open, setOpen] = React.useState(false)\n return (\n <>\n <button onClick={() => setOpen(true)} className=\"px-4 py-2 bg-primary text-primary-foreground rounded-lg font-medium hover:opacity-90 transition-opacity\">Open Basic Modal</button>\n <AnimatePresence>\n {open && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n onClick={() => setOpen(false)}\n className=\"fixed inset-0 bg-black/60 backdrop-blur-sm\"\n />\n <motion.div\n initial={{ scale: 0.95, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0.95, opacity: 0 }}\n transition={{ type: \"spring\", damping: 20, stiffness: 300 }}\n className=\"bg-background rounded-2xl shadow-xl w-full max-w-md p-6 relative z-10 border border-border/50\"\n >\n <button onClick={() => setOpen(false)} className=\"absolute top-4 right-4 text-muted-foreground hover:text-foreground transition-colors\"><X className=\"w-4 h-4\" /></button>\n <h3 className=\"font-bold text-lg mb-2\">Basic Modal</h3>\n <p className=\"text-muted-foreground text-sm mb-6\">This is a simple modal dialog that can be used for various purposes.</p>\n <div className=\"flex justify-end gap-2\">\n <button onClick={() => setOpen(false)} className=\"px-4 py-2 hover:bg-muted rounded-lg text-sm font-medium transition-colors\">Cancel</button>\n <button onClick={() => setOpen(false)} className=\"px-4 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:opacity-90 transition-opacity\">Confirm</button>\n </div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n </>\n )\n}\n\nexport const InteractiveGlassModal = () => {\n const [open, setOpen] = React.useState(false)\n return (\n <>\n <button onClick={() => setOpen(true)} className=\"px-4 py-2 bg-white/10 backdrop-blur-md border border-white/20 rounded-lg font-medium hover:bg-white/20 transition-colors\">Open Glass Modal</button>\n <AnimatePresence>\n {open && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n onClick={() => setOpen(false)}\n className=\"fixed inset-0 bg-black/40 backdrop-blur-md\"\n />\n <motion.div\n initial={{ y: 20, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n exit={{ y: 20, opacity: 0 }}\n transition={{ type: \"spring\", damping: 25, stiffness: 400 }}\n className=\"bg-white/10 backdrop-blur-xl rounded-2xl shadow-2xl w-full max-w-md p-6 relative z-10 border border-white/20 text-white\"\n >\n <button onClick={() => setOpen(false)} className=\"absolute top-4 right-4 text-white/60 hover:text-white transition-colors\"><X className=\"w-4 h-4\" /></button>\n <div className=\"w-12 h-12 bg-white/10 rounded-full flex items-center justify-center mb-4 border border-white/20\">\n <Star className=\"w-6 h-6 text-yellow-300\" />\n </div>\n <h3 className=\"font-bold text-xl mb-2\">Premium Glass Effect</h3>\n <p className=\"text-white/70 text-sm mb-6\">This modal uses full glassmorphism for a stunning visual effect.</p>\n <div className=\"flex justify-end gap-2\">\n <button onClick={() => setOpen(false)} className=\"px-4 py-2 hover:bg-white/5 rounded-lg text-sm font-medium transition-colors\">Maybe Later</button>\n <button onClick={() => setOpen(false)} className=\"px-4 py-2 bg-white text-black rounded-lg text-sm font-medium hover:bg-white/90 transition-colors\">Upgrade Now</button>\n </div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n </>\n )\n}\n\nexport const DangerModal = () => {\n const [open, setOpen] = React.useState(false)\n return (\n <>\n <button onClick={() => setOpen(true)} className=\"px-4 py-2 bg-destructive text-destructive-foreground rounded-lg font-medium hover:opacity-90 transition-opacity\">Delete Account</button>\n <AnimatePresence>\n {open && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n onClick={() => setOpen(false)}\n className=\"fixed inset-0 bg-black/60 backdrop-blur-sm\"\n />\n <motion.div\n initial={{ rotate: 5, scale: 0.9, opacity: 0 }}\n animate={{ rotate: 0, scale: 1, opacity: 1 }}\n exit={{ rotate: -5, scale: 0.9, opacity: 0 }}\n transition={{ type: \"spring\", damping: 20, stiffness: 300 }}\n className=\"bg-background rounded-2xl shadow-xl w-full max-w-md overflow-hidden relative z-10 border border-destructive/20\"\n >\n <div className=\"p-6 text-center\">\n <div className=\"w-16 h-16 bg-destructive/10 text-destructive rounded-full flex items-center justify-center mx-auto mb-4\">\n <X className=\"w-8 h-8\" />\n </div>\n <h3 className=\"font-bold text-xl mb-2\">Are you absolutely sure?</h3>\n <p className=\"text-muted-foreground text-sm\">This action cannot be undone. This will permanently delete your account and remove your data from our servers.</p>\n </div>\n <div className=\"flex border-t border-border/50 bg-muted/50\">\n <button onClick={() => setOpen(false)} className=\"flex-1 py-3 font-medium hover:bg-muted transition-colors border-r border-border/50\">Cancel</button>\n <button onClick={() => setOpen(false)} className=\"flex-1 py-3 font-medium text-destructive hover:bg-destructive/10 transition-colors\">Delete</button>\n </div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n </>\n )\n}\n\n// --- CHECKBOXES ---\nexport const SimpleCheckbox = () => {\n const [checked, setChecked] = React.useState(false)\n return (\n <label className=\"flex items-center gap-3 cursor-pointer group\">\n <div className={`w-5 h-5 rounded border flex items-center justify-center transition-all duration-200 ${checked ? 'bg-primary border-primary text-primary-foreground scale-110' : 'border-border group-hover:border-primary'}`}>\n {checked && <Check className=\"w-3 h-3 stroke-[3]\" />}\n </div>\n <input type=\"checkbox\" className=\"hidden\" checked={checked} onChange={(e) => setChecked(e.target.checked)} />\n <span className=\"text-sm font-medium select-none text-muted-foreground group-hover:text-foreground transition-colors\">Accept terms and conditions</span>\n </label>\n )\n}\n\nexport const InteractiveCardCheckbox = ({ title = \"Pro Plan\", description = \"$29/month. Billed annually.\", checked: externalChecked, onCheckedChange, ...props }: any) => {\n const [localChecked, setLocalChecked] = React.useState(false)\n const isChecked = externalChecked !== undefined ? externalChecked : localChecked\n const setChecked = onCheckedChange || setLocalChecked\n\n return (\n <label className={`flex gap-4 p-4 border rounded-xl cursor-pointer transition-all duration-300 ${isChecked ? 'border-primary ring-1 ring-primary bg-primary/5 shadow-lg shadow-primary/5' : 'border-border hover:border-primary/50 hover:bg-muted/50'}`} {...props}>\n <div className={`w-5 h-5 rounded-full border mt-0.5 flex shrink-0 items-center justify-center transition-all duration-200 ${isChecked ? 'bg-primary border-primary text-primary-foreground scale-110' : 'border-border'}`}>\n {isChecked && <div className=\"w-2 h-2 rounded-full bg-primary-foreground\" />}\n </div>\n <input type=\"checkbox\" className=\"hidden\" checked={isChecked} onChange={(e) => setChecked(e.target.checked)} />\n <div>\n <div className={`font-medium transition-colors ${isChecked ? 'text-primary' : 'text-foreground'}`}>{title}</div>\n <div className=\"text-sm text-muted-foreground\">{description}</div>\n </div>\n </label>\n )\n}\n\n\n\n// --- SWITCHES ---\nexport const SimpleSwitch = () => {\n const [checked, setChecked] = React.useState(false)\n return (\n <div className=\"flex items-center justify-between w-full max-w-xs p-3 border rounded-lg bg-muted/20\">\n <span className=\"text-sm font-medium\">Airplane Mode</span>\n <button \n onClick={() => setChecked(!checked)}\n className={`w-11 h-6 rounded-full relative transition-colors duration-300 ${checked ? 'bg-primary' : 'bg-muted-foreground/30'}`}\n >\n <div className={`w-5 h-5 rounded-full bg-background absolute top-0.5 transition-transform duration-300 shadow-md ${checked ? 'translate-x-[22px]' : 'translate-x-[2px]'}`} />\n </button>\n </div>\n )\n}\n\nexport const NeonSwitch = () => {\n const [checked, setChecked] = React.useState(false)\n return (\n <div className=\"flex items-center justify-between w-full max-w-xs p-3 border border-neutral-800 rounded-lg bg-black\">\n <span className=\"text-sm font-medium text-white\">Dark Energy</span>\n <button \n onClick={() => setChecked(!checked)}\n className={`w-12 h-6 rounded-full relative transition-colors duration-300 ${checked ? 'bg-cyan-500 shadow-[0_0_10px_rgba(6,182,212,0.5)]' : 'bg-neutral-800'}`}\n >\n <div className={`w-4 h-4 rounded-full bg-white absolute top-1 transition-transform duration-300 shadow-md ${checked ? 'translate-x-[26px]' : 'translate-x-[2px]'}`} />\n </button>\n </div>\n )\n}\n\n// --- SELECTS ---\nexport const SimpleSelect = () => {\n const [open, setOpen] = React.useState(false)\n const [value, setValue] = React.useState(\"Apple\")\n const options = [\"Apple\", \"Banana\", \"Orange\", \"Grape\"]\n \n return (\n <div className=\"relative w-full max-w-xs\">\n <button onClick={() => setOpen(!open)} className=\"w-full px-3 py-2 border border-border/50 rounded-lg flex justify-between items-center text-sm bg-card/50 backdrop-blur-sm hover:border-primary transition-colors\">\n <span className=\"font-medium\">{value}</span>\n <ChevronDown className={`w-4 h-4 opacity-50 transition-transform duration-300 ${open ? 'rotate-180' : ''}`} />\n </button>\n <AnimatePresence>\n {open && (\n <motion.div\n initial={{ opacity: 0, y: -10 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -10 }}\n transition={{ duration: 0.2 }}\n className=\"absolute top-full left-0 w-full mt-1 border border-border/50 rounded-lg bg-card backdrop-blur-md shadow-lg z-50 py-1\"\n >\n {options.map(opt => (\n <div \n key={opt} \n onClick={() => { setValue(opt); setOpen(false); }}\n className={`px-3 py-2 text-sm hover:bg-muted cursor-pointer flex justify-between items-center ${value === opt ? 'text-primary font-medium' : 'text-foreground'}`}\n >\n {opt} {value === opt && <Check className=\"w-4 h-4\" />}\n </div>\n ))}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n )\n}\n\n// --- TOOLTIPS ---\ninterface SimpleTooltipProps {\n content: React.ReactNode\n position?: \"top\" | \"bottom\" | \"left\" | \"right\"\n children?: React.ReactNode\n}\n\nexport const SimpleTooltip = ({ content, position = \"top\", children }: SimpleTooltipProps) => {\n const positionClasses = {\n top: \"bottom-full left-1/2 -translate-x-1/2 mb-2 origin-bottom\",\n bottom: \"top-full left-1/2 -translate-x-1/2 mt-2 origin-top\",\n left: \"right-full top-1/2 -translate-y-1/2 mr-2 origin-right\",\n right: \"left-full top-1/2 -translate-y-1/2 ml-2 origin-left\",\n }\n\n const arrowClasses = {\n top: \"top-full left-1/2 -translate-x-1/2 border-t-foreground\",\n bottom: \"bottom-full left-1/2 -translate-x-1/2 border-b-foreground\",\n left: \"left-full top-1/2 -translate-y-1/2 border-l-foreground\",\n right: \"right-full top-1/2 -translate-y-1/2 border-r-foreground\",\n }\n\n return (\n <div className=\"group relative inline-block\">\n {children ? (\n children\n ) : (\n <button className=\"p-3 border border-border/50 rounded-full hover:bg-muted/50 transition-colors bg-card/50 backdrop-blur-sm\">\n <Info className=\"w-5 h-5 text-muted-foreground group-hover:text-primary transition-colors\" />\n </button>\n )}\n <div className={`absolute z-50 w-max px-3 py-1.5 bg-foreground text-background text-xs font-medium rounded-lg opacity-0 scale-95 group-hover:opacity-100 group-hover:scale-100 transition-all duration-200 pointer-events-none shadow-lg ${positionClasses[position]}`}>\n {content}\n <div className={`absolute border-4 border-transparent ${arrowClasses[position]}`} />\n </div>\n </div>\n )\n}\n\ninterface RichTooltipProps {\n content: React.ReactNode\n children?: React.ReactNode\n}\n\nexport const RichTooltip = ({ content, children }: RichTooltipProps) => {\n return (\n <div className=\"group relative inline-block\">\n {children ? (\n children\n ) : (\n <button className=\"p-3 border border-border/50 rounded-full hover:bg-muted/50 transition-colors bg-card/50 backdrop-blur-sm\">\n <HelpCircle className=\"w-5 h-5 text-muted-foreground group-hover:text-primary transition-colors\" />\n </button>\n )}\n <div className=\"absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-3 w-64 p-4 bg-card border border-border/50 rounded-xl opacity-0 scale-95 group-hover:opacity-100 group-hover:scale-100 transition-all duration-200 pointer-events-none origin-bottom shadow-xl backdrop-blur-md\">\n {content}\n <div className=\"absolute top-full left-1/2 -translate-x-1/2 border-4 border-transparent border-t-card\" />\n <div className=\"absolute top-full left-1/2 -translate-x-1/2 border-4 border-transparent border-t-border/50 -z-10\" />\n </div>\n </div>\n )\n}\n","\"use client\";\n\nimport React from 'react';\nimport { motion } from 'framer-motion';\nimport { cn } from '../utils/cn';\nimport { LucideIcon } from 'lucide-react';\n\ninterface SpecialPremiumCardProps {\n title: string;\n description: string;\n icon?: LucideIcon;\n gradient?: string;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport const SpecialPremiumCard = ({\n title,\n description,\n icon: Icon,\n gradient = \"from-pink-500 via-red-500 to-yellow-500\",\n className,\n children\n}: SpecialPremiumCardProps) => {\n return (\n <motion.div\n whileHover={{ scale: 1.02 }}\n whileTap={{ scale: 0.98 }}\n className={cn(\n \"relative p-1 rounded-2xl overflow-hidden group transition-all duration-300\",\n className\n )}\n >\n {/* Background Gradient */}\n <div className={cn(\n \"absolute inset-0 bg-gradient-to-br opacity-50 group-hover:opacity-100 transition-opacity duration-300\",\n gradient\n )} />\n\n {/* Card Content */}\n <div className=\"relative bg-black/80 backdrop-blur-xl p-6 rounded-2xl h-full flex flex-col justify-between border border-white/10 group-hover:border-white/20 transition-colors duration-300\">\n <div>\n {Icon && (\n <div className=\"p-3 bg-white/5 w-fit rounded-xl mb-4 group-hover:scale-110 transition-transform duration-300\">\n <Icon className=\"w-6 h-6 text-white\" />\n </div>\n )}\n <h3 className=\"text-xl font-bold text-white mb-2\">{title}</h3>\n <p className=\"text-gray-400 text-sm group-hover:text-gray-300 transition-colors duration-300\">{description}</p>\n </div>\n \n {children && (\n <div className=\"mt-4\">\n {children}\n </div>\n )}\n\n {/* Shimmer Effect */}\n <div className=\"absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 bg-gradient-to-r from-transparent via-white/10 to-transparent pointer-events-none\" />\n </div>\n </motion.div>\n );\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, useMotionValue, useSpring, useTransform } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. Marquee — Infinite scrolling marquee\n// ============================================\nexport interface MarqueeProps {\n children: React.ReactNode\n speed?: number\n direction?: \"left\" | \"right\"\n pauseOnHover?: boolean\n className?: string\n}\n\nexport function Marquee({\n children,\n speed = 30,\n direction = \"left\",\n pauseOnHover = true,\n className,\n}: MarqueeProps) {\n return (\n <div\n className={cn(\n \"group flex overflow-hidden [--duration:30s] [--gap:1rem]\",\n className\n )}\n style={{ \"--duration\": `${speed}s` } as React.CSSProperties}\n >\n {Array.from({ length: 2 }).map((_, i) => (\n <div\n key={i}\n className={cn(\n \"flex shrink-0 justify-around gap-[var(--gap)]\",\n direction === \"left\" ? \"animate-marquee-left\" : \"animate-marquee-right\",\n pauseOnHover && \"group-hover:[animation-play-state:paused]\"\n )}\n style={{\n animationDuration: `${speed}s`,\n }}\n >\n {children}\n </div>\n ))}\n </div>\n )\n}\n\n// ============================================\n// 2. NumberTicker — Animated counter\n// ============================================\nexport interface NumberTickerProps {\n value: number\n direction?: \"up\" | \"down\"\n delay?: number\n className?: string\n decimalPlaces?: number\n}\n\nexport function NumberTicker({\n value,\n direction = \"up\",\n delay = 0,\n className,\n decimalPlaces = 0,\n}: NumberTickerProps) {\n const ref = React.useRef<HTMLSpanElement>(null)\n const motionValue = useMotionValue(direction === \"down\" ? value : 0)\n const springValue = useSpring(motionValue, {\n damping: 60,\n stiffness: 100,\n })\n\n React.useEffect(() => {\n const timer = setTimeout(() => {\n motionValue.set(direction === \"down\" ? 0 : value)\n }, delay * 1000)\n return () => clearTimeout(timer)\n }, [motionValue, delay, value, direction])\n\n React.useEffect(() => {\n return springValue.on(\"change\", (latest) => {\n if (ref.current) {\n ref.current.textContent = Intl.NumberFormat(\"en-US\", {\n minimumFractionDigits: decimalPlaces,\n maximumFractionDigits: decimalPlaces,\n }).format(Number(latest.toFixed(decimalPlaces)))\n }\n })\n }, [springValue, decimalPlaces])\n\n return (\n <span\n className={cn(\n \"inline-block tabular-nums tracking-wider\",\n className\n )}\n ref={ref}\n />\n )\n}\n\n// ============================================\n// 3. TypingAnimation — Typewriter effect\n// ============================================\nexport interface TypingAnimationProps {\n text: string\n duration?: number\n className?: string\n cursor?: boolean\n}\n\nexport function TypingAnimation({\n text,\n duration = 50,\n className,\n cursor = true,\n}: TypingAnimationProps) {\n const [displayedText, setDisplayedText] = React.useState(\"\")\n const [i, setI] = React.useState(0)\n\n React.useEffect(() => {\n if (i < text.length) {\n const timer = setTimeout(() => {\n setDisplayedText(text.substring(0, i + 1))\n setI(i + 1)\n }, duration)\n return () => clearTimeout(timer)\n }\n }, [i, text, duration])\n\n return (\n <span className={cn(\"font-display text-center tracking-[-0.02em] drop-shadow-sm\", className)}>\n {displayedText}\n {cursor && (\n <motion.span\n animate={{ opacity: [1, 0] }}\n transition={{ duration: 0.7, repeat: Infinity, repeatType: \"reverse\" }}\n className=\"inline-block w-[2px] h-[1em] bg-current ml-0.5 align-text-bottom\"\n />\n )}\n </span>\n )\n}\n\n// ============================================\n// 4. SpotlightCard — Card with cursor-following spotlight\n// ============================================\nexport interface SpotlightCardProps {\n children: React.ReactNode\n className?: string\n spotlightColor?: string\n}\n\nexport function SpotlightCard({\n children,\n className,\n spotlightColor = \"rgba(120, 119, 198, 0.15)\",\n}: SpotlightCardProps) {\n const divRef = React.useRef<HTMLDivElement>(null)\n const [position, setPosition] = React.useState({ x: 0, y: 0 })\n const [opacity, setOpacity] = React.useState(0)\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!divRef.current) return\n const rect = divRef.current.getBoundingClientRect()\n setPosition({ x: e.clientX - rect.left, y: e.clientY - rect.top })\n }\n\n return (\n <div\n ref={divRef}\n onMouseMove={handleMouseMove}\n onMouseEnter={() => setOpacity(1)}\n onMouseLeave={() => setOpacity(0)}\n className={cn(\n \"relative overflow-hidden rounded-xl border border-border bg-card p-6 transition-colors\",\n className\n )}\n >\n <div\n className=\"pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300\"\n style={{\n opacity,\n background: `radial-gradient(600px circle at ${position.x}px ${position.y}px, ${spotlightColor}, transparent 40%)`,\n }}\n />\n <div className=\"relative z-10\">{children}</div>\n </div>\n )\n}\n\n// ============================================\n// 5. AnimatedGradientBorder — Animated gradient border\n// ============================================\nexport interface AnimatedGradientBorderProps {\n children: React.ReactNode\n className?: string\n containerClassName?: string\n gradientClassName?: string\n duration?: number\n}\n\nexport function AnimatedGradientBorder({\n children,\n className,\n containerClassName,\n gradientClassName,\n duration = 3,\n}: AnimatedGradientBorderProps) {\n return (\n <div className={cn(\"relative rounded-xl p-[1px]\", containerClassName)}>\n <motion.div\n className={cn(\n \"absolute inset-0 rounded-xl\",\n gradientClassName\n )}\n style={{\n background: \"linear-gradient(var(--angle, 0deg), #ff0080, #7928ca, #ff0080)\",\n }}\n animate={{\n \"--angle\": [\"0deg\", \"360deg\"],\n } as any}\n transition={{\n duration,\n repeat: Infinity,\n ease: \"linear\",\n }}\n />\n <div className={cn(\"relative rounded-xl bg-background\", className)}>\n {children}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 6. Dock — macOS-style dock with magnify effect\n// ============================================\nexport interface DockProps {\n items: {\n icon: React.ReactNode\n label: string\n onClick?: () => void\n }[]\n className?: string\n magnification?: number\n distance?: number\n}\n\nexport function Dock({\n items,\n className,\n magnification = 60,\n distance = 140,\n}: DockProps) {\n const mouseX = useMotionValue(Infinity)\n\n return (\n <motion.div\n onMouseMove={(e) => mouseX.set(e.pageX)}\n onMouseLeave={() => mouseX.set(Infinity)}\n className={cn(\n \"mx-auto flex h-14 items-end gap-3 rounded-2xl border border-border bg-background/80 px-4 pb-2 backdrop-blur-md\",\n className\n )}\n >\n {items.map((item, i) => (\n <DockIcon key={i} mouseX={mouseX} magnification={magnification} distance={distance} {...item} />\n ))}\n </motion.div>\n )\n}\n\nfunction DockIcon({\n mouseX,\n magnification,\n distance,\n icon,\n label,\n onClick,\n}: {\n mouseX: any\n magnification: number\n distance: number\n icon: React.ReactNode\n label: string\n onClick?: () => void\n}) {\n const ref = React.useRef<HTMLDivElement>(null)\n\n const distanceVal = useTransform(mouseX, (val: number) => {\n const bounds = ref.current?.getBoundingClientRect() ?? { x: 0, width: 0 }\n return val - bounds.x - bounds.width / 2\n })\n\n const widthSync = useTransform(\n distanceVal,\n [-distance, 0, distance],\n [40, magnification, 40]\n )\n\n const width = useSpring(widthSync, {\n mass: 0.1,\n stiffness: 150,\n damping: 12,\n })\n\n return (\n <motion.div\n ref={ref}\n style={{ width }}\n className=\"group relative flex aspect-square cursor-pointer items-center justify-center rounded-full bg-muted/80 hover:bg-accent transition-colors\"\n onClick={onClick}\n title={label}\n >\n <div className=\"flex items-center justify-center text-foreground\">\n {icon}\n </div>\n <span className=\"absolute -top-8 left-1/2 -translate-x-1/2 rounded-md bg-popover px-2 py-1 text-xs text-popover-foreground border border-border opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap shadow-lg\">\n {label}\n </span>\n </motion.div>\n )\n}\n\n// ============================================\n// 7. AnimatedBeam — SVG beam connecting elements\n// ============================================\nexport interface AnimatedBeamProps {\n className?: string\n children: React.ReactNode\n}\n\nexport function AnimatedBeam({ className, children }: AnimatedBeamProps) {\n return (\n <div className={cn(\"relative\", className)}>\n {children}\n </div>\n )\n}\n\n// ============================================\n// 8. ShinyText — Text with a shimmering highlight\n// ============================================\nexport interface ShinyTextProps {\n children: React.ReactNode\n className?: string\n shimmerWidth?: number\n}\n\nexport function ShinyText({\n children,\n className,\n shimmerWidth = 100,\n}: ShinyTextProps) {\n return (\n <span\n className={cn(\n \"inline-block bg-clip-text text-transparent\",\n \"bg-[length:250%_100%] animate-shimmer-text\",\n className\n )}\n style={{\n backgroundImage: `linear-gradient(110deg, currentColor 35%, rgba(255,255,255,0.8) 50%, currentColor 65%)`,\n WebkitBackgroundClip: \"text\",\n backgroundClip: \"text\",\n color: \"transparent\",\n backgroundSize: `${shimmerWidth * 3}% 100%`,\n }}\n >\n {children}\n </span>\n )\n}\n\n// ============================================\n// 9. RetroGrid — Retro perspective grid background\n// ============================================\nexport interface RetroGridProps {\n className?: string\n angle?: number\n}\n\nexport function RetroGrid({ className, angle = 65 }: RetroGridProps) {\n return (\n <div\n className={cn(\n \"pointer-events-none absolute inset-0 overflow-hidden [perspective:200px]\",\n className\n )}\n style={{ \"--grid-angle\": `${angle}deg` } as React.CSSProperties}\n >\n <div className=\"absolute inset-0 [transform:rotateX(var(--grid-angle))]\">\n <div\n className=\"animate-grid\"\n style={{\n backgroundRepeat: \"repeat\",\n backgroundSize: \"60px 60px\",\n height: \"300vh\",\n inset: \"-50% 0px\",\n marginLeft: \"-50%\",\n transformOrigin: \"100% 0 0\",\n width: \"600vw\",\n backgroundImage: `linear-gradient(to right, rgba(0,0,0,0.1) 1px, transparent 0),\n linear-gradient(to bottom, rgba(0,0,0,0.1) 1px, transparent 0)`,\n }}\n />\n </div>\n <div className=\"absolute inset-0 bg-gradient-to-t from-background to-transparent to-90%\" />\n </div>\n )\n}\n\n// ============================================\n// 10. Meteors — Falling meteors animation\n// ============================================\nexport interface MeteorsProps {\n number?: number\n className?: string\n}\n\nexport function Meteors({ number = 20, className }: MeteorsProps) {\n const meteors = React.useMemo(() => {\n return [...Array(number)].map((_, idx) => ({\n id: idx,\n size: Math.floor(Math.random() * 2) + 1,\n left: `${Math.floor(Math.random() * 100)}%`,\n animationDelay: `${(Math.random() * 2).toFixed(1)}s`,\n animationDuration: `${Math.floor(Math.random() * 8 + 5)}s`,\n }))\n }, [number])\n\n return (\n <div className={cn(\"absolute inset-0 overflow-hidden pointer-events-none\", className)}>\n {meteors.map((meteor) => (\n <span\n key={meteor.id}\n className=\"absolute top-0 animate-meteor rounded-full bg-foreground/20 shadow-[0_0_0_1px_#ffffff10]\"\n style={{\n left: meteor.left,\n width: `${meteor.size}px`,\n height: `${meteor.size * 20}px`,\n animationDelay: meteor.animationDelay,\n animationDuration: meteor.animationDuration,\n }}\n >\n <div className=\"absolute top-1/2 -translate-y-1/2 w-[1px] h-full bg-gradient-to-b from-foreground/30 to-transparent\" />\n </span>\n ))}\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, useMotionValue, useSpring, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. MorphingText — Text morphing between values\n// ============================================\nexport interface MorphingTextProps {\n texts: string[]\n className?: string\n interval?: number\n}\n\nexport function MorphingText({\n texts,\n className,\n interval = 3000,\n}: MorphingTextProps) {\n const [currentIndex, setCurrentIndex] = React.useState(0)\n\n React.useEffect(() => {\n const timer = setInterval(() => {\n setCurrentIndex((prev) => (prev + 1) % texts.length)\n }, interval)\n return () => clearInterval(timer)\n }, [texts.length, interval])\n\n return (\n <div className={cn(\"relative overflow-hidden\", className)}>\n <AnimatePresence mode=\"wait\">\n <motion.span\n key={currentIndex}\n initial={{ y: 20, opacity: 0, filter: \"blur(8px)\" }}\n animate={{ y: 0, opacity: 1, filter: \"blur(0px)\" }}\n exit={{ y: -20, opacity: 0, filter: \"blur(8px)\" }}\n transition={{ duration: 0.4, ease: \"easeInOut\" }}\n className=\"block\"\n >\n {texts[currentIndex]}\n </motion.span>\n </AnimatePresence>\n </div>\n )\n}\n\n// ============================================\n// 2. AnimatedList — Animated notification list\n// ============================================\nexport interface AnimatedListProps {\n children: React.ReactNode\n className?: string\n delay?: number\n}\n\nexport function AnimatedList({\n children,\n className,\n delay = 500,\n}: AnimatedListProps) {\n const [items, setItems] = React.useState<React.ReactNode[]>([])\n const childArray = React.Children.toArray(children)\n\n React.useEffect(() => {\n let i = 0\n const timer = setInterval(() => {\n if (i < childArray.length) {\n setItems((prev) => [...prev, childArray[i]])\n i++\n } else {\n clearInterval(timer)\n }\n }, delay)\n return () => clearInterval(timer)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div className={cn(\"flex flex-col gap-2\", className)}>\n <AnimatePresence>\n {items.map((item, index) => (\n <motion.div\n key={index}\n initial={{ opacity: 0, y: 20, scale: 0.95 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, y: -20, scale: 0.95 }}\n transition={{ duration: 0.3, ease: \"easeOut\" }}\n >\n {item}\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n )\n}\n\n// ============================================\n// 3. BlurFade — Blur in fade animation wrapper\n// ============================================\nexport interface BlurFadeProps {\n children: React.ReactNode\n className?: string\n delay?: number\n yOffset?: number\n duration?: number\n inView?: boolean\n}\n\nexport function BlurFade({\n children,\n className,\n delay = 0,\n yOffset = 6,\n duration = 0.4,\n inView = true,\n}: BlurFadeProps) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [isInView, setIsInView] = React.useState(!inView)\n\n React.useEffect(() => {\n if (!inView) return\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) {\n setIsInView(true)\n }\n },\n { threshold: 0.1 }\n )\n\n if (ref.current) observer.observe(ref.current)\n return () => observer.disconnect()\n }, [inView])\n\n return (\n <motion.div\n ref={ref}\n initial={{ y: yOffset, opacity: 0, filter: \"blur(4px)\" }}\n animate={isInView ? { y: 0, opacity: 1, filter: \"blur(0px)\" } : {}}\n transition={{ delay, duration, ease: \"easeOut\" }}\n className={className}\n >\n {children}\n </motion.div>\n )\n}\n\n// ============================================\n// 4. InteractiveHoverButton — Button with expanding hover\n// ============================================\nexport interface InteractiveHoverButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n text?: string\n className?: string\n}\n\nexport function InteractiveHoverButton({\n text = \"Button\",\n className,\n ...props\n}: InteractiveHoverButtonProps) {\n return (\n <button\n className={cn(\n \"group relative w-32 cursor-pointer overflow-hidden rounded-full border border-border bg-background p-2 text-center font-semibold transition-colors duration-300\",\n className\n )}\n {...props}\n >\n <span className=\"inline-block translate-x-1 transition-all duration-300 group-hover:translate-x-12 group-hover:opacity-0\">\n {text}\n </span>\n <div className=\"absolute top-0 z-10 flex h-full w-full translate-x-12 items-center justify-center gap-2 text-primary-foreground opacity-0 transition-all duration-300 group-hover:-translate-x-1 group-hover:opacity-100\">\n <span>{text}</span>\n </div>\n <div className=\"absolute left-[20%] top-[40%] h-2 w-2 scale-[1] rounded-lg bg-primary transition-all duration-300 group-hover:left-[0%] group-hover:top-[0%] group-hover:h-full group-hover:w-full group-hover:scale-[1.8] group-hover:rounded-none\" />\n </button>\n )\n}\n\n// ============================================\n// 5. PulsatingButton — Button with pulsating ring\n// ============================================\nexport interface PulsatingButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n pulseColor?: string\n duration?: string\n className?: string\n}\n\nexport function PulsatingButton({\n className,\n children,\n pulseColor = \"hsl(var(--primary))\",\n duration = \"1.5s\",\n ...props\n}: PulsatingButtonProps) {\n return (\n <button\n className={cn(\n \"relative text-center cursor-pointer flex justify-center items-center rounded-lg text-white bg-primary px-4 py-2\",\n className\n )}\n style={\n {\n \"--pulse-color\": pulseColor,\n \"--duration\": duration,\n } as React.CSSProperties\n }\n {...props}\n >\n <div className=\"relative z-10\">{children}</div>\n <div className=\"absolute top-1/2 left-1/2 size-full rounded-lg bg-inherit animate-pulse-ring -translate-x-1/2 -translate-y-1/2\" />\n </button>\n )\n}\n\n// ============================================\n// 6. RainbowButton — Button with rainbow gradient border\n// ============================================\nexport interface RainbowButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string\n}\n\nexport function RainbowButton({\n children,\n className,\n ...props\n}: RainbowButtonProps) {\n return (\n <button\n className={cn(\n \"group relative inline-flex h-11 animate-rainbow cursor-pointer items-center justify-center rounded-xl border-0 bg-[length:200%] px-8 py-2 font-medium text-primary-foreground transition-colors [background-clip:padding-box,border-box,border-box] [background-origin:border-box] [border:calc(0.08*1rem)_solid_transparent]\",\n \"bg-[linear-gradient(#121213,#121213),linear-gradient(#121213_50%,rgba(18,18,19,0.6)_80%,rgba(18,18,19,0)),linear-gradient(90deg,hsl(0,100%,63%),hsl(30,100%,63%),hsl(60,100%,63%),hsl(120,100%,63%),hsl(180,100%,63%),hsl(240,100%,63%),hsl(300,100%,63%),hsl(360,100%,63%))]\",\n \"dark:bg-[linear-gradient(#fff,#fff),linear-gradient(#fff_50%,rgba(255,255,255,0.6)_80%,rgba(0,0,0,0)),linear-gradient(90deg,hsl(0,100%,63%),hsl(30,100%,63%),hsl(60,100%,63%),hsl(120,100%,63%),hsl(180,100%,63%),hsl(240,100%,63%),hsl(300,100%,63%),hsl(360,100%,63%))]\",\n \"dark:text-primary\",\n className\n )}\n {...props}\n >\n {children}\n </button>\n )\n}\n\n// ============================================\n// 7. CoolMode — Particles burst on click\n// ============================================\nexport interface CoolModeProps {\n children: React.ReactElement\n className?: string\n}\n\nexport function CoolMode({ children, className }: CoolModeProps) {\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n const handleClick = (e: React.MouseEvent) => {\n const rect = containerRef.current?.getBoundingClientRect()\n if (!rect) return\n\n const x = e.clientX - rect.left\n const y = e.clientY - rect.top\n const count = 15\n\n for (let i = 0; i < count; i++) {\n const particle = document.createElement(\"div\")\n const size = Math.random() * 8 + 4\n const angle = (Math.PI * 2 * i) / count\n const velocity = Math.random() * 80 + 40\n\n particle.style.cssText = `\n position: absolute;\n left: ${x}px;\n top: ${y}px;\n width: ${size}px;\n height: ${size}px;\n border-radius: 50%;\n background: hsl(${Math.random() * 360}, 70%, 60%);\n pointer-events: none;\n z-index: 9999;\n transform: translate(-50%, -50%);\n transition: all ${0.5 + Math.random() * 0.5}s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n `\n\n containerRef.current?.appendChild(particle)\n\n requestAnimationFrame(() => {\n particle.style.transform = `translate(${Math.cos(angle) * velocity}px, ${Math.sin(angle) * velocity}px)`\n particle.style.opacity = \"0\"\n })\n\n setTimeout(() => particle.remove(), 1000)\n }\n }\n\n return (\n <div ref={containerRef} className={cn(\"relative inline-block\", className)} onClick={handleClick}>\n {children}\n </div>\n )\n}\n\n// ============================================\n// 8. WordPullUp — Words pulling up animation\n// ============================================\nexport interface WordPullUpProps {\n words: string\n className?: string\n delayMultiple?: number\n}\n\nexport function WordPullUp({\n words,\n className,\n delayMultiple = 0.08,\n}: WordPullUpProps) {\n const wordArray = words.split(\" \")\n\n return (\n <div className={cn(\"flex flex-wrap justify-center gap-x-2\", className)}>\n {wordArray.map((word, i) => (\n <motion.span\n key={i}\n initial={{ opacity: 0, y: 20, filter: \"blur(4px)\" }}\n animate={{ opacity: 1, y: 0, filter: \"blur(0px)\" }}\n transition={{\n delay: i * delayMultiple,\n duration: 0.3,\n ease: [0.2, 0.65, 0.3, 0.9],\n }}\n className=\"inline-block\"\n >\n {word}\n </motion.span>\n ))}\n </div>\n )\n}\n\n// ============================================\n// 9. BoxReveal — Box reveal animation\n// ============================================\nexport interface BoxRevealProps {\n children: React.ReactNode\n className?: string\n boxColor?: string\n duration?: number\n delay?: number\n}\n\nexport function BoxReveal({\n children,\n className,\n boxColor = \"hsl(var(--primary))\",\n duration = 0.5,\n delay = 0,\n}: BoxRevealProps) {\n return (\n <div className={cn(\"relative inline-block overflow-hidden\", className)}>\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ delay: delay + duration, duration: 0.01 }}\n >\n {children}\n </motion.div>\n <motion.div\n className=\"absolute inset-0\"\n style={{ backgroundColor: boxColor, transformOrigin: \"left\" }}\n initial={{ scaleX: 0 }}\n animate={{ scaleX: [0, 1, 1, 0] }}\n transition={{\n duration: duration * 2,\n delay,\n ease: \"easeInOut\",\n times: [0, 0.5, 0.5, 1],\n }}\n />\n </div>\n )\n}\n\n// ============================================\n// 10. TextShimmer — Text with color shimmer\n// ============================================\nexport interface TextShimmerProps {\n children: React.ReactNode\n className?: string\n duration?: number\n spread?: number\n}\n\nexport function TextShimmer({\n children,\n className,\n duration = 2,\n spread = 2,\n}: TextShimmerProps) {\n return (\n <span\n className={cn(\n \"inline-flex animate-text-shimmer bg-clip-text text-transparent\",\n className\n )}\n style={{\n backgroundImage: `linear-gradient(\n 110deg,\n hsl(var(--foreground)) 35%,\n hsl(var(--primary)) ${50 - spread}%,\n hsl(var(--primary)) ${50 + spread}%,\n hsl(var(--foreground)) 65%\n )`,\n backgroundSize: \"250% 100%\",\n animationDuration: `${duration}s`,\n WebkitBackgroundClip: \"text\",\n backgroundClip: \"text\",\n }}\n >\n {children}\n </span>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. GlowButton V2 — Improved neon glow\n// ============================================\nexport function NeonGlowButton({ children, className, color = \"#8b5cf6\", ...props }: React.ButtonHTMLAttributes<HTMLButtonElement> & { color?: string }) {\n return (\n <button\n className={cn(\n \"relative px-6 py-2.5 rounded-lg font-semibold text-white overflow-hidden transition-all duration-300 hover:scale-105 active:scale-95\",\n className\n )}\n style={{ backgroundColor: color, boxShadow: `0 0 20px ${color}60, 0 0 40px ${color}30` }}\n {...props}\n >\n <span className=\"relative z-10\">{children}</span>\n <div className=\"absolute inset-0 bg-gradient-to-t from-black/20 to-transparent\" />\n </button>\n )\n}\n\n// ============================================\n// 2. OutlineGradientButton\n// ============================================\nexport function OutlineGradientButton({ children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) {\n return (\n <button\n className={cn(\n \"relative inline-flex items-center justify-center px-6 py-2.5 font-semibold text-foreground rounded-lg group overflow-hidden transition-all duration-300 hover:scale-105 active:scale-95\",\n className\n )}\n {...props}\n >\n <span className=\"absolute inset-0 rounded-lg bg-gradient-to-r from-violet-600 via-pink-600 to-orange-500 p-[2px]\">\n <span className=\"flex h-full w-full items-center justify-center rounded-[6px] bg-background transition-colors group-hover:bg-background/80\" />\n </span>\n <span className=\"relative bg-gradient-to-r from-violet-400 via-pink-400 to-orange-400 bg-clip-text text-transparent\">{children}</span>\n </button>\n )\n}\n\n// ============================================\n// 3. MorphButton — Shape morphing button\n// ============================================\nexport function MorphButton({ children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) {\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props\n return (\n <motion.button\n className={cn(\n \"relative px-6 py-2.5 rounded-lg font-semibold bg-primary text-primary-foreground border border-primary/20\",\n className\n )}\n whileHover={{\n borderRadius: \"24px\",\n scale: 1.05,\n }}\n whileTap={{ scale: 0.95 }}\n transition={{ type: \"spring\", stiffness: 400, damping: 17 }}\n {...motionSafeProps}\n >\n {children}\n </motion.button>\n )\n}\n\n// ============================================\n// 4. SplitButton\n// ============================================\nexport function SplitButton({ primary, secondary, onPrimary, onSecondary, className }: {\n primary: string\n secondary: string\n onPrimary?: () => void\n onSecondary?: () => void\n className?: string\n}) {\n return (\n <div className={cn(\"inline-flex rounded-lg overflow-hidden shadow-sm\", className)}>\n <button onClick={onPrimary} className=\"px-4 py-2 bg-primary text-primary-foreground font-medium hover:bg-primary/90 transition-colors\">\n {primary}\n </button>\n <button onClick={onSecondary} className=\"px-3 py-2 bg-primary/80 text-primary-foreground border-l border-primary-foreground/20 hover:bg-primary/70 transition-colors\">\n {secondary}\n </button>\n </div>\n )\n}\n\n// ============================================\n// 5. CopyTextButton — Copy text to clipboard with visual feedback\n// ============================================\nexport function CopyTextButton({ text, className }: { text: string; className?: string }) {\n const [copied, setCopied] = React.useState(false)\n return (\n <button\n className={cn(\"inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-secondary text-secondary-foreground font-mono text-sm hover:bg-secondary/80 transition-all active:scale-95\", className)}\n onClick={() => { navigator.clipboard.writeText(text); setCopied(true); setTimeout(() => setCopied(false), 2000) }}\n >\n <span className=\"truncate max-w-[200px]\">{text}</span>\n <AnimatePresence mode=\"wait\">\n {copied ? (\n <motion.svg key=\"check\" initial={{ scale: 0 }} animate={{ scale: 1 }} exit={{ scale: 0 }} className=\"w-4 h-4 text-green-500\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></motion.svg>\n ) : (\n <motion.svg key=\"copy\" initial={{ scale: 0 }} animate={{ scale: 1 }} exit={{ scale: 0 }} className=\"w-4 h-4 opacity-50\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" /></motion.svg>\n )}\n </AnimatePresence>\n </button>\n )\n}\n\n// ============================================\n// 6. ExpandButton — Expands on hover to show icon\n// ============================================\nexport function ExpandButton({ children, icon, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement> & { icon: React.ReactNode }) {\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props\n return (\n <motion.button\n className={cn(\"inline-flex items-center gap-0 px-4 py-2.5 rounded-lg bg-primary text-primary-foreground font-semibold overflow-hidden\", className)}\n whileHover=\"expanded\"\n initial=\"collapsed\"\n {...motionSafeProps}\n >\n <span>{children}</span>\n <motion.span\n variants={{\n collapsed: { width: 0, opacity: 0, marginLeft: 0 },\n expanded: { width: \"auto\", opacity: 1, marginLeft: 8 }\n }}\n transition={{ type: \"spring\", stiffness: 300, damping: 25 }}\n className=\"overflow-hidden\"\n >\n {icon}\n </motion.span>\n </motion.button>\n )\n}\n\n// ============================================\n// 7. StatusButton — Shows loading/success/error states\n// ============================================\nexport function StatusButton({ status = \"idle\", children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement> & { status?: \"idle\" | \"loading\" | \"success\" | \"error\" }) {\n const variants: Record<string, { bg: string; text: string }> = {\n idle: { bg: \"bg-primary\", text: \"text-primary-foreground\" },\n loading: { bg: \"bg-yellow-500 dark:bg-yellow-600\", text: \"text-white\" },\n success: { bg: \"bg-emerald-500 dark:bg-emerald-600\", text: \"text-white\" },\n error: { bg: \"bg-red-500 dark:bg-red-600\", text: \"text-white\" },\n }\n const v = variants[status]\n return (\n <button className={cn(\"relative px-5 py-2.5 rounded-lg font-semibold transition-all duration-300\", v.bg, v.text, status === \"loading\" && \"animate-pulse\", className)} disabled={status === \"loading\"} {...props}>\n <AnimatePresence mode=\"wait\">\n <motion.span key={status} initial={{ opacity: 0, y: 10 }} animate={{ opacity: 1, y: 0 }} exit={{ opacity: 0, y: -10 }} className=\"inline-flex items-center gap-2\">\n {status === \"loading\" && <span className=\"w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin\" />}\n {status === \"success\" && <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></svg>}\n {status === \"error\" && <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M6 18L18 6M6 6l12 12\" /></svg>}\n {status === \"idle\" ? children : status === \"loading\" ? \"Loading...\" : status === \"success\" ? \"Done!\" : \"Failed\"}\n </motion.span>\n </AnimatePresence>\n </button>\n )\n}\n\n// ============================================\n// 8. GlassmorphButton — Frosted glass button\n// ============================================\nexport function GlassmorphButton({ children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) {\n return (\n <button\n className={cn(\n \"px-6 py-2.5 rounded-xl font-semibold text-foreground backdrop-blur-xl bg-white/10 dark:bg-white/5 border border-white/20 dark:border-white/10 shadow-lg hover:bg-white/20 dark:hover:bg-white/10 transition-all duration-300 hover:scale-105 active:scale-95\",\n className\n )}\n {...props}\n >\n {children}\n </button>\n )\n}\n\n// ============================================\n// 9. SegmentedButton — Button group with selection\n// ============================================\nexport function SegmentedButton({ options, value, onChange, className }: {\n options: string[]\n value: string\n onChange: (val: string) => void\n className?: string\n}) {\n return (\n <div className={cn(\"inline-flex rounded-lg bg-muted p-1 gap-0.5\", className)}>\n {options.map((opt) => (\n <button\n key={opt}\n onClick={() => onChange(opt)}\n className={cn(\n \"relative px-4 py-1.5 rounded-md text-sm font-medium transition-all duration-200\",\n value === opt ? \"text-foreground\" : \"text-muted-foreground hover:text-foreground\"\n )}\n >\n {value === opt && (\n <motion.div layoutId=\"segmented-bg\" className=\"absolute inset-0 bg-background rounded-md shadow-sm\" transition={{ type: \"spring\", stiffness: 400, damping: 30 }} />\n )}\n <span className=\"relative z-10\">{opt}</span>\n </button>\n ))}\n </div>\n )\n}\n\n// ============================================\n// 10. TextButton — Minimal text with underline animation\n// ============================================\nexport function TextButton({ children, className, ...props }: React.ButtonHTMLAttributes<HTMLButtonElement>) {\n return (\n <button\n className={cn(\n \"relative font-medium text-foreground group transition-colors\",\n className\n )}\n {...props}\n >\n {children}\n <span className=\"absolute bottom-0 left-0 h-[2px] w-0 bg-primary transition-all duration-300 group-hover:w-full\" />\n </button>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. NeumorphicCard\n// ============================================\nexport function NeumorphicCard({ children, className }: { children: React.ReactNode; className?: string }) {\n return (\n <div className={cn(\n \"rounded-2xl p-6 bg-background shadow-[8px_8px_16px_rgba(0,0,0,0.1),-8px_-8px_16px_rgba(255,255,255,0.7)] dark:shadow-[8px_8px_16px_rgba(0,0,0,0.4),-8px_-8px_16px_rgba(255,255,255,0.05)]\",\n className\n )}>\n {children}\n </div>\n )\n}\n\n// ============================================\n// 2. GradientCard V2\n// ============================================\nexport function GradientMeshCard({ children, className }: { children: React.ReactNode; className?: string }) {\n return (\n <div className={cn(\"relative rounded-2xl overflow-hidden\", className)}>\n <div className=\"absolute inset-0 bg-gradient-to-br from-violet-500/20 via-transparent to-pink-500/20 dark:from-violet-500/10 dark:to-pink-500/10\" />\n <div className=\"absolute top-0 right-0 w-32 h-32 bg-orange-400/20 dark:bg-orange-400/10 rounded-full blur-3xl\" />\n <div className=\"absolute bottom-0 left-0 w-32 h-32 bg-blue-400/20 dark:bg-blue-400/10 rounded-full blur-3xl\" />\n <div className=\"relative p-6 border border-white/10 dark:border-white/5 rounded-2xl backdrop-blur-sm\">\n {children}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 3. TiltCard — 3D tilt on hover\n// ============================================\nexport function TiltCard({ children, className }: { children: React.ReactNode; className?: string }) {\n const ref = React.useRef<HTMLDivElement>(null)\n const [transform, setTransform] = React.useState(\"\")\n\n const handleMouseMove = (e: React.MouseEvent) => {\n if (!ref.current) return\n const rect = ref.current.getBoundingClientRect()\n const x = (e.clientX - rect.left) / rect.width - 0.5\n const y = (e.clientY - rect.top) / rect.height - 0.5\n setTransform(`perspective(600px) rotateX(${y * -10}deg) rotateY(${x * 10}deg) scale3d(1.02,1.02,1.02)`)\n }\n\n return (\n <div\n ref={ref}\n onMouseMove={handleMouseMove}\n onMouseLeave={() => setTransform(\"\")}\n className={cn(\"rounded-2xl border border-border bg-card p-6 transition-transform duration-200 ease-out\", className)}\n style={{ transform }}\n >\n {children}\n </div>\n )\n}\n\n// ============================================\n// 4. FeatureCard — Card with icon, title, desc\n// ============================================\nexport function FeatureCard({ icon, title, description, className }: {\n icon: React.ReactNode\n title: string\n description: string\n className?: string\n}) {\n return (\n <motion.div\n whileHover={{ y: -4 }}\n className={cn(\"rounded-xl border border-border bg-card p-5 transition-shadow hover:shadow-lg dark:hover:shadow-primary/5\", className)}\n >\n <div className=\"mb-3 inline-flex items-center justify-center w-10 h-10 rounded-lg bg-primary/10 text-primary\">\n {icon}\n </div>\n <h4 className=\"font-semibold text-foreground mb-1\">{title}</h4>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">{description}</p>\n </motion.div>\n )\n}\n\n// ============================================\n// 5. PricingCardPro — Full-featured pricing card\n// ============================================\nexport function PricingCardPro({ name, price, period = \"/mo\", features, popular = false, className, ctaText = \"Get Started\" }: {\n name: string\n price: string\n period?: string\n features: string[]\n popular?: boolean\n className?: string\n ctaText?: string\n}) {\n return (\n <div className={cn(\n \"relative rounded-2xl border p-6 flex flex-col\",\n popular ? \"border-primary bg-primary/5 shadow-lg shadow-primary/10\" : \"border-border bg-card\",\n className\n )}>\n {popular && (\n <div className=\"absolute -top-3 left-1/2 -translate-x-1/2 px-3 py-0.5 rounded-full text-xs font-semibold bg-primary text-primary-foreground\">\n Popular\n </div>\n )}\n <h4 className=\"font-semibold text-lg\">{name}</h4>\n <div className=\"mt-3 mb-5\">\n <span className=\"text-4xl font-bold\">{price}</span>\n <span className=\"text-muted-foreground text-sm\">{period}</span>\n </div>\n <ul className=\"space-y-2.5 mb-6 flex-1\">\n {features.map((f, i) => (\n <li key={i} className=\"flex items-center gap-2 text-sm\">\n <svg className=\"w-4 h-4 text-emerald-500 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></svg>\n <span className=\"text-muted-foreground\">{f}</span>\n </li>\n ))}\n </ul>\n <button className={cn(\n \"w-full py-2.5 rounded-lg font-semibold transition-colors\",\n popular ? \"bg-primary text-primary-foreground hover:bg-primary/90\" : \"bg-secondary text-secondary-foreground hover:bg-secondary/80\"\n )}>\n {ctaText}\n </button>\n </div>\n )\n}\n\n// ============================================\n// 6. TestimonialCard\n// ============================================\nexport function TestimonialCardV2({ quote, author, role, avatar, className }: {\n quote: string\n author: string\n role: string\n avatar?: string\n className?: string\n}) {\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-6\", className)}>\n <svg className=\"w-8 h-8 text-primary/20 mb-3\" fill=\"currentColor\" viewBox=\"0 0 32 32\"><path d=\"M10 8c-3.3 0-6 2.7-6 6v10h10V14H8c0-1.1.9-2 2-2V8zm14 0c-3.3 0-6 2.7-6 6v10h10V14h-6c0-1.1.9-2 2-2V8z\"/></svg>\n <p className=\"text-foreground mb-4 leading-relaxed\">{quote}</p>\n <div className=\"flex items-center gap-3\">\n <div className=\"w-10 h-10 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white font-semibold text-sm\">\n {avatar || author.charAt(0)}\n </div>\n <div>\n <p className=\"font-semibold text-sm\">{author}</p>\n <p className=\"text-xs text-muted-foreground\">{role}</p>\n </div>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 7. MetricCard — Stat card with trend\n// ============================================\nexport function MetricCard({ title, value, change, changeType = \"positive\", className }: {\n title: string\n value: string\n change: string\n changeType?: \"positive\" | \"negative\" | \"neutral\"\n className?: string\n}) {\n const colors = {\n positive: \"text-emerald-500 bg-emerald-500/10\",\n negative: \"text-red-500 bg-red-500/10\",\n neutral: \"text-muted-foreground bg-muted\",\n }\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5\", className)}>\n <p className=\"text-sm text-muted-foreground mb-1\">{title}</p>\n <div className=\"flex items-end justify-between\">\n <span className=\"text-2xl font-bold\">{value}</span>\n <span className={cn(\"text-xs font-medium px-2 py-0.5 rounded-full\", colors[changeType])}>{change}</span>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 8. ImageOverlayCard\n// ============================================\nexport function ImageOverlayCard({ title, subtitle, gradient = \"from-black/60 to-transparent\", className }: {\n title: string\n subtitle: string\n gradient?: string\n className?: string\n}) {\n return (\n <div className={cn(\"relative h-64 rounded-2xl overflow-hidden bg-muted group cursor-pointer\", className)}>\n <div className=\"absolute inset-0 bg-gradient-to-r from-violet-600 to-pink-600 opacity-70\" />\n <div className={cn(\"absolute inset-0 bg-gradient-to-t\", gradient)} />\n <div className=\"absolute bottom-0 left-0 p-5\">\n <h4 className=\"text-white font-bold text-lg\">{title}</h4>\n <p className=\"text-white/70 text-sm\">{subtitle}</p>\n </div>\n <div className=\"absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-colors duration-300\" />\n </div>\n )\n}\n\n// ============================================\n// 9. ProfileCardFull\n// ============================================\nexport function ProfileCardFull({ name, role, bio, stats, className }: {\n name: string\n role: string\n bio?: string\n stats?: { label: string; value: string }[]\n className?: string\n}) {\n return (\n <div className={cn(\"rounded-2xl border border-border bg-card overflow-hidden\", className)}>\n <div className=\"h-20 bg-gradient-to-r from-violet-500 to-pink-500\" />\n <div className=\"px-5 pb-5\">\n <div className=\"w-16 h-16 rounded-full border-4 border-card bg-gradient-to-br from-violet-400 to-pink-400 flex items-center justify-center text-white font-bold text-xl -mt-8 mb-3\">\n {name.charAt(0)}\n </div>\n <h4 className=\"font-bold text-lg\">{name}</h4>\n <p className=\"text-sm text-muted-foreground\">{role}</p>\n {bio && <p className=\"text-sm text-muted-foreground mt-2 leading-relaxed\">{bio}</p>}\n {stats && (\n <div className=\"flex gap-4 mt-4 pt-4 border-t border-border\">\n {stats.map((s, i) => (\n <div key={i} className=\"text-center\">\n <p className=\"font-bold\">{s.value}</p>\n <p className=\"text-xs text-muted-foreground\">{s.label}</p>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 10. NotificationCard\n// ============================================\nexport function NotificationCard({ title, message, time, type = \"info\", className }: {\n title: string\n message: string\n time: string\n type?: \"info\" | \"success\" | \"warning\" | \"error\"\n className?: string\n}) {\n const colors = {\n info: \"border-l-blue-500\",\n success: \"border-l-emerald-500\",\n warning: \"border-l-amber-500\",\n error: \"border-l-red-500\",\n }\n return (\n <div className={cn(\"rounded-lg border border-border bg-card p-4 border-l-4\", colors[type], className)}>\n <div className=\"flex justify-between items-start mb-1\">\n <h4 className=\"font-semibold text-sm\">{title}</h4>\n <span className=\"text-xs text-muted-foreground\">{time}</span>\n </div>\n <p className=\"text-sm text-muted-foreground\">{message}</p>\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. GradientInput — Gradient border on focus\n// ============================================\nexport function GradientFocusInput({ className, ...props }: React.InputHTMLAttributes<HTMLInputElement>) {\n const [focused, setFocused] = React.useState(false)\n return (\n <div className={cn(\"relative rounded-lg p-[2px]\", focused ? \"bg-gradient-to-r from-violet-500 via-pink-500 to-orange-500\" : \"bg-border\", className)}>\n <input\n className=\"w-full px-4 py-2.5 rounded-[6px] bg-background text-foreground text-sm outline-none placeholder:text-muted-foreground\"\n onFocus={() => setFocused(true)}\n onBlur={() => setFocused(false)}\n {...props}\n />\n </div>\n )\n}\n\n// ============================================\n// 2. AnimatedLabelInput — Label slides up on focus\n// ============================================\nexport function AnimatedLabelInput({ label, className, ...props }: React.InputHTMLAttributes<HTMLInputElement> & { label: string }) {\n const [focused, setFocused] = React.useState(false)\n const [hasValue, setHasValue] = React.useState(false)\n const active = focused || hasValue\n\n return (\n <div className={cn(\"relative\", className)}>\n <input\n className=\"w-full px-4 pt-5 pb-2 rounded-lg border border-border bg-background text-foreground text-sm outline-none focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all peer\"\n onFocus={() => setFocused(true)}\n onBlur={(e) => { setFocused(false); setHasValue(!!e.target.value) }}\n placeholder=\" \"\n {...props}\n />\n <label className={cn(\n \"absolute left-4 transition-all duration-200 pointer-events-none\",\n active ? \"top-1.5 text-[10px] text-primary font-medium\" : \"top-3.5 text-sm text-muted-foreground\"\n )}>\n {label}\n </label>\n </div>\n )\n}\n\n// ============================================\n// 3. OTPInput — One-time passcode input\n// ============================================\nexport function OTPCodeInput({ length = 6, className, onChange }: { length?: number; className?: string; onChange?: (val: string) => void }) {\n const [values, setValues] = React.useState<string[]>(Array(length).fill(\"\"))\n const refs = React.useRef<(HTMLInputElement | null)[]>([])\n\n const handleChange = (i: number, v: string) => {\n if (!/^\\d*$/.test(v)) return\n const newVals = [...values]\n newVals[i] = v.slice(-1)\n setValues(newVals)\n onChange?.(newVals.join(\"\"))\n if (v && i < length - 1) refs.current[i + 1]?.focus()\n }\n\n const handleKeyDown = (i: number, e: React.KeyboardEvent) => {\n if (e.key === \"Backspace\" && !values[i] && i > 0) refs.current[i - 1]?.focus()\n }\n\n return (\n <div className={cn(\"flex gap-2\", className)}>\n {values.map((v, i) => (\n <input\n key={i}\n ref={(el) => { refs.current[i] = el }}\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={1}\n value={v}\n onChange={(e) => handleChange(i, e.target.value)}\n onKeyDown={(e) => handleKeyDown(i, e)}\n className=\"w-12 h-12 text-center text-lg font-mono rounded-lg border border-border bg-background text-foreground outline-none focus:border-primary focus:ring-2 focus:ring-primary/30 transition-all\"\n />\n ))}\n </div>\n )\n}\n\n// ============================================\n// 4. TagInput — Input with tags\n// ============================================\nexport function TagInput({ placeholder = \"Add tag...\", className }: { placeholder?: string; className?: string }) {\n const [tags, setTags] = React.useState<string[]>([\"React\", \"TypeScript\"])\n const [input, setInput] = React.useState(\"\")\n\n const addTag = () => {\n const trimmed = input.trim()\n if (trimmed && !tags.includes(trimmed)) {\n setTags([...tags, trimmed])\n setInput(\"\")\n }\n }\n\n return (\n <div className={cn(\"flex flex-wrap items-center gap-2 p-2.5 rounded-lg border border-border bg-background min-h-[44px]\", className)}>\n <AnimatePresence>\n {tags.map((tag) => (\n <motion.span\n key={tag}\n initial={{ scale: 0, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0, opacity: 0 }}\n className=\"inline-flex items-center gap-1 px-2.5 py-0.5 rounded-full bg-primary/10 text-primary text-xs font-medium\"\n >\n {tag}\n <button onClick={() => setTags(tags.filter(t => t !== tag))} className=\"hover:text-destructive\">×</button>\n </motion.span>\n ))}\n </AnimatePresence>\n <input\n className=\"flex-1 min-w-[100px] bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n value={input}\n onChange={(e) => setInput(e.target.value)}\n onKeyDown={(e) => { if (e.key === \"Enter\") { e.preventDefault(); addTag() } }}\n placeholder={placeholder}\n />\n </div>\n )\n}\n\n// ============================================\n// 5. SearchCommandInput — Search with keyboard shortcut\n// ============================================\nexport function SearchCommandInput({ className, ...props }: React.InputHTMLAttributes<HTMLInputElement>) {\n return (\n <div className={cn(\"relative\", className)}>\n <svg className=\"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\" /></svg>\n <input\n className=\"w-full pl-10 pr-16 py-2.5 rounded-lg border border-border bg-background text-sm outline-none focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all placeholder:text-muted-foreground\"\n placeholder=\"Search...\"\n {...props}\n />\n <kbd className=\"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none px-2 py-0.5 rounded bg-muted text-[10px] font-mono text-muted-foreground border border-border\">⌘K</kbd>\n </div>\n )\n}\n\n// ============================================\n// 6. CurrencyInput\n// ============================================\nexport function CurrencyInput({ currency = \"$\", className, ...props }: React.InputHTMLAttributes<HTMLInputElement> & { currency?: string }) {\n return (\n <div className={cn(\"relative\", className)}>\n <span className=\"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground font-medium\">{currency}</span>\n <input\n type=\"number\"\n className=\"w-full pl-8 pr-4 py-2.5 rounded-lg border border-border bg-background text-foreground text-sm outline-none focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all placeholder:text-muted-foreground\"\n placeholder=\"0.00\"\n {...props}\n />\n </div>\n )\n}\n\n// ============================================\n// 7. TextareaAutosize — Auto-expanding textarea\n// ============================================\nexport function TextareaAutosize({ className, ...props }: React.TextareaHTMLAttributes<HTMLTextAreaElement>) {\n const ref = React.useRef<HTMLTextAreaElement>(null)\n\n const handleInput = () => {\n if (!ref.current) return\n ref.current.style.height = \"auto\"\n ref.current.style.height = ref.current.scrollHeight + \"px\"\n }\n\n return (\n <textarea\n ref={ref}\n onInput={handleInput}\n className={cn(\n \"w-full px-4 py-3 rounded-lg border border-border bg-background text-foreground text-sm outline-none focus:border-primary focus:ring-1 focus:ring-primary/30 transition-all resize-none min-h-[80px] placeholder:text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\n// ============================================\n// 8. RangeSliderInput\n// ============================================\nexport function RangeSliderInput({ min = 0, max = 100, value: initialValue = 50, label, className }: {\n min?: number; max?: number; value?: number; label?: string; className?: string\n}) {\n const [value, setValue] = React.useState(initialValue)\n const pct = ((value - min) / (max - min)) * 100\n\n return (\n <div className={cn(\"space-y-2\", className)}>\n {label && <div className=\"flex justify-between text-sm\"><span className=\"text-muted-foreground\">{label}</span><span className=\"font-medium\">{value}</span></div>}\n <div className=\"relative h-2 rounded-full bg-secondary\">\n <div className=\"absolute h-full rounded-full bg-primary transition-all\" style={{ width: `${pct}%` }} />\n <input\n type=\"range\" min={min} max={max} value={value}\n onChange={(e) => setValue(Number(e.target.value))}\n className=\"absolute inset-0 w-full h-full opacity-0 cursor-pointer\"\n />\n <div className=\"absolute top-1/2 -translate-y-1/2 w-5 h-5 rounded-full bg-primary border-2 border-primary-foreground shadow-lg transition-all pointer-events-none\" style={{ left: `calc(${pct}% - 10px)` }} />\n </div>\n </div>\n )\n}\n\n// ============================================\n// 9. ColorPickerInput\n// ============================================\nexport function ColorPickerInput({ value: initial = \"#8b5cf6\", label, className, onChange }: {\n value?: string; label?: string; className?: string; onChange?: (color: string) => void\n}) {\n const [color, setColor] = React.useState(initial)\n\n return (\n <div className={cn(\"flex items-center gap-3\", className)}>\n <div className=\"relative\">\n <div className=\"w-10 h-10 rounded-lg border-2 border-border overflow-hidden\" style={{ backgroundColor: color }} />\n <input\n type=\"color\" value={color}\n onChange={(e) => { setColor(e.target.value); onChange?.(e.target.value) }}\n className=\"absolute inset-0 opacity-0 cursor-pointer\"\n />\n </div>\n <div>\n {label && <p className=\"text-sm font-medium\">{label}</p>}\n <p className=\"text-xs text-muted-foreground font-mono\">{color}</p>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 10. ToggleInput — Input with inline toggle\n// ============================================\nexport function ToggleInput({ label, className }: { label: string; className?: string }) {\n const [enabled, setEnabled] = React.useState(false)\n\n return (\n <div className={cn(\"flex items-center justify-between p-3 rounded-lg border border-border bg-background\", className)}>\n <span className=\"text-sm font-medium\">{label}</span>\n <button\n onClick={() => setEnabled(!enabled)}\n className={cn(\"relative w-11 h-6 rounded-full transition-colors\", enabled ? \"bg-primary\" : \"bg-muted\")}\n >\n <motion.div\n className=\"absolute top-0.5 w-5 h-5 rounded-full bg-white shadow-sm\"\n animate={{ left: enabled ? \"22px\" : \"2px\" }}\n transition={{ type: \"spring\", stiffness: 500, damping: 30 }}\n />\n </button>\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\nimport { X } from \"lucide-react\"\n\n// ============================================\n// 1. ScrollArea — Custom scrollbar wrapper\n// ============================================\nexport interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Maximum height before scrolling */\n maxHeight?: string | number\n /** Orientation of the scroll */\n orientation?: \"vertical\" | \"horizontal\" | \"both\"\n}\n\nexport function ScrollArea({\n children,\n className,\n maxHeight = \"300px\",\n orientation = \"vertical\",\n ...props\n}: ScrollAreaProps) {\n return (\n <div\n className={cn(\n \"relative rounded-md\",\n orientation === \"vertical\" && \"overflow-y-auto overflow-x-hidden\",\n orientation === \"horizontal\" && \"overflow-x-auto overflow-y-hidden\",\n orientation === \"both\" && \"overflow-auto\",\n // Custom scrollbar styles\n \"[&::-webkit-scrollbar]:w-1.5\",\n \"[&::-webkit-scrollbar-track]:bg-transparent\",\n \"[&::-webkit-scrollbar-thumb]:bg-border [&::-webkit-scrollbar-thumb]:rounded-full\",\n \"[&::-webkit-scrollbar-thumb:hover]:bg-muted-foreground/30\",\n className\n )}\n style={{ maxHeight: typeof maxHeight === \"number\" ? `${maxHeight}px` : maxHeight }}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// ============================================\n// 2. Drawer — Slide-in panel from bottom or side\n// ============================================\nexport interface DrawerProps {\n /** Whether the drawer is open */\n open: boolean\n /** Callback when drawer should close */\n onClose: () => void\n /** Direction the drawer slides from */\n side?: \"bottom\" | \"right\" | \"left\"\n /** Drawer content */\n children: React.ReactNode\n /** Additional CSS classes for the drawer panel */\n className?: string\n /** Title for the drawer header */\n title?: string\n}\n\nconst slideVariants = {\n bottom: {\n initial: { y: \"100%\" },\n animate: { y: 0 },\n exit: { y: \"100%\" },\n className: \"inset-x-0 bottom-0 rounded-t-2xl max-h-[85vh]\",\n },\n right: {\n initial: { x: \"100%\" },\n animate: { x: 0 },\n exit: { x: \"100%\" },\n className: \"inset-y-0 right-0 w-full max-w-md h-full\",\n },\n left: {\n initial: { x: \"-100%\" },\n animate: { x: 0 },\n exit: { x: \"-100%\" },\n className: \"inset-y-0 left-0 w-full max-w-md h-full\",\n },\n}\n\nexport function Drawer({\n open,\n onClose,\n side = \"bottom\",\n children,\n className,\n title,\n}: DrawerProps) {\n const variant = slideVariants[side]\n\n // Close on Escape key\n React.useEffect(() => {\n if (!open) return\n const handler = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") onClose()\n }\n window.addEventListener(\"keydown\", handler)\n return () => window.removeEventListener(\"keydown\", handler)\n }, [open, onClose])\n\n return (\n <AnimatePresence>\n {open && (\n <div className=\"fixed inset-0 z-50\">\n {/* Backdrop */}\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n className=\"absolute inset-0 bg-black/50 backdrop-blur-sm\"\n onClick={onClose}\n />\n {/* Panel */}\n <motion.div\n initial={variant.initial}\n animate={variant.animate}\n exit={variant.exit}\n transition={{ type: \"spring\", damping: 30, stiffness: 300 }}\n className={cn(\n \"absolute bg-card border border-border shadow-2xl overflow-y-auto\",\n variant.className,\n className\n )}\n >\n {/* Handle for bottom drawer */}\n {side === \"bottom\" && (\n <div className=\"flex justify-center pt-3 pb-1\">\n <div className=\"w-12 h-1.5 rounded-full bg-muted-foreground/20\" />\n </div>\n )}\n {/* Header */}\n {title && (\n <div className=\"flex items-center justify-between px-6 py-4 border-b border-border\">\n <h3 className=\"font-semibold text-lg\">{title}</h3>\n <button\n onClick={onClose}\n className=\"p-1.5 rounded-md hover:bg-muted transition-colors text-muted-foreground hover:text-foreground\"\n >\n <X className=\"h-4 w-4\" />\n </button>\n </div>\n )}\n {/* Content */}\n <div className=\"p-6\">{children}</div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n )\n}\n\n// ============================================\n// 3. CommandPalette — Cmd+K search overlay\n// ============================================\nexport interface CommandPaletteItem {\n /** Unique identifier */\n id: string\n /** Display label */\n label: string\n /** Optional icon */\n icon?: React.ReactNode\n /** Optional group/category */\n group?: string\n /** Action when selected */\n onSelect?: () => void\n}\n\nexport interface CommandPaletteProps {\n /** Whether the palette is open */\n open: boolean\n /** Callback when palette should close */\n onClose: () => void\n /** Items to display */\n items: CommandPaletteItem[]\n /** Placeholder text */\n placeholder?: string\n /** Additional CSS classes */\n className?: string\n}\n\nexport function CommandPalette({\n open,\n onClose,\n items,\n placeholder = \"Type a command or search...\",\n className,\n}: CommandPaletteProps) {\n const [query, setQuery] = React.useState(\"\")\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n\n const filtered = React.useMemo(\n () => items.filter(item => item.label.toLowerCase().includes(query.toLowerCase())),\n [items, query]\n )\n\n // Group items\n const groups = React.useMemo(() => {\n const map = new Map<string, CommandPaletteItem[]>()\n filtered.forEach(item => {\n const group = item.group || \"Results\"\n if (!map.has(group)) map.set(group, [])\n map.get(group)!.push(item)\n })\n return map\n }, [filtered])\n\n // Reset on open\n React.useEffect(() => {\n if (open) {\n setQuery(\"\")\n setSelectedIndex(0)\n }\n }, [open])\n\n // Keyboard navigation\n React.useEffect(() => {\n if (!open) return\n const handler = (e: KeyboardEvent) => {\n if (e.key === \"ArrowDown\") {\n e.preventDefault()\n setSelectedIndex(i => Math.min(i + 1, filtered.length - 1))\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault()\n setSelectedIndex(i => Math.max(i - 1, 0))\n } else if (e.key === \"Enter\") {\n e.preventDefault()\n filtered[selectedIndex]?.onSelect?.()\n onClose()\n } else if (e.key === \"Escape\") {\n onClose()\n }\n }\n window.addEventListener(\"keydown\", handler)\n return () => window.removeEventListener(\"keydown\", handler)\n }, [open, filtered, selectedIndex, onClose])\n\n return (\n <AnimatePresence>\n {open && (\n <div className=\"fixed inset-0 z-[100] flex items-start justify-center pt-[20vh]\">\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n className=\"absolute inset-0 bg-black/50 backdrop-blur-sm\"\n onClick={onClose}\n />\n <motion.div\n initial={{ opacity: 0, scale: 0.95, y: -10 }}\n animate={{ opacity: 1, scale: 1, y: 0 }}\n exit={{ opacity: 0, scale: 0.95, y: -10 }}\n transition={{ duration: 0.15 }}\n className={cn(\n \"relative w-full max-w-lg mx-4 bg-card border border-border rounded-xl shadow-2xl overflow-hidden\",\n className\n )}\n >\n {/* Search input */}\n <div className=\"flex items-center gap-2 px-4 border-b border-border\">\n <svg className=\"h-4 w-4 text-muted-foreground shrink-0\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" strokeWidth=\"2\" />\n <path d=\"m21 21-4.35-4.35\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n </svg>\n <input\n autoFocus\n value={query}\n onChange={e => setQuery(e.target.value)}\n className=\"flex-1 h-12 bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n placeholder={placeholder}\n />\n </div>\n {/* Results */}\n <div className=\"max-h-[300px] overflow-y-auto p-2\">\n {filtered.length > 0 ? (\n Array.from(groups.entries()).map(([groupName, groupItems]) => (\n <div key={groupName}>\n <div className=\"px-2 py-1.5 text-[11px] font-medium text-muted-foreground uppercase tracking-wider\">\n {groupName}\n </div>\n {groupItems.map((item) => {\n const globalIndex = filtered.indexOf(item)\n return (\n <button\n key={item.id}\n onClick={() => {\n item.onSelect?.()\n onClose()\n }}\n className={cn(\n \"flex w-full items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors text-left\",\n globalIndex === selectedIndex\n ? \"bg-accent text-accent-foreground\"\n : \"hover:bg-muted/50\"\n )}\n >\n {item.icon && <span className=\"text-muted-foreground\">{item.icon}</span>}\n {item.label}\n </button>\n )\n })}\n </div>\n ))\n ) : (\n <div className=\"text-center py-8 text-sm text-muted-foreground\">\n No results found.\n </div>\n )}\n </div>\n </motion.div>\n </div>\n )}\n </AnimatePresence>\n )\n}\n\n// ============================================\n// 4. ContextMenu — Right-click context menu\n// ============================================\nexport interface ContextMenuItem {\n /** Display label */\n label: string\n /** Action when clicked */\n onClick?: () => void\n /** Keyboard shortcut hint */\n shortcut?: string\n /** Whether this is a separator */\n separator?: boolean\n /** Whether the item is disabled */\n disabled?: boolean\n /** Whether this is a destructive action */\n destructive?: boolean\n}\n\nexport interface ContextMenuProps {\n /** Items in the context menu */\n items: ContextMenuItem[]\n /** Content to right-click on */\n children: React.ReactNode\n /** Additional CSS classes */\n className?: string\n}\n\nexport function ContextMenu({ items, children, className }: ContextMenuProps) {\n const [open, setOpen] = React.useState(false)\n const [position, setPosition] = React.useState({ x: 0, y: 0 })\n const menuRef = React.useRef<HTMLDivElement>(null)\n\n const handleContextMenu = (e: React.MouseEvent) => {\n e.preventDefault()\n setPosition({ x: e.clientX, y: e.clientY })\n setOpen(true)\n }\n\n React.useEffect(() => {\n if (!open) return\n const close = () => setOpen(false)\n window.addEventListener(\"click\", close)\n window.addEventListener(\"scroll\", close)\n window.addEventListener(\"resize\", close)\n return () => {\n window.removeEventListener(\"click\", close)\n window.removeEventListener(\"scroll\", close)\n window.removeEventListener(\"resize\", close)\n }\n }, [open])\n\n return (\n <>\n <div onContextMenu={handleContextMenu} className={className}>\n {children}\n </div>\n <AnimatePresence>\n {open && (\n <motion.div\n ref={menuRef}\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.1 }}\n className=\"fixed z-[100] min-w-[180px] bg-card border border-border rounded-lg shadow-xl p-1 overflow-hidden\"\n style={{ left: position.x, top: position.y }}\n >\n {items.map((item, i) =>\n item.separator ? (\n <div key={i} className=\"my-1 h-px bg-border\" />\n ) : (\n <button\n key={i}\n disabled={item.disabled}\n onClick={() => {\n item.onClick?.()\n setOpen(false)\n }}\n className={cn(\n \"flex w-full items-center justify-between gap-4 rounded-md px-3 py-1.5 text-sm transition-colors\",\n item.disabled && \"opacity-50 cursor-not-allowed\",\n item.destructive\n ? \"text-destructive hover:bg-destructive/10\"\n : \"hover:bg-accent\"\n )}\n >\n <span>{item.label}</span>\n {item.shortcut && (\n <span className=\"text-[11px] text-muted-foreground font-mono\">{item.shortcut}</span>\n )}\n </button>\n )\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. ImageCarousel — Auto-playing carousel\n// ============================================\nexport function ImageCarousel({ images, autoPlay = true, interval = 4000, className }: {\n images: { src: string; alt?: string }[]\n autoPlay?: boolean\n interval?: number\n className?: string\n}) {\n const [current, setCurrent] = React.useState(0)\n\n React.useEffect(() => {\n if (!autoPlay || images.length <= 1) return\n const timer = setInterval(() => setCurrent((c) => (c + 1) % images.length), interval)\n return () => clearInterval(timer)\n }, [autoPlay, interval, images.length])\n\n return (\n <div className={cn(\"relative overflow-hidden rounded-xl bg-muted\", className)}>\n <div className=\"relative aspect-video\">\n {images.map((img, i) => (\n <motion.div\n key={i}\n initial={false}\n animate={{ opacity: i === current ? 1 : 0 }}\n transition={{ duration: 0.5 }}\n className=\"absolute inset-0\"\n >\n <div className=\"w-full h-full bg-gradient-to-br from-violet-500/20 to-pink-500/20 flex items-center justify-center text-muted-foreground\">\n {img.alt || `Slide ${i + 1}`}\n </div>\n </motion.div>\n ))}\n </div>\n <div className=\"absolute bottom-3 left-1/2 -translate-x-1/2 flex gap-1.5\">\n {images.map((_, i) => (\n <button\n key={i}\n onClick={() => setCurrent(i)}\n className={cn(\"w-2 h-2 rounded-full transition-all\", i === current ? \"bg-white w-6\" : \"bg-white/50 hover:bg-white/70\")}\n />\n ))}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 2. VideoPlayer — Styled video player\n// ============================================\nexport function VideoPlayer({ title, duration = \"3:45\", thumbnail, className }: {\n title?: string\n duration?: string\n thumbnail?: string\n className?: string\n}) {\n const [playing, setPlaying] = React.useState(false)\n\n return (\n <div className={cn(\"relative overflow-hidden rounded-xl bg-muted group cursor-pointer\", className)}>\n <div className=\"aspect-video bg-gradient-to-br from-slate-800 to-slate-900 flex items-center justify-center\">\n <motion.button\n whileHover={{ scale: 1.1 }}\n whileTap={{ scale: 0.95 }}\n onClick={() => setPlaying(!playing)}\n className=\"w-16 h-16 rounded-full bg-white/20 backdrop-blur-md flex items-center justify-center border border-white/30 shadow-lg\"\n >\n {playing ? (\n <svg className=\"w-6 h-6 text-white\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M6 4h4v16H6V4zm8 0h4v16h-4V4z\"/></svg>\n ) : (\n <svg className=\"w-6 h-6 text-white ml-1\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"/></svg>\n )}\n </motion.button>\n </div>\n {(title || duration) && (\n <div className=\"absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/80 to-transparent p-4\">\n {title && <p className=\"text-white text-sm font-medium\">{title}</p>}\n {duration && <span className=\"text-white/70 text-xs\">{duration}</span>}\n </div>\n )}\n </div>\n )\n}\n\n// ============================================\n// 3. AudioWaveform — Audio visualizer\n// ============================================\nexport function AudioWaveform({ playing = false, bars = 24, className }: {\n playing?: boolean\n bars?: number\n className?: string\n}) {\n return (\n <div className={cn(\"flex items-end gap-[2px] h-8\", className)}>\n {Array.from({ length: bars }).map((_, i) => {\n const height = Math.random() * 100\n return (\n <motion.div\n key={i}\n className=\"w-1 rounded-full bg-primary\"\n animate={playing ? {\n height: [`${20 + Math.random() * 30}%`, `${50 + Math.random() * 50}%`, `${20 + Math.random() * 30}%`],\n } : { height: \"20%\" }}\n transition={playing ? {\n duration: 0.4 + Math.random() * 0.4,\n repeat: Infinity,\n repeatType: \"reverse\",\n ease: \"easeInOut\",\n } : {}}\n style={{ height: `${height}%` }}\n />\n )\n })}\n </div>\n )\n}\n\n// ============================================\n// 4. FilePreviewCard — File with icon/preview\n// ============================================\nexport function FilePreviewCard({ name, size, type = \"file\", className }: {\n name: string\n size: string\n type?: \"file\" | \"image\" | \"video\" | \"pdf\" | \"code\"\n className?: string\n}) {\n const icons = {\n file: \"📄\",\n image: \"🖼\",\n video: \"🎬\",\n pdf: \"📕\",\n code: \"💻\",\n }\n const colors = {\n file: \"from-blue-500/10 to-blue-500/5\",\n image: \"from-pink-500/10 to-pink-500/5\",\n video: \"from-violet-500/10 to-violet-500/5\",\n pdf: \"from-red-500/10 to-red-500/5\",\n code: \"from-emerald-500/10 to-emerald-500/5\",\n }\n\n return (\n <motion.div\n whileHover={{ y: -2 }}\n className={cn(\"rounded-xl border border-border bg-card p-4 flex items-center gap-3 cursor-pointer transition-shadow hover:shadow-md\", className)}\n >\n <div className={cn(\"w-12 h-12 rounded-lg bg-gradient-to-br flex items-center justify-center text-xl\", colors[type])}>\n {icons[type]}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium truncate\">{name}</p>\n <p className=\"text-xs text-muted-foreground\">{size}</p>\n </div>\n <svg className=\"w-4 h-4 text-muted-foreground shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\" />\n </svg>\n </motion.div>\n )\n}\n\n// ============================================\n// 5. EmbedCard — oEmbed-style preview card\n// ============================================\nexport function EmbedCard({ title, description, domain, favicon, className }: {\n title: string\n description?: string\n domain: string\n favicon?: string\n className?: string\n}) {\n return (\n <div className={cn(\"rounded-xl border border-border bg-card overflow-hidden hover:shadow-md transition-shadow cursor-pointer\", className)}>\n <div className=\"h-36 bg-gradient-to-br from-violet-500/20 via-blue-500/20 to-pink-500/20\" />\n <div className=\"p-4 border-t border-border\">\n <div className=\"flex items-center gap-2 mb-2\">\n <div className=\"w-4 h-4 rounded-full bg-muted flex items-center justify-center text-[8px]\">\n {favicon || domain.charAt(0).toUpperCase()}\n </div>\n <span className=\"text-xs text-muted-foreground\">{domain}</span>\n </div>\n <h4 className=\"text-sm font-semibold mb-1 line-clamp-1\">{title}</h4>\n {description && <p className=\"text-xs text-muted-foreground line-clamp-2\">{description}</p>}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 6. MusicPlayer — Mini music player widget\n// ============================================\nexport function MusicPlayer({ title, artist, album, className }: {\n title: string\n artist: string\n album?: string\n className?: string\n}) {\n const [playing, setPlaying] = React.useState(false)\n const [progress, setProgress] = React.useState(35)\n\n return (\n <div className={cn(\"rounded-2xl border border-border bg-card p-5 w-full max-w-sm\", className)}>\n <div className=\"flex items-center gap-4 mb-4\">\n <motion.div\n animate={playing ? { rotate: 360 } : {}}\n transition={playing ? { duration: 3, repeat: Infinity, ease: \"linear\" } : {}}\n className=\"w-14 h-14 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center shadow-lg shrink-0\"\n >\n <div className=\"w-5 h-5 rounded-full bg-background\" />\n </motion.div>\n <div className=\"min-w-0 flex-1\">\n <p className=\"font-semibold text-sm truncate\">{title}</p>\n <p className=\"text-xs text-muted-foreground truncate\">{artist}</p>\n {album && <p className=\"text-xs text-muted-foreground/60 truncate\">{album}</p>}\n </div>\n </div>\n <div className=\"mb-3\">\n <div className=\"h-1 bg-muted rounded-full overflow-hidden\">\n <motion.div\n className=\"h-full bg-primary rounded-full\"\n style={{ width: `${progress}%` }}\n />\n </div>\n <div className=\"flex justify-between text-[10px] text-muted-foreground mt-1\">\n <span>1:15</span>\n <span>3:45</span>\n </div>\n </div>\n <div className=\"flex items-center justify-center gap-6\">\n <button className=\"text-muted-foreground hover:text-foreground transition-colors\">\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M6 6h2v12H6V6zm3.5 6l8.5 6V6l-8.5 6z\"/></svg>\n </button>\n <motion.button\n whileTap={{ scale: 0.9 }}\n onClick={() => setPlaying(!playing)}\n className=\"w-10 h-10 rounded-full bg-primary text-primary-foreground flex items-center justify-center shadow-md\"\n >\n {playing ? (\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M6 4h4v16H6V4zm8 0h4v16h-4V4z\"/></svg>\n ) : (\n <svg className=\"w-5 h-5 ml-0.5\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"/></svg>\n )}\n </motion.button>\n <button className=\"text-muted-foreground hover:text-foreground transition-colors\">\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 24 24\"><path d=\"M18 18h-2V6h2v12zm-3.5-6L6 6v12l8.5-6z\"/></svg>\n </button>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 7. ImageCompare — Before/After slider\n// ============================================\nexport function ImageCompare({ leftLabel = \"Before\", rightLabel = \"After\", className }: {\n leftLabel?: string\n rightLabel?: string\n className?: string\n}) {\n const [position, setPosition] = React.useState(50)\n const containerRef = React.useRef<HTMLDivElement>(null)\n\n const handleMove = (e: React.MouseEvent) => {\n if (!containerRef.current) return\n const rect = containerRef.current.getBoundingClientRect()\n const x = ((e.clientX - rect.left) / rect.width) * 100\n setPosition(Math.max(0, Math.min(100, x)))\n }\n\n return (\n <div\n ref={containerRef}\n className={cn(\"relative aspect-video rounded-xl overflow-hidden cursor-col-resize select-none\", className)}\n onMouseMove={handleMove}\n >\n <div className=\"absolute inset-0 bg-gradient-to-br from-slate-600 to-slate-800\" />\n <div className=\"absolute inset-0 bg-gradient-to-br from-violet-500 to-pink-500\" style={{ clipPath: `inset(0 ${100 - position}% 0 0)` }} />\n <div className=\"absolute top-0 bottom-0\" style={{ left: `${position}%` }}>\n <div className=\"absolute top-0 bottom-0 w-0.5 bg-white shadow-lg -translate-x-1/2\" />\n <div className=\"absolute top-1/2 -translate-y-1/2 -translate-x-1/2 w-8 h-8 rounded-full bg-white shadow-lg flex items-center justify-center\">\n <svg className=\"w-4 h-4 text-slate-700\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M8 9l4-4 4 4m0 6l-4 4-4-4\" /></svg>\n </div>\n </div>\n <span className=\"absolute top-3 left-3 text-xs font-medium text-white bg-black/40 px-2 py-1 rounded-md backdrop-blur-sm\">{leftLabel}</span>\n <span className=\"absolute top-3 right-3 text-xs font-medium text-white bg-black/40 px-2 py-1 rounded-md backdrop-blur-sm\">{rightLabel}</span>\n </div>\n )\n}\n\n// ============================================\n// 8. GalleryGrid — Masonry-style gallery\n// ============================================\nexport function GalleryGrid({ items, className }: {\n items: { title: string; color?: string }[]\n className?: string\n}) {\n const colors = [\n \"from-violet-500 to-purple-600\",\n \"from-pink-500 to-rose-600\",\n \"from-blue-500 to-indigo-600\",\n \"from-emerald-500 to-teal-600\",\n \"from-amber-500 to-orange-600\",\n \"from-cyan-500 to-blue-600\",\n ]\n\n return (\n <div className={cn(\"grid grid-cols-2 md:grid-cols-3 gap-3\", className)}>\n {items.map((item, i) => (\n <motion.div\n key={i}\n whileHover={{ scale: 1.02 }}\n className={cn(\n \"rounded-xl bg-gradient-to-br p-4 flex items-end cursor-pointer transition-shadow hover:shadow-lg\",\n item.color || colors[i % colors.length],\n i === 0 ? \"row-span-2 min-h-[200px]\" : \"min-h-[100px]\"\n )}\n >\n <span className=\"text-white text-sm font-medium drop-shadow-md\">{item.title}</span>\n </motion.div>\n ))}\n </div>\n )\n}\n\n// ============================================\n// 9. CodeSnippet — Syntax-highlighted block\n// ============================================\nexport function CodeSnippet({ code, language = \"tsx\", filename, className }: {\n code: string\n language?: string\n filename?: string\n className?: string\n}) {\n const [copied, setCopied] = React.useState(false)\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-slate-950 overflow-hidden\", className)}>\n <div className=\"flex items-center justify-between px-4 py-2 bg-slate-900 border-b border-slate-800\">\n <div className=\"flex items-center gap-2\">\n <div className=\"flex gap-1.5\">\n <div className=\"w-3 h-3 rounded-full bg-red-500/80\" />\n <div className=\"w-3 h-3 rounded-full bg-yellow-500/80\" />\n <div className=\"w-3 h-3 rounded-full bg-green-500/80\" />\n </div>\n {filename && <span className=\"text-xs text-slate-400 ml-2 font-mono\">{filename}</span>}\n </div>\n <div className=\"flex items-center gap-2\">\n <span className=\"text-[10px] text-slate-500 font-mono uppercase\">{language}</span>\n <button\n onClick={() => { navigator.clipboard.writeText(code); setCopied(true); setTimeout(() => setCopied(false), 2000) }}\n className=\"text-slate-400 hover:text-slate-200 transition-colors\"\n >\n {copied ? (\n <svg className=\"w-4 h-4 text-green-400\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></svg>\n ) : (\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" /></svg>\n )}\n </button>\n </div>\n </div>\n <pre className=\"p-4 text-sm overflow-x-auto\">\n <code className=\"font-mono text-slate-200\">{code}</code>\n </pre>\n </div>\n )\n}\n\n// ============================================\n// 10. TestimonialCarousel — Animated testimonials\n// ============================================\nexport function TestimonialCarousel({ testimonials, className }: {\n testimonials: { quote: string; author: string; role: string }[]\n className?: string\n}) {\n const [current, setCurrent] = React.useState(0)\n\n React.useEffect(() => {\n if (testimonials.length <= 1) return\n const timer = setInterval(() => setCurrent((c) => (c + 1) % testimonials.length), 5000)\n return () => clearInterval(timer)\n }, [testimonials.length])\n\n const t = testimonials[current]\n\n return (\n <div className={cn(\"relative text-center py-8\", className)}>\n <svg className=\"w-10 h-10 text-primary/20 mx-auto mb-4\" fill=\"currentColor\" viewBox=\"0 0 32 32\">\n <path d=\"M10 8c-3.3 0-6 2.7-6 6v10h10V14H8c0-1.1.9-2 2-2V8zm14 0c-3.3 0-6 2.7-6 6v10h10V14h-6c0-1.1.9-2 2-2V8z\"/>\n </svg>\n <AnimatePresence mode=\"wait\">\n <motion.div\n key={current}\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -10 }}\n transition={{ duration: 0.3 }}\n >\n <p className=\"text-lg leading-relaxed mb-4 max-w-lg mx-auto\">{t.quote}</p>\n <p className=\"font-semibold text-sm\">{t.author}</p>\n <p className=\"text-xs text-muted-foreground\">{t.role}</p>\n </motion.div>\n </AnimatePresence>\n <div className=\"flex justify-center gap-1.5 mt-6\">\n {testimonials.map((_, i) => (\n <button\n key={i}\n onClick={() => setCurrent(i)}\n className={cn(\"w-2 h-2 rounded-full transition-all\", i === current ? \"bg-primary w-6\" : \"bg-muted-foreground/30 hover:bg-muted-foreground/50\")}\n />\n ))}\n </div>\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. DonutChart — Animated donut/ring chart\n// ============================================\nexport function DonutChart({ value, max = 100, size = 120, strokeWidth = 10, color = \"hsl(var(--primary))\", label, className }: {\n value: number\n max?: number\n size?: number\n strokeWidth?: number\n color?: string\n label?: string\n className?: string\n}) {\n const radius = (size - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const percentage = (value / max) * 100\n const offset = circumference - (percentage / 100) * circumference\n\n return (\n <div className={cn(\"relative inline-flex items-center justify-center\", className)}>\n <svg width={size} height={size} className=\"-rotate-90\">\n <circle cx={size / 2} cy={size / 2} r={radius} fill=\"none\" stroke=\"currentColor\" strokeWidth={strokeWidth} className=\"text-muted/30\" />\n <motion.circle\n cx={size / 2} cy={size / 2} r={radius} fill=\"none\" stroke={color} strokeWidth={strokeWidth}\n strokeLinecap=\"round\" strokeDasharray={circumference}\n initial={{ strokeDashoffset: circumference }}\n animate={{ strokeDashoffset: offset }}\n transition={{ duration: 1, ease: \"easeOut\" }}\n />\n </svg>\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\n <span className=\"text-2xl font-bold\">{Math.round(percentage)}%</span>\n {label && <span className=\"text-[10px] text-muted-foreground\">{label}</span>}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 2. BarChartSimple — Animated vertical bars\n// ============================================\nexport function BarChartSimple({ data, height = 200, className }: {\n data: { label: string; value: number; color?: string }[]\n height?: number\n className?: string\n}) {\n const maxVal = Math.max(...data.map(d => d.value))\n\n return (\n <div className={cn(\"w-full\", className)}>\n <div className=\"flex items-end gap-2 justify-between\" style={{ height }}>\n {data.map((item, i) => (\n <div key={i} className=\"flex-1 flex flex-col items-center gap-1\">\n <span className=\"text-xs font-medium text-muted-foreground\">{item.value}</span>\n <motion.div\n initial={{ height: 0 }}\n animate={{ height: `${(item.value / maxVal) * 100}%` }}\n transition={{ duration: 0.6, delay: i * 0.08, ease: \"easeOut\" }}\n className={cn(\"w-full rounded-t-md min-h-[4px]\", item.color || \"bg-primary\")}\n />\n </div>\n ))}\n </div>\n <div className=\"flex gap-2 mt-2\">\n {data.map((item, i) => (\n <div key={i} className=\"flex-1 text-center\">\n <span className=\"text-[10px] text-muted-foreground\">{item.label}</span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 3. AreaChart — Simple area/sparkline chart\n// ============================================\nexport function AreaChartSimple({ data, height = 80, color = \"hsl(var(--primary))\", className }: {\n data: number[]\n height?: number\n color?: string\n className?: string\n}) {\n const max = Math.max(...data)\n const min = Math.min(...data)\n const range = max - min || 1\n const w = 300\n const points = data.map((v, i) => ({\n x: (i / (data.length - 1)) * w,\n y: height - ((v - min) / range) * (height - 10) - 5,\n }))\n const pathD = points.map((p, i) => (i === 0 ? `M${p.x},${p.y}` : `L${p.x},${p.y}`)).join(\" \")\n const areaD = `${pathD} L${w},${height} L0,${height} Z`\n\n return (\n <div className={cn(\"w-full\", className)}>\n <svg viewBox={`0 0 ${w} ${height}`} className=\"w-full\" style={{ height }}>\n <defs>\n <linearGradient id=\"area-fill\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" stopColor={color} stopOpacity=\"0.3\" />\n <stop offset=\"100%\" stopColor={color} stopOpacity=\"0\" />\n </linearGradient>\n </defs>\n <motion.path\n d={areaD}\n fill=\"url(#area-fill)\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.8 }}\n />\n <motion.path\n d={pathD}\n fill=\"none\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n initial={{ pathLength: 0 }}\n animate={{ pathLength: 1 }}\n transition={{ duration: 1.2, ease: \"easeOut\" }}\n />\n </svg>\n </div>\n )\n}\n\n// ============================================\n// 4. StatWidget — Stat with sparkline\n// ============================================\nexport function StatWidget({ title, value, change, changeType = \"positive\", data = [], className }: {\n title: string\n value: string\n change?: string\n changeType?: \"positive\" | \"negative\"\n data?: number[]\n className?: string\n}) {\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5\", className)}>\n <div className=\"flex items-center justify-between mb-3\">\n <p className=\"text-sm text-muted-foreground\">{title}</p>\n {change && (\n <span className={cn(\"text-xs font-medium px-2 py-0.5 rounded-full\",\n changeType === \"positive\" ? \"text-emerald-500 bg-emerald-500/10\" : \"text-red-500 bg-red-500/10\"\n )}>{change}</span>\n )}\n </div>\n <p className=\"text-2xl font-bold mb-3\">{value}</p>\n {data.length > 0 && (\n <AreaChartSimple data={data} height={40} color={changeType === \"positive\" ? \"#10b981\" : \"#ef4444\"} />\n )}\n </div>\n )\n}\n\n// ============================================\n// 5. ProgressCircle — Circular progress ring\n// ============================================\nexport function ProgressCircle({ value, size = 60, label, className }: {\n value: number\n size?: number\n label?: string\n className?: string\n}) {\n const strokeWidth = 5\n const radius = (size - strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const offset = circumference - (value / 100) * circumference\n\n return (\n <div className={cn(\"inline-flex flex-col items-center gap-1\", className)}>\n <svg width={size} height={size} className=\"-rotate-90\">\n <circle cx={size/2} cy={size/2} r={radius} fill=\"none\" stroke=\"currentColor\" strokeWidth={strokeWidth} className=\"text-muted/20\" />\n <motion.circle\n cx={size/2} cy={size/2} r={radius} fill=\"none\" stroke=\"currentColor\" strokeWidth={strokeWidth}\n strokeLinecap=\"round\" strokeDasharray={circumference}\n initial={{ strokeDashoffset: circumference }}\n animate={{ strokeDashoffset: offset }}\n transition={{ duration: 0.8, ease: \"easeOut\" }}\n className=\"text-primary\"\n />\n </svg>\n {label && <span className=\"text-xs text-muted-foreground\">{label}</span>}\n </div>\n )\n}\n\n// ============================================\n// 6. ComparisonBar — Horizontal comparison\n// ============================================\nexport function ComparisonBar({ label1, label2, value1, value2, className }: {\n label1: string\n label2: string\n value1: number\n value2: number\n className?: string\n}) {\n const total = value1 + value2\n const percent1 = (value1 / total) * 100\n const percent2 = (value2 / total) * 100\n\n return (\n <div className={cn(\"w-full\", className)}>\n <div className=\"flex justify-between text-sm mb-2\">\n <span className=\"font-medium\">{label1} <span className=\"text-muted-foreground\">({value1})</span></span>\n <span className=\"font-medium\">{label2} <span className=\"text-muted-foreground\">({value2})</span></span>\n </div>\n <div className=\"flex h-3 rounded-full overflow-hidden gap-0.5\">\n <motion.div\n initial={{ width: 0 }}\n animate={{ width: `${percent1}%` }}\n transition={{ duration: 0.8, ease: \"easeOut\" }}\n className=\"bg-primary rounded-l-full\"\n />\n <motion.div\n initial={{ width: 0 }}\n animate={{ width: `${percent2}%` }}\n transition={{ duration: 0.8, ease: \"easeOut\", delay: 0.2 }}\n className=\"bg-violet-500 rounded-r-full\"\n />\n </div>\n </div>\n )\n}\n\n// ============================================\n// 7. HeatmapGrid — Activity heatmap\n// ============================================\nexport function HeatmapGrid({ data, columns = 7, className }: {\n data: number[]\n columns?: number\n className?: string\n}) {\n const max = Math.max(...data)\n\n return (\n <div className={cn(\"inline-grid gap-1\", className)} style={{ gridTemplateColumns: `repeat(${columns}, 1fr)` }}>\n {data.map((val, i) => {\n const intensity = max > 0 ? val / max : 0\n return (\n <motion.div\n key={i}\n initial={{ opacity: 0, scale: 0.5 }}\n animate={{ opacity: 1, scale: 1 }}\n transition={{ delay: i * 0.01 }}\n className=\"w-4 h-4 rounded-sm\"\n style={{ backgroundColor: `hsl(var(--primary) / ${0.1 + intensity * 0.9})` }}\n title={`${val}`}\n />\n )\n })}\n </div>\n )\n}\n\n// ============================================\n// 8. LeaderboardWidget — Ranked list\n// ============================================\nexport function LeaderboardWidget({ items, title, className }: {\n items: { name: string; score: number; avatar?: string }[]\n title?: string\n className?: string\n}) {\n const maxScore = Math.max(...items.map(i => i.score))\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5\", className)}>\n {title && <h4 className=\"font-semibold mb-4\">{title}</h4>}\n <div className=\"space-y-3\">\n {items.map((item, i) => (\n <div key={i} className=\"flex items-center gap-3\">\n <span className={cn(\n \"w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold shrink-0\",\n i === 0 ? \"bg-amber-500/20 text-amber-500\" :\n i === 1 ? \"bg-slate-300/20 text-slate-400\" :\n i === 2 ? \"bg-orange-500/20 text-orange-500\" :\n \"bg-muted text-muted-foreground\"\n )}>{i + 1}</span>\n <div className=\"w-8 h-8 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold shrink-0\">\n {item.avatar || item.name.charAt(0)}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm font-medium truncate\">{item.name}</p>\n <div className=\"h-1.5 bg-muted rounded-full mt-1 overflow-hidden\">\n <motion.div\n initial={{ width: 0 }}\n animate={{ width: `${(item.score / maxScore) * 100}%` }}\n transition={{ duration: 0.6, delay: i * 0.1 }}\n className=\"h-full bg-primary rounded-full\"\n />\n </div>\n </div>\n <span className=\"text-sm font-semibold text-muted-foreground shrink-0\">{item.score}</span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 9. FunnelChart — Conversion funnel\n// ============================================\nexport function FunnelChart({ steps, className }: {\n steps: { label: string; value: number; color?: string }[]\n className?: string\n}) {\n const maxVal = steps[0]?.value || 1\n\n return (\n <div className={cn(\"w-full space-y-2\", className)}>\n {steps.map((step, i) => {\n const widthPercent = (step.value / maxVal) * 100\n return (\n <motion.div\n key={i}\n initial={{ opacity: 0, x: -20 }}\n animate={{ opacity: 1, x: 0 }}\n transition={{ delay: i * 0.1 }}\n className=\"flex items-center gap-3\"\n >\n <span className=\"text-xs text-muted-foreground w-20 text-right shrink-0\">{step.label}</span>\n <div className=\"flex-1 h-8 relative\">\n <motion.div\n initial={{ width: 0 }}\n animate={{ width: `${widthPercent}%` }}\n transition={{ duration: 0.6, delay: i * 0.1 }}\n className={cn(\"h-full rounded-md flex items-center px-3\", step.color || \"bg-primary\")}\n style={{ minWidth: \"40px\" }}\n >\n <span className=\"text-xs font-medium text-primary-foreground\">{step.value.toLocaleString()}</span>\n </motion.div>\n </div>\n </motion.div>\n )\n })}\n </div>\n )\n}\n\n// ============================================\n// 10. KPIDashboard — Multi-stat KPI row\n// ============================================\nexport function KPIDashboard({ metrics, className }: {\n metrics: { label: string; value: string; icon?: React.ReactNode; trend?: string; trendType?: \"up\" | \"down\" }[]\n className?: string\n}) {\n return (\n <div className={cn(\"grid grid-cols-2 md:grid-cols-4 gap-4\", className)}>\n {metrics.map((m, i) => (\n <motion.div\n key={i}\n initial={{ opacity: 0, y: 20 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ delay: i * 0.1 }}\n className=\"rounded-xl border border-border bg-card p-4\"\n >\n <div className=\"flex items-center justify-between mb-2\">\n <span className=\"text-xs text-muted-foreground\">{m.label}</span>\n {m.icon && <span className=\"text-muted-foreground\">{m.icon}</span>}\n </div>\n <p className=\"text-xl font-bold\">{m.value}</p>\n {m.trend && (\n <span className={cn(\"text-xs font-medium\",\n m.trendType === \"up\" ? \"text-emerald-500\" : \"text-red-500\"\n )}>\n {m.trendType === \"up\" ? \"↑\" : \"↓\"} {m.trend}\n </span>\n )}\n </motion.div>\n ))}\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. ChatMessage — Chat bubble with avatar\n// ============================================\nexport function ChatMessage({ message, sender, time, avatar, isOwn = false, className }: {\n message: string\n sender: string\n time?: string\n avatar?: string\n isOwn?: boolean\n className?: string\n}) {\n return (\n <div className={cn(\"flex gap-3\", isOwn && \"flex-row-reverse\", className)}>\n <div className={cn(\n \"w-8 h-8 rounded-full flex items-center justify-center text-xs font-bold text-white shrink-0\",\n isOwn ? \"bg-gradient-to-br from-blue-500 to-cyan-500\" : \"bg-gradient-to-br from-violet-500 to-pink-500\"\n )}>\n {avatar || sender.charAt(0)}\n </div>\n <div className={cn(\"max-w-[70%]\", isOwn && \"items-end\")}>\n <div className={cn(\n \"rounded-2xl px-4 py-2.5 text-sm\",\n isOwn\n ? \"bg-primary text-primary-foreground rounded-br-md\"\n : \"bg-muted text-foreground rounded-bl-md\"\n )}>\n {message}\n </div>\n {time && <span className={cn(\"text-[10px] text-muted-foreground mt-1 block\", isOwn && \"text-right\")}>{time}</span>}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 2. ChatInput — Message input with actions\n// ============================================\nexport function ChatInput({ placeholder = \"Type a message...\", onSend, className }: {\n placeholder?: string\n onSend?: (message: string) => void\n className?: string\n}) {\n const [text, setText] = React.useState(\"\")\n\n const handleSend = () => {\n if (text.trim()) {\n onSend?.(text)\n setText(\"\")\n }\n }\n\n return (\n <div className={cn(\"flex items-center gap-2 rounded-2xl border border-border bg-background p-2 pl-4\", className)}>\n <button className=\"text-muted-foreground hover:text-foreground transition-colors shrink-0\">\n <svg className=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\" /></svg>\n </button>\n <input\n value={text}\n onChange={(e) => setText(e.target.value)}\n onKeyDown={(e) => e.key === \"Enter\" && handleSend()}\n placeholder={placeholder}\n className=\"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground min-w-0\"\n />\n <button className=\"text-muted-foreground hover:text-foreground transition-colors shrink-0\">\n <svg className=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M14.828 14.828a4 4 0 01-5.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" /></svg>\n </button>\n <motion.button\n whileTap={{ scale: 0.9 }}\n onClick={handleSend}\n className={cn(\n \"w-9 h-9 rounded-xl flex items-center justify-center shrink-0 transition-colors\",\n text.trim() ? \"bg-primary text-primary-foreground\" : \"bg-muted text-muted-foreground\"\n )}\n >\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M12 19l9 2-9-18-9 18 9-2zm0 0v-8\" /></svg>\n </motion.button>\n </div>\n )\n}\n\n// ============================================\n// 3. UserProfileCard — Social profile card\n// ============================================\nexport function UserProfileCard({ name, username, bio, stats, isFollowing = false, className }: {\n name: string\n username: string\n bio?: string\n stats?: { label: string; value: string }[]\n isFollowing?: boolean\n className?: string\n}) {\n const [following, setFollowing] = React.useState(isFollowing)\n\n return (\n <div className={cn(\"rounded-2xl border border-border bg-card overflow-hidden w-full max-w-xs\", className)}>\n <div className=\"h-24 bg-gradient-to-r from-violet-600 via-purple-500 to-pink-500\" />\n <div className=\"px-5 pb-5\">\n <div className=\"w-16 h-16 rounded-full border-4 border-card bg-gradient-to-br from-violet-400 to-pink-400 flex items-center justify-center text-white font-bold text-xl -mt-8 mb-3 shadow-lg\">\n {name.charAt(0)}\n </div>\n <div className=\"flex items-start justify-between\">\n <div>\n <h4 className=\"font-bold\">{name}</h4>\n <p className=\"text-sm text-muted-foreground\">@{username}</p>\n </div>\n <motion.button\n whileTap={{ scale: 0.95 }}\n onClick={() => setFollowing(!following)}\n className={cn(\"px-4 py-1.5 rounded-full text-xs font-semibold transition-colors\",\n following\n ? \"bg-muted text-muted-foreground hover:bg-red-500/10 hover:text-red-500\"\n : \"bg-primary text-primary-foreground hover:bg-primary/90\"\n )}\n >\n {following ? \"Following\" : \"Follow\"}\n </motion.button>\n </div>\n {bio && <p className=\"text-sm text-muted-foreground mt-3 leading-relaxed\">{bio}</p>}\n {stats && (\n <div className=\"flex gap-5 mt-4 pt-4 border-t border-border\">\n {stats.map((s, i) => (\n <div key={i}>\n <p className=\"font-bold text-sm\">{s.value}</p>\n <p className=\"text-xs text-muted-foreground\">{s.label}</p>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 4. CommentThread — Nested comment thread\n// ============================================\nexport function CommentThread({ comments, className }: {\n comments: { author: string; text: string; time: string; replies?: { author: string; text: string; time: string }[] }[]\n className?: string\n}) {\n return (\n <div className={cn(\"space-y-4\", className)}>\n {comments.map((comment, i) => (\n <div key={i} className=\"space-y-3\">\n <div className=\"flex gap-3\">\n <div className=\"w-8 h-8 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold shrink-0\">\n {comment.author.charAt(0)}\n </div>\n <div className=\"flex-1\">\n <div className=\"flex items-center gap-2 mb-1\">\n <span className=\"font-semibold text-sm\">{comment.author}</span>\n <span className=\"text-xs text-muted-foreground\">{comment.time}</span>\n </div>\n <p className=\"text-sm text-muted-foreground\">{comment.text}</p>\n <button className=\"text-xs text-primary hover:underline mt-1\">Reply</button>\n </div>\n </div>\n {comment.replies?.map((reply, j) => (\n <div key={j} className=\"flex gap-3 ml-11\">\n <div className=\"w-6 h-6 rounded-full bg-gradient-to-br from-blue-500 to-cyan-500 flex items-center justify-center text-white text-[10px] font-bold shrink-0\">\n {reply.author.charAt(0)}\n </div>\n <div className=\"flex-1\">\n <div className=\"flex items-center gap-2 mb-1\">\n <span className=\"font-semibold text-xs\">{reply.author}</span>\n <span className=\"text-[10px] text-muted-foreground\">{reply.time}</span>\n </div>\n <p className=\"text-xs text-muted-foreground\">{reply.text}</p>\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n )\n}\n\n// ============================================\n// 5. ReactionBar — Emoji reactions row\n// ============================================\nexport function ReactionBar({ reactions, onReact, className }: {\n reactions: { emoji: string; count: number; active?: boolean }[]\n onReact?: (emoji: string) => void\n className?: string\n}) {\n return (\n <div className={cn(\"flex flex-wrap gap-1.5\", className)}>\n {reactions.map((r, i) => (\n <motion.button\n key={i}\n whileTap={{ scale: 0.9 }}\n onClick={() => onReact?.(r.emoji)}\n className={cn(\n \"inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-sm border transition-colors\",\n r.active\n ? \"border-primary/30 bg-primary/10 text-primary\"\n : \"border-border bg-background text-muted-foreground hover:bg-muted\"\n )}\n >\n <span>{r.emoji}</span>\n <span className=\"text-xs font-medium\">{r.count}</span>\n </motion.button>\n ))}\n <button className=\"inline-flex items-center justify-center w-8 h-8 rounded-full border border-dashed border-border text-muted-foreground hover:text-foreground hover:border-foreground/30 transition-colors text-sm\">\n +\n </button>\n </div>\n )\n}\n\n// ============================================\n// 6. ActivityItem — Activity feed item\n// ============================================\nexport function ActivityItem({ user, action, target, time, icon, className }: {\n user: string\n action: string\n target?: string\n time: string\n icon?: React.ReactNode\n className?: string\n}) {\n return (\n <div className={cn(\"flex items-start gap-3 py-3\", className)}>\n <div className=\"w-8 h-8 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold shrink-0\">\n {icon || user.charAt(0)}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm\">\n <span className=\"font-semibold\">{user}</span>{\" \"}\n <span className=\"text-muted-foreground\">{action}</span>{\" \"}\n {target && <span className=\"font-medium\">{target}</span>}\n </p>\n <span className=\"text-xs text-muted-foreground\">{time}</span>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 7. SocialPost — Social media post card\n// ============================================\nexport function SocialPost({ author, handle, content, time, likes = 0, comments = 0, shares = 0, className }: {\n author: string\n handle: string\n content: string\n time: string\n likes?: number\n comments?: number\n shares?: number\n className?: string\n}) {\n const [liked, setLiked] = React.useState(false)\n const [likeCount, setLikeCount] = React.useState(likes)\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5\", className)}>\n <div className=\"flex items-center gap-3 mb-3\">\n <div className=\"w-10 h-10 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white font-bold\">\n {author.charAt(0)}\n </div>\n <div className=\"flex-1\">\n <p className=\"font-semibold text-sm\">{author}</p>\n <p className=\"text-xs text-muted-foreground\">@{handle} · {time}</p>\n </div>\n </div>\n <p className=\"text-sm leading-relaxed mb-4\">{content}</p>\n <div className=\"flex items-center gap-6 pt-3 border-t border-border\">\n <motion.button\n whileTap={{ scale: 0.8 }}\n onClick={() => { setLiked(!liked); setLikeCount(liked ? likeCount - 1 : likeCount + 1) }}\n className={cn(\"flex items-center gap-1.5 text-sm transition-colors\", liked ? \"text-red-500\" : \"text-muted-foreground hover:text-red-500\")}\n >\n <svg className=\"w-4 h-4\" fill={liked ? \"currentColor\" : \"none\"} viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\" /></svg>\n {likeCount}\n </motion.button>\n <button className=\"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground transition-colors\">\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z\" /></svg>\n {comments}\n </button>\n <button className=\"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground transition-colors\">\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z\" /></svg>\n {shares}\n </button>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 8. OnlineUsersList — Shows online users\n// ============================================\nexport function OnlineUsersList({ users, className }: {\n users: { name: string; status?: \"online\" | \"away\" | \"busy\" | \"offline\" }[]\n className?: string\n}) {\n const statusColors = {\n online: \"bg-emerald-500\",\n away: \"bg-amber-500\",\n busy: \"bg-red-500\",\n offline: \"bg-muted-foreground/50\",\n }\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-4\", className)}>\n <h4 className=\"font-semibold text-sm mb-3\">Online — {users.filter(u => u.status === \"online\").length}</h4>\n <div className=\"space-y-2\">\n {users.map((user, i) => (\n <div key={i} className=\"flex items-center gap-3 py-1\">\n <div className=\"relative\">\n <div className=\"w-8 h-8 rounded-full bg-gradient-to-br from-violet-500 to-pink-500 flex items-center justify-center text-white text-xs font-bold\">\n {user.name.charAt(0)}\n </div>\n <div className={cn(\"absolute -bottom-0.5 -right-0.5 w-3 h-3 rounded-full border-2 border-card\", statusColors[user.status || \"offline\"])} />\n </div>\n <span className=\"text-sm\">{user.name}</span>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 9. ShareSheet — Share options panel\n// ============================================\nexport function ShareSheet({ url, title, className }: {\n url?: string\n title?: string\n className?: string\n}) {\n const [copied, setCopied] = React.useState(false)\n const shareLink = url || \"https://nexoreui.dev\"\n\n const platforms = [\n { name: \"Twitter\", color: \"bg-sky-500\", icon: \"𝕏\" },\n { name: \"Facebook\", color: \"bg-blue-600\", icon: \"f\" },\n { name: \"LinkedIn\", color: \"bg-blue-700\", icon: \"in\" },\n { name: \"Email\", color: \"bg-emerald-500\", icon: \"✉\" },\n ]\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5\", className)}>\n {title && <h4 className=\"font-semibold text-sm mb-4\">{title}</h4>}\n <div className=\"flex gap-3 mb-4\">\n {platforms.map((p, i) => (\n <motion.button\n key={i}\n whileTap={{ scale: 0.9 }}\n className={cn(\"w-10 h-10 rounded-full flex items-center justify-center text-white text-sm font-bold\", p.color)}\n title={p.name}\n >\n {p.icon}\n </motion.button>\n ))}\n </div>\n <div className=\"flex gap-2\">\n <div className=\"flex-1 px-3 py-2 rounded-lg bg-muted text-sm text-muted-foreground truncate font-mono\">\n {shareLink}\n </div>\n <motion.button\n whileTap={{ scale: 0.9 }}\n onClick={() => { navigator.clipboard.writeText(shareLink); setCopied(true); setTimeout(() => setCopied(false), 2000) }}\n className=\"px-3 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-medium shrink-0\"\n >\n {copied ? \"Copied!\" : \"Copy\"}\n </motion.button>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 10. NotificationCenter — Notification list\n// ============================================\nexport function NotificationCenter({ notifications, className }: {\n notifications: { title: string; message: string; time: string; read?: boolean; type?: \"info\" | \"success\" | \"warning\" }[]\n className?: string\n}) {\n const typeIcons = {\n info: \"💬\",\n success: \"✅\",\n warning: \"⚠️\",\n }\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-card overflow-hidden\", className)}>\n <div className=\"flex items-center justify-between px-4 py-3 border-b border-border\">\n <h4 className=\"font-semibold text-sm\">Notifications</h4>\n <span className=\"text-xs text-primary font-medium cursor-pointer hover:underline\">Mark all read</span>\n </div>\n <div className=\"divide-y divide-border max-h-[400px] overflow-y-auto\">\n {notifications.map((n, i) => (\n <motion.div\n key={i}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ delay: i * 0.05 }}\n className={cn(\"flex items-start gap-3 px-4 py-3 hover:bg-muted/50 transition-colors cursor-pointer\", !n.read && \"bg-primary/5\")}\n >\n <span className=\"text-base shrink-0 mt-0.5\">{typeIcons[n.type || \"info\"]}</span>\n <div className=\"flex-1 min-w-0\">\n <p className={cn(\"text-sm\", !n.read && \"font-semibold\")}>{n.title}</p>\n <p className=\"text-xs text-muted-foreground line-clamp-1\">{n.message}</p>\n </div>\n <span className=\"text-[10px] text-muted-foreground shrink-0 mt-0.5\">{n.time}</span>\n {!n.read && <div className=\"w-2 h-2 rounded-full bg-primary shrink-0 mt-1.5\" />}\n </motion.div>\n ))}\n </div>\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. ProductCard Pro — Enhanced product card\n// ============================================\nexport function ProductCardPro({ name, price, originalPrice, badge, rating = 0, reviewCount = 0, className }: {\n name: string\n price: string\n originalPrice?: string\n badge?: string\n rating?: number\n reviewCount?: number\n className?: string\n}) {\n const [wishlisted, setWishlisted] = React.useState(false)\n\n return (\n <motion.div\n whileHover={{ y: -4 }}\n className={cn(\"rounded-2xl border border-border bg-card overflow-hidden group\", className)}\n >\n <div className=\"relative aspect-square bg-gradient-to-br from-slate-100 to-slate-200 dark:from-slate-800 dark:to-slate-900\">\n {badge && (\n <span className=\"absolute top-3 left-3 px-2 py-1 rounded-full bg-red-500 text-white text-xs font-semibold\">{badge}</span>\n )}\n <motion.button\n whileTap={{ scale: 0.8 }}\n onClick={() => setWishlisted(!wishlisted)}\n className=\"absolute top-3 right-3 w-8 h-8 rounded-full bg-background/80 backdrop-blur-sm flex items-center justify-center border border-border\"\n >\n <svg className={cn(\"w-4 h-4 transition-colors\", wishlisted ? \"text-red-500 fill-red-500\" : \"text-muted-foreground\")} fill={wishlisted ? \"currentColor\" : \"none\"} viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\" />\n </svg>\n </motion.button>\n <div className=\"absolute inset-0 flex items-center justify-center text-4xl opacity-30\">🛍</div>\n </div>\n <div className=\"p-4\">\n <h4 className=\"font-semibold text-sm mb-1 truncate\">{name}</h4>\n {rating > 0 && (\n <div className=\"flex items-center gap-1 mb-2\">\n <div className=\"flex\">\n {[...Array(5)].map((_, i) => (\n <svg key={i} className={cn(\"w-3.5 h-3.5\", i < rating ? \"text-amber-400\" : \"text-muted\")} fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path d=\"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z\"/>\n </svg>\n ))}\n </div>\n <span className=\"text-xs text-muted-foreground\">({reviewCount})</span>\n </div>\n )}\n <div className=\"flex items-center gap-2\">\n <span className=\"text-lg font-bold\">{price}</span>\n {originalPrice && <span className=\"text-sm text-muted-foreground line-through\">{originalPrice}</span>}\n </div>\n <motion.button\n whileTap={{ scale: 0.95 }}\n className=\"w-full mt-3 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-semibold hover:bg-primary/90 transition-colors\"\n >\n Add to Cart\n </motion.button>\n </div>\n </motion.div>\n )\n}\n\n// ============================================\n// 2. CartItem — Shopping cart item\n// ============================================\nexport function CartItem({ name, price, quantity = 1, onQuantityChange, onRemove, className }: {\n name: string\n price: string\n quantity?: number\n onQuantityChange?: (qty: number) => void\n onRemove?: () => void\n className?: string\n}) {\n return (\n <div className={cn(\"flex items-center gap-4 py-4 border-b border-border\", className)}>\n <div className=\"w-16 h-16 rounded-xl bg-gradient-to-br from-slate-100 to-slate-200 dark:from-slate-800 dark:to-slate-900 flex items-center justify-center text-2xl shrink-0\">\n 📦\n </div>\n <div className=\"flex-1 min-w-0\">\n <h4 className=\"font-medium text-sm truncate\">{name}</h4>\n <p className=\"text-sm font-bold mt-1\">{price}</p>\n </div>\n <div className=\"flex items-center gap-1 shrink-0\">\n <button onClick={() => onQuantityChange?.(Math.max(1, quantity - 1))} className=\"w-7 h-7 rounded-md bg-muted flex items-center justify-center text-sm hover:bg-accent transition-colors\">−</button>\n <span className=\"w-8 text-center text-sm font-medium\">{quantity}</span>\n <button onClick={() => onQuantityChange?.(quantity + 1)} className=\"w-7 h-7 rounded-md bg-muted flex items-center justify-center text-sm hover:bg-accent transition-colors\">+</button>\n </div>\n {onRemove && (\n <button onClick={onRemove} className=\"text-muted-foreground hover:text-red-500 transition-colors shrink-0\">\n <svg className=\"w-4 h-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\" /></svg>\n </button>\n )}\n </div>\n )\n}\n\n// ============================================\n// 3. CheckoutSummary — Order total summary\n// ============================================\nexport function CheckoutSummary({ subtotal, shipping = \"Free\", tax, total, className }: {\n subtotal: string\n shipping?: string\n tax?: string\n total: string\n className?: string\n}) {\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5\", className)}>\n <h4 className=\"font-semibold mb-4\">Order Summary</h4>\n <div className=\"space-y-2 text-sm\">\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Subtotal</span>\n <span>{subtotal}</span>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Shipping</span>\n <span className={shipping === \"Free\" ? \"text-emerald-500 font-medium\" : \"\"}>{shipping}</span>\n </div>\n {tax && (\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Tax</span>\n <span>{tax}</span>\n </div>\n )}\n <div className=\"flex justify-between pt-3 border-t border-border font-bold text-base\">\n <span>Total</span>\n <span>{total}</span>\n </div>\n </div>\n <motion.button\n whileTap={{ scale: 0.98 }}\n className=\"w-full mt-4 py-3 rounded-xl bg-primary text-primary-foreground font-semibold hover:bg-primary/90 transition-colors\"\n >\n Proceed to Checkout\n </motion.button>\n </div>\n )\n}\n\n// ============================================\n// 4. PricingSlider — Dynamic pricing slider\n// ============================================\nexport function PricingSlider({ tiers, className }: {\n tiers: { name: string; price: string; features: string[] }[]\n className?: string\n}) {\n const [selected, setSelected] = React.useState(0)\n const tier = tiers[selected]\n\n return (\n <div className={cn(\"rounded-2xl border border-border bg-card p-6\", className)}>\n <div className=\"text-center mb-6\">\n <p className=\"text-sm text-muted-foreground mb-1\">Select your plan</p>\n <p className=\"text-4xl font-bold\">{tier?.price}<span className=\"text-lg text-muted-foreground\">/mo</span></p>\n <p className=\"text-sm font-medium text-primary mt-1\">{tier?.name}</p>\n </div>\n <input\n type=\"range\"\n min={0}\n max={tiers.length - 1}\n value={selected}\n onChange={(e) => setSelected(Number(e.target.value))}\n className=\"w-full mb-6 accent-primary\"\n />\n <AnimatePresence mode=\"wait\">\n <motion.ul\n key={selected}\n initial={{ opacity: 0, y: 10 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -10 }}\n className=\"space-y-2\"\n >\n {tier?.features.map((f, i) => (\n <li key={i} className=\"flex items-center gap-2 text-sm\">\n <svg className=\"w-4 h-4 text-emerald-500 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></svg>\n <span className=\"text-muted-foreground\">{f}</span>\n </li>\n ))}\n </motion.ul>\n </AnimatePresence>\n </div>\n )\n}\n\n// ============================================\n// 5. InvoiceCard — Invoice summary card\n// ============================================\nexport function InvoiceCard({ invoiceNumber, date, status, amount, client, className }: {\n invoiceNumber: string\n date: string\n status: \"paid\" | \"pending\" | \"overdue\"\n amount: string\n client: string\n className?: string\n}) {\n const statusStyles = {\n paid: \"bg-emerald-500/10 text-emerald-500\",\n pending: \"bg-amber-500/10 text-amber-500\",\n overdue: \"bg-red-500/10 text-red-500\",\n }\n\n return (\n <div className={cn(\"rounded-xl border border-border bg-card p-5 hover:shadow-md transition-shadow\", className)}>\n <div className=\"flex items-start justify-between mb-3\">\n <div>\n <p className=\"font-mono text-sm font-semibold\">{invoiceNumber}</p>\n <p className=\"text-xs text-muted-foreground\">{date}</p>\n </div>\n <span className={cn(\"text-xs font-medium px-2.5 py-1 rounded-full capitalize\", statusStyles[status])}>{status}</span>\n </div>\n <div className=\"flex items-center justify-between pt-3 border-t border-border\">\n <span className=\"text-sm text-muted-foreground\">{client}</span>\n <span className=\"font-bold text-lg\">{amount}</span>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 6. CreditCard — Visual credit card\n// ============================================\nexport function CreditCardVisual({ holder = \"YOUR NAME\", number = \"•••• •••• •••• 4242\", expiry = \"12/28\", type = \"visa\", className }: {\n holder?: string\n number?: string\n expiry?: string\n type?: \"visa\" | \"mastercard\" | \"amex\"\n className?: string\n}) {\n const gradients = {\n visa: \"from-blue-600 to-blue-800\",\n mastercard: \"from-slate-700 to-slate-900\",\n amex: \"from-emerald-600 to-teal-800\",\n }\n\n return (\n <div className={cn(`relative w-full max-w-sm aspect-[1.6/1] rounded-2xl bg-gradient-to-br ${gradients[type]} p-6 text-white shadow-xl overflow-hidden`, className)}>\n <div className=\"absolute top-0 right-0 w-40 h-40 bg-white/5 rounded-full -translate-y-1/2 translate-x-1/2\" />\n <div className=\"absolute bottom-0 left-0 w-32 h-32 bg-white/5 rounded-full translate-y-1/2 -translate-x-1/2\" />\n <div className=\"relative z-10 h-full flex flex-col justify-between\">\n <div className=\"flex justify-between items-start\">\n <div className=\"w-10 h-7 rounded bg-gradient-to-br from-amber-300 to-amber-500\" />\n <span className=\"text-sm font-bold uppercase opacity-80\">{type}</span>\n </div>\n <p className=\"text-lg font-mono tracking-widest\">{number}</p>\n <div className=\"flex justify-between items-end\">\n <div>\n <p className=\"text-[10px] uppercase opacity-60\">Card Holder</p>\n <p className=\"text-sm font-medium uppercase tracking-wider\">{holder}</p>\n </div>\n <div>\n <p className=\"text-[10px] uppercase opacity-60\">Expires</p>\n <p className=\"text-sm font-mono\">{expiry}</p>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\n// ============================================\n// 7. CouponCard — Promo/coupon card\n// ============================================\nexport function CouponCard({ code, discount, description, validUntil, className }: {\n code: string\n discount: string\n description?: string\n validUntil?: string\n className?: string\n}) {\n const [copied, setCopied] = React.useState(false)\n\n return (\n <div className={cn(\"rounded-xl border-2 border-dashed border-primary/30 bg-primary/5 p-5 relative overflow-hidden\", className)}>\n <div className=\"absolute top-0 right-0 w-20 h-20 bg-primary/10 rounded-full -translate-y-1/2 translate-x-1/2\" />\n <div className=\"relative z-10\">\n <p className=\"text-3xl font-bold text-primary mb-1\">{discount}</p>\n {description && <p className=\"text-sm text-muted-foreground mb-3\">{description}</p>}\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-1 px-3 py-2 rounded-lg bg-background border border-border font-mono text-sm text-center tracking-widest font-bold\">\n {code}\n </div>\n <motion.button\n whileTap={{ scale: 0.9 }}\n onClick={() => { navigator.clipboard.writeText(code); setCopied(true); setTimeout(() => setCopied(false), 2000) }}\n className=\"px-4 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-medium shrink-0\"\n >\n {copied ? \"Copied!\" : \"Copy\"}\n </motion.button>\n </div>\n {validUntil && <p className=\"text-xs text-muted-foreground mt-2\">Valid until {validUntil}</p>}\n </div>\n </div>\n )\n}\n\n// ============================================\n// 8. SubscriptionCard — Subscription status\n// ============================================\nexport function SubscriptionCard({ plan, price, nextBilling, status = \"active\", features, className }: {\n plan: string\n price: string\n nextBilling?: string\n status?: \"active\" | \"cancelled\" | \"past_due\"\n features?: string[]\n className?: string\n}) {\n const statusStyles = {\n active: { bg: \"bg-emerald-500/10\", text: \"text-emerald-500\", label: \"Active\" },\n cancelled: { bg: \"bg-muted\", text: \"text-muted-foreground\", label: \"Cancelled\" },\n past_due: { bg: \"bg-red-500/10\", text: \"text-red-500\", label: \"Past Due\" },\n }\n const s = statusStyles[status]\n\n return (\n <div className={cn(\"rounded-2xl border border-border bg-card p-6\", className)}>\n <div className=\"flex items-start justify-between mb-4\">\n <div>\n <h4 className=\"font-bold text-lg\">{plan}</h4>\n <p className=\"text-2xl font-bold mt-1\">{price}<span className=\"text-sm text-muted-foreground font-normal\">/month</span></p>\n </div>\n <span className={cn(\"text-xs font-medium px-3 py-1 rounded-full\", s.bg, s.text)}>{s.label}</span>\n </div>\n {features && (\n <ul className=\"space-y-2 mb-4\">\n {features.map((f, i) => (\n <li key={i} className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <svg className=\"w-4 h-4 text-emerald-500 shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" /></svg>\n {f}\n </li>\n ))}\n </ul>\n )}\n {nextBilling && (\n <p className=\"text-xs text-muted-foreground pt-4 border-t border-border\">Next billing: {nextBilling}</p>\n )}\n </div>\n )\n}\n\n// ============================================\n// 9. ReviewStars — Star rating selector\n// ============================================\nexport function ReviewStars({ rating = 0, onChange, size = 24, readonly = false, className }: {\n rating?: number\n onChange?: (rating: number) => void\n size?: number\n readonly?: boolean\n className?: string\n}) {\n const [hovered, setHovered] = React.useState(0)\n\n return (\n <div className={cn(\"flex gap-1\", className)}>\n {[1, 2, 3, 4, 5].map((star) => (\n <motion.button\n key={star}\n whileTap={readonly ? {} : { scale: 0.8 }}\n onClick={() => !readonly && onChange?.(star)}\n onMouseEnter={() => !readonly && setHovered(star)}\n onMouseLeave={() => !readonly && setHovered(0)}\n className={cn(\"transition-colors\", readonly ? \"cursor-default\" : \"cursor-pointer\")}\n >\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill={(hovered || rating) >= star ? \"currentColor\" : \"none\"}\n stroke=\"currentColor\"\n strokeWidth={1.5}\n className={cn(\n \"transition-colors\",\n (hovered || rating) >= star ? \"text-amber-400\" : \"text-muted-foreground/30\"\n )}\n >\n <path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\" />\n </svg>\n </motion.button>\n ))}\n </div>\n )\n}\n\n// ============================================\n// 10. TrustBadge — Trust/security badge\n// ============================================\nexport function TrustBadge({ icon, title, subtitle, className }: {\n icon?: React.ReactNode\n title: string\n subtitle?: string\n className?: string\n}) {\n return (\n <div className={cn(\"flex items-center gap-3 rounded-lg border border-border bg-card px-4 py-3\", className)}>\n <div className=\"w-10 h-10 rounded-full bg-emerald-500/10 flex items-center justify-center text-emerald-500 shrink-0\">\n {icon || (\n <svg className=\"w-5 h-5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\"><path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\" /></svg>\n )}\n </div>\n <div>\n <p className=\"font-semibold text-sm\">{title}</p>\n {subtitle && <p className=\"text-xs text-muted-foreground\">{subtitle}</p>}\n </div>\n </div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { motion, useMotionValue, useTransform, useSpring, HTMLMotionProps, AnimatePresence } from \"framer-motion\"\nimport { cn } from \"../utils/cn\"\n\n// ============================================\n// 1. GlowSpotlightCard — Cursor-tracking glowing card\n// ============================================\nexport interface GlowSpotlightCardProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n glowColor?: string\n glowSize?: number\n}\n\nexport const GlowSpotlightCard = React.forwardRef<HTMLDivElement, GlowSpotlightCardProps>(\n ({ children, className, glowColor = \"rgba(139, 92, 246, 0.15)\", glowSize = 300, ...props }, ref) => {\n const mouseX = useMotionValue(0)\n const mouseY = useMotionValue(0)\n\n const handleMouseMove = React.useCallback(\n ({ clientX, clientY, currentTarget }: React.MouseEvent) => {\n const { left, top } = currentTarget.getBoundingClientRect()\n mouseX.set(clientX - left)\n mouseY.set(clientY - top)\n },\n [mouseX, mouseY]\n )\n\n return (\n <div\n ref={ref}\n onMouseMove={handleMouseMove}\n className={cn(\n \"relative overflow-hidden rounded-xl border border-border bg-card p-6 shadow-sm transition-shadow duration-300 hover:shadow-md\",\n className\n )}\n {...props}\n >\n <motion.div\n className=\"pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300 group-hover:opacity-100\"\n style={{\n background: `radial-gradient(${glowSize}px circle at var(--x, 0px) var(--y, 0px), ${glowColor}, transparent 80%)`,\n // Custom properties injected dynamically\n WebkitMaskImage: \"radial-gradient(circle, black, transparent)\",\n }}\n animate={{\n opacity: [0, 1],\n }}\n />\n {/* Fallback mouse tracker using CSS variables */}\n <div\n className=\"absolute inset-0 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-500\"\n style={\n {\n background: `radial-gradient(${glowSize}px circle at var(--mouse-x, 0px) var(--mouse-y, 0px), ${glowColor}, transparent 80%)`,\n \"--mouse-x\": mouseX.get() + \"px\",\n \"--mouse-y\": mouseY.get() + \"px\",\n } as React.CSSProperties\n }\n />\n <div className=\"relative z-10\">{children}</div>\n </div>\n )\n }\n)\nGlowSpotlightCard.displayName = \"GlowSpotlightCard\"\n\n// ============================================\n// 2. WordFadeReveal — Word-by-word fade with spring\n// ============================================\nexport interface WordFadeRevealProps extends React.HTMLAttributes<HTMLHeadingElement> {\n text: string\n delay?: number\n delayMultiple?: number\n duration?: number\n}\n\nexport function WordFadeReveal({\n text,\n className,\n delay = 0,\n delayMultiple = 0.05,\n duration = 0.5,\n ...props\n}: WordFadeRevealProps) {\n const words = text.split(\" \")\n\n return (\n <h3 className={cn(\"flex flex-wrap justify-center gap-x-1.5\", className)} {...props}>\n {words.map((word, i) => (\n <motion.span\n key={i}\n initial={{ opacity: 0, y: 15, filter: \"blur(4px)\" }}\n animate={{ opacity: 1, y: 0, filter: \"blur(0px)\" }}\n transition={{\n delay: delay + i * delayMultiple,\n duration,\n type: \"spring\",\n stiffness: 100,\n damping: 15,\n }}\n className=\"inline-block\"\n >\n {word}\n </motion.span>\n ))}\n </h3>\n )\n}\n\n// ============================================\n// 3. AnimatedGridBackground — Tech grid with flashing cells\n// ============================================\nexport interface AnimatedGridBackgroundProps extends React.SVGProps<SVGSVGElement> {\n width?: number\n height?: number\n strokeWidth?: number\n strokeColor?: string\n cellFlashColor?: string\n flashInterval?: number\n maxFlashes?: number\n className?: string\n}\n\nexport function AnimatedGridBackground({\n width = 40,\n height = 40,\n strokeWidth = 1,\n strokeColor = \"rgba(255, 255, 255, 0.05)\",\n cellFlashColor = \"rgba(139, 92, 246, 0.1)\",\n flashInterval = 1000,\n maxFlashes = 4,\n className,\n ...props\n}: AnimatedGridBackgroundProps) {\n const id = React.useId()\n const [flashingCells, setFlashingCells] = React.useState<{ x: number; y: number; id: number }[]>([])\n\n React.useEffect(() => {\n const timer = setInterval(() => {\n setFlashingCells((prev) => {\n // Randomly add new flash cells and limit maximum flashing cells\n const newFlash = {\n x: Math.floor(Math.random() * 20) * width,\n y: Math.floor(Math.random() * 20) * height,\n id: Math.random(),\n }\n const filtered = prev.filter((_, idx) => idx > prev.length - maxFlashes)\n return [...filtered, newFlash]\n })\n }, flashInterval)\n\n return () => clearInterval(timer)\n }, [width, height, flashInterval, maxFlashes])\n\n return (\n <svg\n className={cn(\"absolute inset-0 h-full w-full pointer-events-none select-none\", className)}\n {...props}\n >\n <defs>\n <pattern\n id={id}\n width={width}\n height={height}\n patternUnits=\"userSpaceOnUse\"\n x=\"-1\"\n y=\"-1\"\n >\n <path\n d={`M ${width} 0 L 0 0 0 ${height}`}\n fill=\"none\"\n stroke={strokeColor}\n strokeWidth={strokeWidth}\n />\n </pattern>\n </defs>\n <rect width=\"100%\" height=\"100%\" fill={`url(#${id})`} />\n <AnimatePresence>\n {flashingCells.map((cell) => (\n <motion.rect\n key={cell.id}\n initial={{ opacity: 0 }}\n animate={{ opacity: [0, 1, 0] }}\n exit={{ opacity: 0 }}\n transition={{ duration: 2, ease: \"easeInOut\" }}\n x={cell.x}\n y={cell.y}\n width={width - strokeWidth}\n height={height - strokeWidth}\n fill={cellFlashColor}\n />\n ))}\n </AnimatePresence>\n </svg>\n )\n}\n\n// ============================================\n// 4. BentoGrid — Premium Dashboard Layout\n// ============================================\nexport interface BentoGridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n className?: string\n}\n\nexport function BentoGrid({ children, className, ...props }: BentoGridProps) {\n return (\n <div\n className={cn(\n \"grid grid-cols-1 md:grid-cols-3 gap-4 auto-rows-[180px] w-full\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nexport interface BentoCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n description: string\n header?: React.ReactNode\n icon?: React.ReactNode\n children?: React.ReactNode\n span?: string // Tailwind grid span class: \"md:col-span-2 md:row-span-2\" etc\n delay?: number\n className?: string\n}\n\nexport function BentoCard({\n title,\n description,\n header,\n icon,\n children,\n span = \"md:col-span-1\",\n className,\n delay = 0,\n ...props\n}: BentoCardProps) {\n const { onDrag, onDragStart, onDragEnd, onAnimationStart, ...motionSafeProps } = props\n\n return (\n <motion.div\n initial={{ opacity: 0, y: 15 }}\n animate={{ opacity: 1, y: 0 }}\n transition={{ delay, duration: 0.4, type: \"spring\", stiffness: 100, damping: 15 }}\n className={cn(\n \"group relative flex flex-col justify-between overflow-hidden rounded-xl border border-border bg-card hover:bg-muted/10 p-6 transition-all duration-300 hover:shadow-lg hover:border-primary/20\",\n span,\n className\n )}\n {...(motionSafeProps as HTMLMotionProps<\"div\">)}\n >\n {/* Glow highlight */}\n <div className=\"pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300 group-hover:opacity-100 bg-gradient-to-tr from-primary/5 via-transparent to-transparent\" />\n\n {header && <div className=\"w-full overflow-hidden rounded-lg mb-4\">{header}</div>}\n\n <div className=\"flex flex-col gap-1.5 mt-auto\">\n <div className=\"flex items-center gap-2\">\n {icon && <div className=\"text-primary transition-transform duration-300 group-hover:scale-110\">{icon}</div>}\n <h3 className=\"font-semibold tracking-tight text-card-foreground text-sm md:text-base\">\n {title}\n </h3>\n </div>\n <p className=\"text-xs md:text-sm text-muted-foreground max-w-[220px]\">\n {description}\n </p>\n </div>\n\n {children && <div className=\"mt-4\">{children}</div>}\n </motion.div>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../utils/cn\"\nimport { Check, Copy } from \"lucide-react\"\n\n// ============================================\n// CopyButton — Button with copy-to-clipboard state\n// ============================================\nexport interface CopyButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** The value to copy to clipboard */\n value: string\n}\n\nexport function CopyButton({ value, className, ...props }: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false)\n\n const handleCopy = () => {\n navigator.clipboard.writeText(value)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }\n\n return (\n <button\n onClick={handleCopy}\n className={cn(\n \"inline-flex items-center justify-center rounded-md p-1.5 text-sm font-medium\",\n \"hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n \"transition-colors\",\n className\n )}\n {...props}\n >\n {copied ? (\n <Check className=\"h-4 w-4 text-emerald-500\" />\n ) : (\n <Copy className=\"h-4 w-4\" />\n )}\n </button>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["React","import_framer_motion","import_class_variance_authority","import_jsx_runtime","React","import_framer_motion","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","React","import_class_variance_authority","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","React","import_jsx_runtime","React","import_lucide_react","import_framer_motion","import_jsx_runtime","React","import_jsx_runtime","React","import_lucide_react","import_framer_motion","import_jsx_runtime","React","import_class_variance_authority","import_framer_motion","import_jsx_runtime","import_sonner","import_jsx_runtime","SonnerToaster","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_lucide_react","import_jsx_runtime","alertVariants","Icon","React","import_lucide_react","import_jsx_runtime","import_framer_motion","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","Icon","import_lucide_react","import_framer_motion","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_framer_motion","import_lucide_react","import_jsx_runtime","Icon","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_framer_motion","import_jsx_runtime","import_lucide_react","import_jsx_runtime","Icon","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","Icon","import_framer_motion","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","Icon","import_framer_motion","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_framer_motion","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","import_framer_motion","import_lucide_react","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","Icon","import_lucide_react","import_jsx_runtime","import_framer_motion","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","import_lucide_react","import_jsx_runtime","React","import_lucide_react","import_framer_motion","import_jsx_runtime","import_framer_motion","import_jsx_runtime","Icon","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_lucide_react","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_framer_motion","import_jsx_runtime","React","import_lucide_react","import_jsx_runtime"]}
|