markora-ui 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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/cn.ts","../src/components/ui/accordion.tsx","../src/components/ui/button.tsx","../src/components/ui/action-bar.tsx","../src/components/ui/alert.tsx","../src/hooks/use-mounted.ts","../src/components/ui/drawer.tsx","../src/hooks/use-focus-trap.ts","../src/components/ui/modal.tsx","../src/components/ui/dialog-aliases.tsx","../src/components/ui/aspect-ratio.tsx","../src/components/ui/avatar.tsx","../src/components/ui/badge.tsx","../src/components/ui/banner.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/button-group.tsx","../src/components/ui/calendar.tsx","../src/components/ui/callout.tsx","../src/components/ui/card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/chart.tsx","../src/components/ui/label.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/toast.tsx","../src/components/ui/clipboard.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/input.tsx","../src/components/ui/combobox.tsx","../src/components/ui/command.tsx","../src/components/ui/context-menu.tsx","../src/components/ui/table.tsx","../src/components/ui/data-table.tsx","../src/components/ui/popover.tsx","../src/components/ui/date-picker.tsx","../src/components/ui/direction.tsx","../src/components/ui/dropdown.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/empty-state.tsx","../src/components/ui/feature-card.tsx","../src/components/ui/field.tsx","../src/components/ui/hover-card.tsx","../src/components/ui/icon-button.tsx","../src/components/ui/input-group.tsx","../src/components/ui/input-otp.tsx","../src/components/ui/item.tsx","../src/components/ui/kbd.tsx","../src/components/ui/menubar.tsx","../src/components/ui/native-select.tsx","../src/components/ui/navigation-menu.tsx","../src/components/ui/pagination.tsx","../src/components/ui/pricing-card.tsx","../src/components/ui/progress.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/resizable.tsx","../src/components/ui/scroll-area.tsx","../src/components/ui/segmented-control.tsx","../src/components/ui/select.tsx","../src/components/ui/separator.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/slider.tsx","../src/components/ui/spinner.tsx","../src/components/ui/stat.tsx","../src/components/ui/stepper.tsx","../src/components/ui/switch.tsx","../src/components/ui/tabs.tsx","../src/components/ui/textarea.tsx","../src/components/ui/toggle.tsx","../src/components/ui/tooltip.tsx","../src/components/ui/typography.tsx","../src/components/theme-provider.tsx","../src/components/theme-toggle.tsx","../src/components/ui/animated-counter.tsx","../src/components/ui/avatar-group.tsx","../src/components/ui/border-beam.tsx","../src/components/ui/chip.tsx","../src/components/ui/code-block.tsx","../src/components/ui/divider.tsx","../src/components/ui/file-upload.tsx","../src/components/ui/gradient-text.tsx","../src/components/ui/marquee.tsx","../src/components/ui/meteors.tsx","../src/components/ui/number-input.tsx","../src/components/ui/progress-circle.tsx","../src/components/ui/rating.tsx","../src/components/ui/spotlight-card.tsx","../src/components/ui/timeline.tsx","../src/components/tree-view/TreeView.tsx","../src/components/dock/Dock.tsx","../src/components/orbiting-circles/OrbitingCircles.tsx","../src/components/ui/typewriter-effect.tsx","../src/components/ui/background-gradient.tsx","../src/components/ui/celestial-pulse.tsx","../src/components/ui/three-d-components.tsx","../src/components/ui/hover-border-gradient.tsx","../src/components/ui/auth-flip-card.tsx","../src/components/ui/animated-glow-button/animated-glow-button.tsx","../src/components/ui/fluid-effects/fluid-effects.tsx","../src/templates/marketing/MarketingNavbar.tsx","../src/templates/marketing/MarketingFooter.tsx","../src/templates/marketing/SaaSHero.tsx","../src/templates/marketing/AetherPulseHero.tsx","../src/templates/marketing/NeonAgencyGrid.tsx","../src/templates/marketing/DevNexusLanding.tsx","../src/templates/marketing/BlogMagazineLayout.tsx","../src/templates/marketing/FeatureBentoGrid.tsx","../src/templates/marketing/PremiumPricing.tsx","../src/templates/marketing/WallOfLove.tsx","../src/templates/TemplateMeshBackground.tsx","../src/templates/marketing/CosmicLaunchPage.tsx","../src/templates/marketing/VertexStudioShowcase.tsx","../src/templates/marketing/OrbitalCommerceSuite.tsx","../src/templates/marketing/LuminousWorkspace.tsx","../src/templates/marketing/NebulaDashboard.tsx","../src/templates/marketing/FullLandingPage.tsx","../src/templates/app/AppPageWrapper.tsx","../src/templates/app/AnalyticsDashboard.tsx","../src/templates/app/ManagementConsole.tsx","../src/templates/app/ProductSettings.tsx","../src/templates/app/KnowledgeBasePortal.tsx","../src/templates/app/AIChatInterface.tsx","../src/templates/auth/AuthPageWrapper.tsx","../src/templates/auth/PremiumAuthLogin.tsx","../src/templates/auth/InteractiveSignupStepper.tsx","../src/templates/auth/FlipAuthPortal.tsx","../src/templates/auth/UserProfileDashboard.tsx","../src/templates/creative/DarkPortfolioShowcase.tsx","../src/templates/product/ProductMerchandisingDetail.tsx","../src/templates/product/ReleaseTimelineChangelog.tsx","../src/templates/specialty/StatusErrorCanvas404.tsx","../src/templates/specialty/WaitlistCapturePage.tsx"],"names":["useState","useReducedMotion","useMemo","jsx","jsxs","motion","AnimatePresence","cva","Button","forwardRef","useEffect","useRef","useId","createPortal","Fragment","createContext","useCallback","toast","useContext","startTransition","useMotionValue","useTransform","useSpring","useAnimate","useInView","sizeClasses","React"],"mappings":"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","file":"index.js","sourcesContent":["export function cn(...classes: Array<string | false | null | undefined | Record<string, boolean>>) {\n const result: string[] = [];\n\n for (const item of classes) {\n if (!item) continue;\n\n if (typeof item === 'string') {\n result.push(item);\n } else if (typeof item === 'object') {\n for (const [key, value] of Object.entries(item)) {\n if (value) {\n result.push(key);\n }\n }\n }\n }\n\n return result.filter(Boolean).join(' ');\n}\n","import { useMemo, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface AccordionItemData {\n id: string;\n title: ReactNode;\n description?: ReactNode;\n content: ReactNode;\n badge?: ReactNode;\n}\n\nexport interface AccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue'> {\n items: AccordionItemData[];\n value?: string | string[] | null;\n defaultValue?: string | string[] | null;\n type?: 'single' | 'multiple';\n collapsible?: boolean;\n chevronPosition?: 'start' | 'end';\n variant?: 'surface' | 'outline' | 'card';\n size?: 'sm' | 'md' | 'lg';\n onValueChange?: (value: string | string[] | null) => void;\n}\n\nconst sizeStyles = {\n sm: 'px-4 py-3 text-sm',\n md: 'px-5 py-4 text-sm',\n lg: 'px-6 py-5 text-base',\n} as const;\n\nconst variantStyles = {\n surface: 'bg-background border border-border shadow-sm',\n outline: 'bg-background border border-border/80',\n card: 'bg-card border border-border shadow-soft',\n} as const;\n\nexport function Accordion({\n className,\n defaultValue = null,\n value,\n items,\n type = 'single',\n collapsible = false,\n chevronPosition = 'end',\n variant = 'card',\n size = 'md',\n onValueChange,\n ...props\n}: AccordionProps) {\n const isControlled = value !== undefined;\n const [internalValue, setInternalValue] = useState<string | string[] | null>(defaultValue);\n const openValue = isControlled ? value : internalValue;\n const shouldReduceMotion = useReducedMotion();\n\n const classes = cn('overflow-hidden rounded-[2rem] divide-y divide-border', variantStyles[variant], className);\n const controlSize = sizeStyles[size];\n\n const toggleItem = (id: string) => {\n const next = getNextValue(openValue, id, type, collapsible);\n if (!isControlled) {\n setInternalValue(next);\n }\n onValueChange?.(next);\n };\n\n const openItems = useMemo(\n () => (Array.isArray(openValue) ? openValue : openValue === null ? [] : [openValue]),\n [openValue],\n );\n\n return (\n <div className={classes} {...props}>\n {items.map((item) => {\n const open = openItems.includes(item.id);\n const triggerId = `${item.id}-trigger`;\n const contentId = `${item.id}-content`;\n\n return (\n <div key={item.id} className={cn('overflow-hidden', open ? 'shadow-none' : '')}>\n <button\n id={triggerId}\n type=\"button\"\n className={cn(\n 'flex w-full items-start justify-between gap-4 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n controlSize,\n open ? 'bg-muted/30' : 'hover:bg-muted/20',\n )}\n aria-expanded={open}\n aria-controls={contentId}\n onClick={() => toggleItem(item.id)}\n >\n {chevronPosition === 'start' && (\n <motion.span\n className=\"mt-1 inline-flex h-6 w-6 items-center justify-center rounded-full border border-border/70 bg-background text-sm text-muted-foreground\"\n animate={{ rotate: open ? 180 : 0 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16 }}\n aria-hidden=\"true\"\n >\n ▶\n </motion.span>\n )}\n\n <div className=\"flex-1 text-left\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <span className=\"font-semibold text-foreground\">{item.title}</span>\n {item.badge ? <span className=\"rounded-full bg-primary/10 px-2 py-0.5 text-[11px] font-semibold text-primary\">{item.badge}</span> : null}\n </div>\n {item.description ? <p className=\"mt-1 text-sm text-muted-foreground leading-6\">{item.description}</p> : null}\n </div>\n\n {chevronPosition === 'end' && (\n <motion.span\n className=\"mt-1 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-border/70 bg-background text-sm text-muted-foreground\"\n animate={{ rotate: open ? 180 : 0 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16 }}\n aria-hidden=\"true\"\n >\n ▶\n </motion.span>\n )}\n </button>\n\n <AnimatePresence initial={false}>\n {open ? (\n <motion.div\n key={contentId}\n initial={shouldReduceMotion ? false : { height: 0, opacity: 0 }}\n animate={{ height: 'auto', opacity: 1 }}\n exit={{ height: 0, opacity: 0 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.2, ease: 'easeOut' }}\n className=\"overflow-hidden\"\n >\n <div id={contentId} role=\"region\" aria-labelledby={triggerId} className=\"px-6 pb-6 text-sm leading-6 text-muted-foreground sm:px-7\">\n {item.content}\n </div>\n </motion.div>\n ) : null}\n </AnimatePresence>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction getNextValue(\n current: string | string[] | null,\n id: string,\n type: 'single' | 'multiple',\n collapsible: boolean,\n): string | string[] | null {\n if (type === 'multiple') {\n const currentArray = Array.isArray(current) ? current : current === null ? [] : [current];\n const isOpen = currentArray.includes(id);\n\n if (isOpen) {\n return collapsible ? currentArray.filter((item) => item !== id) : currentArray;\n }\n\n return [...currentArray, id];\n }\n\n if (current === id) {\n return collapsible ? null : id;\n }\n\n return id;\n}\n","import { forwardRef } from 'react';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { motion, useReducedMotion } from 'framer-motion';\nimport type { HTMLMotionProps } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport const buttonVariants = cva(\n 'relative inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 select-none',\n {\n variants: {\n variant: {\n primary: 'bg-primary text-primary-foreground shadow-soft hover:opacity-90 active:opacity-100',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n outline: 'border border-input bg-card text-foreground hover:bg-muted hover:border-ring/50',\n ghost: 'text-foreground hover:bg-muted hover:text-foreground',\n link: 'text-primary underline-offset-4 hover:underline p-0 h-auto',\n destructive: 'bg-destructive text-destructive-foreground shadow-soft hover:opacity-90',\n success: 'bg-success text-success-foreground shadow-soft hover:opacity-90',\n gradient:\n 'border-0 bg-gradient-to-br from-primary via-primary to-info text-white shadow-glow hover:shadow-glow hover:opacity-95',\n 'gradient-warm':\n 'border-0 bg-gradient-to-br from-orange-500 to-rose-500 text-white shadow-soft hover:opacity-95',\n subtle: 'bg-primary/10 text-primary hover:bg-primary/20',\n 'subtle-destructive': 'bg-destructive/10 text-destructive hover:bg-destructive/20',\n 'subtle-success': 'bg-success/10 text-success hover:bg-success/20',\n shimmer:\n 'overflow-hidden border-0 bg-[linear-gradient(110deg,hsl(var(--primary))_45%,hsl(var(--info))_55%,hsl(var(--primary))_65%)] bg-[length:200%_100%] text-white animate-shimmer hover:opacity-95 shadow-soft',\n },\n size: {\n xs: 'h-7 px-2.5 text-xs rounded-md gap-1.5',\n sm: 'h-9 px-3 text-sm',\n md: 'h-10 px-4 py-2 text-sm',\n lg: 'h-11 px-5 text-base',\n xl: 'h-13 px-7 text-base',\n icon: 'size-10 p-0 rounded-lg',\n 'icon-sm': 'size-8 p-0 rounded-md',\n 'icon-xs': 'size-6 p-0 rounded',\n },\n fullWidth: {\n true: 'w-full',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n fullWidth: false,\n },\n },\n);\n\ntype MotionButtonHTMLProps = Omit<HTMLMotionProps<'button'>, 'children' | 'className' | 'ref'>;\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\n children?: ReactNode;\n loading?: boolean;\n loadingText?: string;\n leftIcon?: ReactNode;\n rightIcon?: ReactNode;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n children,\n className,\n disabled,\n fullWidth,\n leftIcon,\n loading = false,\n loadingText = 'Loading',\n rightIcon,\n size,\n type = 'button',\n variant,\n ...props\n },\n ref,\n ) => {\n const isDisabled = disabled || loading;\n const shouldReduceMotion = useReducedMotion();\n\n return (\n <motion.button\n ref={ref}\n type={type}\n className={cn(buttonVariants({ variant, size, fullWidth }), className)}\n disabled={isDisabled}\n aria-busy={loading || undefined}\n aria-disabled={isDisabled || undefined}\n whileHover={isDisabled || shouldReduceMotion ? undefined : { y: -1, scale: 1.015 }}\n whileTap={isDisabled || shouldReduceMotion ? undefined : { scale: 0.975 }}\n transition={{ duration: 0.14, ease: [0.16, 1, 0.3, 1] }}\n {...(props as MotionButtonHTMLProps)}\n >\n {loading ? <LoadingSpinner className=\"text-current\" /> : leftIcon}\n {children !== undefined ? <span>{children}</span> : null}\n {!loading ? rightIcon : null}\n {loading ? <span className=\"sr-only\">{loadingText}</span> : null}\n </motion.button>\n );\n },\n);\n\nButton.displayName = 'Button';\n\ninterface LoadingSpinnerProps {\n className?: string;\n}\n\nfunction LoadingSpinner({ className }: LoadingSpinnerProps) {\n return (\n <svg className={cn('size-4 animate-spin', className)} viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\" />\n <path className=\"opacity-90\" fill=\"currentColor\" d=\"M22 12a10 10 0 0 0-10-10v4a6 6 0 0 1 6 6h4Z\" />\n </svg>\n );\n}\n","import type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\nimport type { HTMLMotionProps } from 'framer-motion';\n\nimport { Button } from './button';\nimport { cn } from '../../utils/cn';\n\nexport interface ActionBarAction {\n label: ReactNode;\n onClick?: () => void;\n variant?: 'primary' | 'secondary' | 'outline' | 'destructive';\n}\n\nexport interface ActionBarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n open?: boolean;\n title?: ReactNode;\n description?: ReactNode;\n actions: ActionBarAction[];\n}\n\ntype MotionActionBarProps = Omit<HTMLMotionProps<'div'>, 'children' | 'className' | 'ref'>;\n\nexport function ActionBar({ actions, className, description, open = true, title, ...props }: ActionBarProps) {\n const shouldReduceMotion = useReducedMotion();\n\n return (\n <AnimatePresence>\n {open ? (\n <motion.div\n initial={shouldReduceMotion ? false : { opacity: 0, y: 24 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 20 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.18, ease: 'easeOut' }}\n className={cn('fixed inset-x-0 bottom-4 z-50 flex justify-center px-4', className)}\n {...(props as MotionActionBarProps)}\n >\n <div className=\"ui-surface flex w-full max-w-3xl flex-col gap-4 p-4 sm:flex-row sm:items-center sm:justify-between\">\n <div className=\"space-y-1\">\n {title ? <p className=\"text-sm font-semibold text-foreground\">{title}</p> : null}\n {description ? <p className=\"text-sm text-muted-foreground\">{description}</p> : null}\n </div>\n <div className=\"flex flex-wrap gap-2\">\n {actions.map((action, index) => (\n <Button key={index} variant={action.variant ?? 'primary'} size=\"sm\" onClick={action.onClick}>\n {action.label}\n </Button>\n ))}\n </div>\n </div>\n </motion.div>\n ) : null}\n </AnimatePresence>\n );\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\r\nimport { cva, type VariantProps } from 'class-variance-authority';\r\n\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport const alertVariants = cva('rounded-2xl border p-4', {\r\n variants: {\r\n variant: {\r\n default: 'border-border bg-card text-card-foreground',\r\n destructive: 'border-destructive/40 bg-destructive/10 text-destructive',\r\n success: 'border-emerald-500/40 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n});\r\n\r\nexport interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'>, VariantProps<typeof alertVariants> {\r\n title?: ReactNode;\r\n description?: ReactNode;\r\n}\r\n\r\nexport function Alert({ className, description, title, variant, ...props }: AlertProps) {\r\n return (\r\n <div role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props}>\r\n <div className=\"space-y-1\">\r\n {title ? <div className=\"text-sm font-semibold\">{title}</div> : null}\r\n {description ? <div className=\"text-sm leading-6 opacity-90\">{description}</div> : null}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from 'react';\n\nexport function useMounted() {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n return mounted;\n}\n","import { useEffect, useId, useRef } from 'react';\nimport type { PropsWithChildren, ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { useMounted } from '../../hooks/use-mounted';\nimport { cn } from '../../utils/cn';\n\nexport interface DrawerProps extends PropsWithChildren {\n open: boolean;\n onClose: () => void;\n title: ReactNode;\n description?: ReactNode;\n side?: 'left' | 'right';\n}\n\nexport function Drawer({ children, description, onClose, open, side = 'right', title }: DrawerProps) {\n const mounted = useMounted();\n const drawerRef = useRef<HTMLDivElement>(null);\n const titleId = useId();\n const descriptionId = useId();\n const shouldReduceMotion = useReducedMotion();\n\n useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n const originalOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n onClose();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n return () => {\n document.body.style.overflow = originalOverflow;\n document.removeEventListener('keydown', handleEscape);\n };\n }, [onClose, open]);\n\n if (!mounted) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50 flex\">\n <motion.div\n className=\"absolute inset-0 bg-slate-950/45 backdrop-blur-[2px]\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.18 }}\n onClick={onClose}\n />\n <motion.div\n ref={drawerRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n className={cn(\n 'relative ml-auto flex h-full w-full max-w-md flex-col border-l border-border bg-card p-6 text-card-foreground shadow-soft',\n side === 'left' && 'mr-auto ml-0 border-r border-l-0',\n )}\n initial={shouldReduceMotion ? false : { x: side === 'right' ? '100%' : '-100%' }}\n animate={{ x: 0 }}\n exit={shouldReduceMotion ? { opacity: 0 } : { x: side === 'right' ? '100%' : '-100%' }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.22, ease: 'easeOut' }}\n >\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"space-y-2\">\n <h2 id={titleId} className=\"text-xl font-semibold tracking-tight\">{title}</h2>\n {description ? <p id={descriptionId} className=\"text-sm text-muted-foreground\">{description}</p> : null}\n </div>\n <button\n type=\"button\"\n onClick={onClose}\n className=\"inline-flex size-10 items-center justify-center rounded-full text-muted-foreground transition hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\n aria-label=\"Close drawer\"\n >\n �\n </button>\n </div>\n <div className=\"mt-6 flex-1 overflow-y-auto\">{children}</div>\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>,\n document.body,\n );\n}\r\n","import { useEffect } from 'react';\nimport type { RefObject } from 'react';\n\nconst FOCUSABLE_SELECTORS = [\n 'a[href]',\n 'area[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\n\nfunction getFocusableElements(container: HTMLElement) {\n return Array.from(container.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTORS)).filter(\n (element) => !element.hasAttribute('disabled') && !element.getAttribute('aria-hidden'),\n );\n}\n\nexport function useFocusTrap(containerRef: RefObject<HTMLElement | null>, enabled: boolean) {\n useEffect(() => {\n if (!enabled || !containerRef.current) {\n return undefined;\n }\n\n const container = containerRef.current;\n const previouslyFocused =\n document.activeElement instanceof HTMLElement ? document.activeElement : null;\n\n const focusable = getFocusableElements(container);\n const firstTarget = focusable[0] ?? container;\n firstTarget.focus();\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Tab') {\n return;\n }\n\n const elements = getFocusableElements(container);\n if (elements.length === 0) {\n event.preventDefault();\n container.focus();\n return;\n }\n\n const first = elements[0];\n const last = elements[elements.length - 1];\n const active = document.activeElement;\n\n if (event.shiftKey && active === first) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && active === last) {\n event.preventDefault();\n first.focus();\n }\n };\n\n container.addEventListener('keydown', handleKeyDown);\n\n return () => {\n container.removeEventListener('keydown', handleKeyDown);\n previouslyFocused?.focus();\n };\n }, [containerRef, enabled]);\n}\r\n","import { useEffect, useId, useRef } from 'react';\nimport type { PropsWithChildren, ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { useFocusTrap } from '../../hooks/use-focus-trap';\nimport { useMounted } from '../../hooks/use-mounted';\n\nconst overlayTransition = {\n duration: 0.2,\n ease: [0.16, 1, 0.3, 1],\n} as const;\n\nconst panelTransition = {\n duration: 0.24,\n ease: [0.16, 1, 0.3, 1],\n} as const;\n\nexport interface ModalProps extends PropsWithChildren {\n open: boolean;\n onClose: () => void;\n title: ReactNode;\n description?: ReactNode;\n footer?: ReactNode;\n closeOnOverlayClick?: boolean;\n closeLabel?: string;\n}\n\nexport function Modal({\n children,\n closeLabel = 'Close dialog',\n closeOnOverlayClick = true,\n description,\n footer,\n onClose,\n open,\n title,\n}: ModalProps) {\n const mounted = useMounted();\n const dialogRef = useRef<HTMLDivElement>(null);\n const titleId = useId();\n const descriptionId = useId();\n const shouldReduceMotion = useReducedMotion();\n\n useFocusTrap(dialogRef, mounted && open);\n\n useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n const originalOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault();\n onClose();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.removeEventListener('keydown', handleEscape);\n };\n }, [onClose, open]);\n\n if (!mounted) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6\">\n <motion.div\n aria-hidden=\"true\"\n className=\"absolute inset-0 bg-slate-950/45 backdrop-blur-[2px]\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={overlayTransition}\n onMouseDown={closeOnOverlayClick ? onClose : undefined}\n />\n\n <motion.div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n tabIndex={-1}\n className=\"relative z-10 w-full max-w-lg rounded-3xl border border-border bg-white p-6 shadow-soft outline-none dark:bg-slate-950\"\n initial={shouldReduceMotion ? false : { opacity: 0, scale: 0.96, y: 12 }}\n animate={{ opacity: 1, scale: 1, y: 0 }}\n exit={shouldReduceMotion ? { opacity: 0 } : { opacity: 0, scale: 0.98, y: 8 }}\n transition={panelTransition}\n >\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"space-y-2\">\n <h2 id={titleId} className=\"text-xl font-semibold tracking-tight\">\n {title}\n </h2>\n {description ? (\n <p id={descriptionId} className=\"text-sm leading-6 text-muted-foreground\">\n {description}\n </p>\n ) : null}\n </div>\n\n <button\n type=\"button\"\n onClick={onClose}\n className=\"inline-flex size-10 items-center justify-center rounded-full text-slate-500 transition hover:bg-slate-100 hover:text-slate-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 dark:hover:bg-slate-900 dark:hover:text-white\"\n aria-label={closeLabel}\n >\n <span aria-hidden=\"true\" className=\"text-xl leading-none\">\n �\n </span>\n </button>\n </div>\n\n <div className=\"mt-6\">{children}</div>\n\n {footer ? <div className=\"mt-6 flex flex-wrap justify-end gap-3\">{footer}</div> : null}\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>,\n document.body,\n );\n}\r\n","import type { ReactNode } from 'react';\n\nimport { Button } from './button';\nimport { Drawer, type DrawerProps } from './drawer';\nimport { Modal, type ModalProps } from './modal';\n\nexport interface DialogProps extends ModalProps {}\n\nexport function Dialog(props: DialogProps) {\n return <Modal {...props} />;\n}\n\nexport interface AlertDialogProps extends Omit<ModalProps, 'footer'> {\n cancelLabel?: ReactNode;\n actionLabel?: ReactNode;\n onAction?: () => void;\n actionVariant?: 'primary' | 'secondary' | 'destructive';\n closeOnAction?: boolean;\n}\n\nexport function AlertDialog({\n actionLabel = 'Continue',\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n closeOnAction = true,\n onAction,\n onClose,\n ...props\n}: AlertDialogProps) {\n return (\n <Modal\n {...props}\n onClose={onClose}\n footer={\n <>\n <Button variant=\"outline\" onClick={onClose}>\n {cancelLabel}\n </Button>\n <Button\n variant={actionVariant}\n onClick={() => {\n onAction?.();\n if (closeOnAction) {\n onClose();\n }\n }}\n >\n {actionLabel}\n </Button>\n </>\n }\n />\n );\n}\n\nexport interface SheetProps extends DrawerProps {}\n\nexport function Sheet(props: SheetProps) {\n return <Drawer {...props} />;\n}\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {\n ratio?: number;\n}\n\nexport function AspectRatio({ children, className, ratio = 16 / 9, ...props }: AspectRatioProps) {\n return (\n <div className={cn('relative w-full overflow-hidden', className)} style={{ paddingBottom: `${100 / ratio}%` }} {...props}>\n <div className=\"absolute inset-0\">{children}</div>\n </div>\n );\n}\r\n","import type { HTMLAttributes, ImgHTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface AvatarProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport function Avatar({ className, ...props }: AvatarProps) {\n return <div className={cn('relative inline-flex size-10 shrink-0 overflow-hidden rounded-full bg-muted', className)} {...props} />;\n}\n\nexport interface AvatarImageProps extends ImgHTMLAttributes<HTMLImageElement> {}\n\nexport function AvatarImage({ className, alt = '', ...props }: AvatarImageProps) {\n return <img alt={alt} className={cn('size-full object-cover', className)} {...props} />;\n}\n\nexport interface AvatarFallbackProps extends HTMLAttributes<HTMLSpanElement> {}\n\nexport function AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n return <span className={cn('flex size-full items-center justify-center bg-accent text-xs font-semibold text-accent-foreground', className)} {...props} />;\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils/cn';\n\nexport const badgeVariants = cva(\n 'inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground',\n secondary: 'border-transparent bg-slate-900 text-white dark:bg-slate-100 dark:text-slate-900',\n outline: 'border-border bg-transparent text-foreground',\n destructive: 'border-transparent bg-destructive text-destructive-foreground',\n success: 'border-transparent bg-success text-success-foreground',\n warning: 'border-transparent bg-warning text-warning-foreground',\n info: 'border-transparent bg-info text-info-foreground',\n /* Soft pastel tones */\n 'soft-primary': 'border-primary/20 bg-primary/10 text-primary',\n 'soft-success': 'border-success/20 bg-success/10 text-success',\n 'soft-warning': 'border-warning/20 bg-warning/10 text-warning',\n 'soft-destructive': 'border-destructive/20 bg-destructive/10 text-destructive',\n 'soft-info': 'border-info/20 bg-info/10 text-info',\n /* Gradient */\n gradient:\n 'border-0 bg-gradient-to-r from-primary to-info text-white',\n },\n dot: {\n true: '',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n dot: false,\n },\n },\n);\n\nexport interface BadgeProps\n extends HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof badgeVariants> {\n dot?: boolean;\n dotColor?: string;\n icon?: ReactNode;\n}\n\nexport function Badge({ className, variant, dot, dotColor, icon, children, ...props }: BadgeProps) {\n return (\n <span className={cn(badgeVariants({ variant, dot }), className)} {...props}>\n {dot && (\n <span\n className={cn('inline-block size-1.5 shrink-0 rounded-full', dotColor ?? 'bg-current')}\n aria-hidden=\"true\"\n />\n )}\n {icon && <span className=\"shrink-0 [&_svg]:size-3\" aria-hidden=\"true\">{icon}</span>}\n {children}\n </span>\n );\n}\n\n","import type { HTMLAttributes, ReactNode } from 'react';\r\n\r\nimport { Button } from './button';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface BannerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\r\n title: ReactNode;\r\n description?: ReactNode;\r\n actionLabel?: ReactNode;\r\n onAction?: () => void;\r\n}\r\n\r\nexport function Banner({ actionLabel, className, description, onAction, title, ...props }: BannerProps) {\r\n return (\r\n <div className={cn('rounded-[1.75rem] border border-border bg-card px-5 py-4 shadow-soft', className)} {...props}>\r\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\r\n <div className=\"space-y-1\">\r\n <p className=\"text-sm font-semibold text-foreground\">{title}</p>\r\n {description ? <p className=\"text-sm text-muted-foreground\">{description}</p> : null}\r\n </div>\r\n {actionLabel ? (\r\n <Button size=\"sm\" onClick={onAction}>\r\n {actionLabel}\r\n </Button>\r\n ) : null}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface BreadcrumbItem {\n label: ReactNode;\n href?: string;\n current?: boolean;\n}\n\nexport interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {\n items: BreadcrumbItem[];\n}\n\nexport function Breadcrumb({ className, items, ...props }: BreadcrumbProps) {\n return (\n <nav aria-label=\"Breadcrumb\" className={cn('w-full', className)} {...props}>\n <ol className=\"flex flex-wrap items-center gap-2 text-sm text-muted-foreground\">\n {items.map((item, index) => (\n <li key={`${index}-${String(item.label)}`} className=\"flex items-center gap-2\">\n {item.href && !item.current ? (\n <a href={item.href} className=\"transition hover:text-foreground\">\n {item.label}\n </a>\n ) : (\n <span aria-current={item.current ? 'page' : undefined} className={cn(item.current && 'font-medium text-foreground')}>\n {item.label}\n </span>\n )}\n {index < items.length - 1 ? <span aria-hidden=\"true\">/</span> : null}\n </li>\n ))}\n </ol>\n </nav>\n );\n}\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport function ButtonGroup({ className, ...props }: ButtonGroupProps) {\n return <div className={cn('inline-flex items-center gap-2', className)} role=\"group\" {...props} />;\n}\r\n","import { useMemo, useState } from 'react';\r\nimport type { HTMLAttributes } from 'react';\r\n\r\nimport { Button } from './button';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue'> {\r\n value?: Date;\r\n defaultValue?: Date;\r\n onValueChange?: (date: Date) => void;\r\n}\r\n\r\nexport function Calendar({ className, defaultValue, onValueChange, value, ...props }: CalendarProps) {\r\n const initialDate = value ?? defaultValue ?? new Date();\r\n const [viewDate, setViewDate] = useState(new Date(initialDate.getFullYear(), initialDate.getMonth(), 1));\r\n const [internalValue, setInternalValue] = useState<Date | undefined>(defaultValue);\r\n const selectedDate = value ?? internalValue;\r\n\r\n const days = useMemo(() => buildCalendarDays(viewDate), [viewDate]);\r\n const monthLabel = viewDate.toLocaleDateString(undefined, { month: 'long', year: 'numeric' });\r\n\r\n const handleSelect = (date: Date) => {\r\n if (value === undefined) {\r\n setInternalValue(date);\r\n }\r\n onValueChange?.(date);\r\n };\r\n\r\n return (\r\n <div className={cn('ui-surface w-full max-w-sm p-4', className)} {...props}>\r\n <div className=\"mb-4 flex items-center justify-between\">\r\n <Button variant=\"outline\" size=\"sm\" onClick={() => setViewDate(new Date(viewDate.getFullYear(), viewDate.getMonth() - 1, 1))}>\r\n Prev\r\n </Button>\r\n <div className=\"text-sm font-semibold\">{monthLabel}</div>\r\n <Button variant=\"outline\" size=\"sm\" onClick={() => setViewDate(new Date(viewDate.getFullYear(), viewDate.getMonth() + 1, 1))}>\r\n Next\r\n </Button>\r\n </div>\r\n <div className=\"grid grid-cols-7 gap-1 text-center text-xs font-medium text-muted-foreground\">\r\n {['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'].map((day) => (\r\n <div key={day} className=\"py-2\">{day}</div>\r\n ))}\r\n </div>\r\n <div className=\"grid grid-cols-7 gap-1\">\r\n {days.map((day) => {\r\n const isSelected = selectedDate ? isSameDay(day.date, selectedDate) : false;\r\n const isCurrentMonth = day.date.getMonth() === viewDate.getMonth();\r\n const isToday = isSameDay(day.date, new Date());\r\n return (\r\n <button\r\n key={day.date.toISOString()}\r\n type=\"button\"\r\n className={cn(\r\n 'flex h-10 items-center justify-center rounded-xl text-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\r\n isSelected && 'bg-primary text-primary-foreground',\r\n !isSelected && isToday && 'bg-accent text-accent-foreground',\r\n !isCurrentMonth && 'text-muted-foreground opacity-60',\r\n !isSelected && isCurrentMonth && 'hover:bg-muted',\r\n )}\r\n onClick={() => handleSelect(day.date)}\r\n >\r\n {day.date.getDate()}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction buildCalendarDays(viewDate: Date) {\r\n const start = new Date(viewDate.getFullYear(), viewDate.getMonth(), 1);\r\n const end = new Date(viewDate.getFullYear(), viewDate.getMonth() + 1, 0);\r\n const startOffset = start.getDay();\r\n const totalDays = end.getDate();\r\n const days = [] as Array<{ date: Date }>;\r\n\r\n for (let index = 0; index < startOffset; index += 1) {\r\n days.push({ date: new Date(viewDate.getFullYear(), viewDate.getMonth(), index - startOffset + 1) });\r\n }\r\n\r\n for (let date = 1; date <= totalDays; date += 1) {\r\n days.push({ date: new Date(viewDate.getFullYear(), viewDate.getMonth(), date) });\r\n }\r\n\r\n while (days.length % 7 !== 0) {\r\n const nextDate = days.length - (startOffset + totalDays) + 1;\r\n days.push({ date: new Date(viewDate.getFullYear(), viewDate.getMonth() + 1, nextDate) });\r\n }\r\n\r\n return days;\r\n}\r\n\r\nfunction isSameDay(first: Date, second: Date) {\r\n return first.getFullYear() === second.getFullYear() && first.getMonth() === second.getMonth() && first.getDate() === second.getDate();\r\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\r\nimport { cva, type VariantProps } from 'class-variance-authority';\r\n\r\nimport { cn } from '../../utils/cn';\r\n\r\nconst calloutVariants = cva('rounded-3xl border px-5 py-4', {\r\n variants: {\r\n variant: {\r\n info: 'border-primary/20 bg-primary/5 text-foreground',\r\n success: 'border-emerald-500/30 bg-emerald-500/10 text-foreground',\r\n warning: 'border-amber-500/30 bg-amber-500/10 text-foreground',\r\n destructive: 'border-destructive/30 bg-destructive/10 text-foreground',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'info',\r\n },\r\n});\r\n\r\nexport interface CalloutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'>, VariantProps<typeof calloutVariants> {\r\n title?: ReactNode;\r\n icon?: ReactNode;\r\n}\r\n\r\nexport function Callout({ children, className, icon, title, variant, ...props }: CalloutProps) {\r\n return (\r\n <div className={cn(calloutVariants({ variant }), className)} {...props}>\r\n <div className=\"flex items-start gap-3\">\r\n {icon ? <div className=\"mt-0.5 shrink-0\">{icon}</div> : null}\r\n <div className=\"space-y-1.5\">\r\n {title ? <p className=\"text-sm font-semibold text-foreground\">{title}</p> : null}\r\n {children ? <div className=\"text-sm leading-6 text-muted-foreground\">{children}</div> : null}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import type { HTMLAttributes } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { motion, useReducedMotion } from 'framer-motion';\nimport type { HTMLMotionProps } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport const cardVariants = cva('transition-colors', {\n variants: {\n variant: {\n default: 'ui-surface',\n glass:\n 'rounded-3xl border border-white/20 bg-white/10 backdrop-blur-xl text-card-foreground shadow-soft dark:border-white/10 dark:bg-white/5',\n glow: 'ui-surface shadow-glow border-primary/20',\n gradient:\n 'rounded-3xl border-0 bg-gradient-to-br from-primary/10 via-card to-info/10 text-card-foreground shadow-soft',\n featured:\n 'rounded-3xl border-2 border-primary bg-card text-card-foreground shadow-glow',\n flat: 'rounded-3xl bg-muted/50 text-card-foreground',\n outlined: 'rounded-3xl border-2 border-border bg-transparent text-card-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {\n interactive?: boolean;\n}\n\ntype MotionCardProps = Omit<HTMLMotionProps<'div'>, 'children' | 'className' | 'ref'>;\n\nexport function Card({ className, interactive = false, variant, ...props }: CardProps) {\n const shouldReduceMotion = useReducedMotion();\n\n return (\n <motion.div\n className={cn(cardVariants({ variant }), 'p-6', className)}\n whileHover={interactive && !shouldReduceMotion ? { y: -4, scale: 1.005 } : undefined}\n transition={{ duration: 0.18, ease: [0.16, 1, 0.3, 1] }}\n {...(props as MotionCardProps)}\n />\n );\n}\n\nexport function CardHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('space-y-1.5', className)} {...props} />;\n}\n\nexport function CardTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>) {\n return <h3 className={cn('text-lg font-semibold tracking-tight', className)} {...props} />;\n}\n\nexport function CardDescription({ className, ...props }: HTMLAttributes<HTMLParagraphElement>) {\n return <p className={cn('text-sm text-muted-foreground leading-relaxed', className)} {...props} />;\n}\n\nexport function CardContent({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('mt-6', className)} {...props} />;\n}\n\nexport function CardFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('mt-6 flex items-center gap-3', className)} {...props} />;\n}\n\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Button } from './button';\nimport { cn } from '../../utils/cn';\n\nexport interface CarouselProps extends HTMLAttributes<HTMLDivElement> {\n items: ReactNode[];\n initialIndex?: number;\n showIndicators?: boolean;\n ariaLabel?: string;\n}\n\nexport function Carousel({ ariaLabel = 'Carousel', className, initialIndex = 0, items, showIndicators = true, ...props }: CarouselProps) {\n const trackRef = useRef<HTMLDivElement>(null);\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const canGoPrev = activeIndex > 0;\n const canGoNext = activeIndex < items.length - 1;\n\n const scrollToIndex = (index: number) => {\n const track = trackRef.current;\n if (!track) return;\n const clamped = Math.max(0, Math.min(items.length - 1, index));\n const target = track.children.item(clamped) as HTMLElement | null;\n target?.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\n setActiveIndex(clamped);\n };\n\n useEffect(() => {\n const track = trackRef.current;\n if (!track) return undefined;\n\n const handleScroll = () => {\n const children = Array.from(track.children) as HTMLElement[];\n const nextIndex = children.reduce(\n (closestIndex, child, index, array) => {\n const closestDistance = Math.abs(array[closestIndex].offsetLeft - track.scrollLeft);\n const currentDistance = Math.abs(child.offsetLeft - track.scrollLeft);\n return currentDistance < closestDistance ? index : closestIndex;\n },\n 0,\n );\n setActiveIndex(nextIndex);\n };\n\n handleScroll();\n track.addEventListener('scroll', handleScroll, { passive: true });\n return () => track.removeEventListener('scroll', handleScroll);\n }, [items.length]);\n\n const slides = useMemo(\n () =>\n items.map((item, index) => (\n <div\n key={index}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-label={`${index + 1} of ${items.length}`}\n className=\"ui-surface min-w-[280px] snap-start p-5\"\n >\n {item}\n </div>\n )),\n [items],\n );\n\n return (\n <section className={cn('space-y-4', className)} aria-label={ariaLabel} {...props}>\n <div className=\"flex items-center justify-between gap-3\">\n <p className=\"text-sm text-muted-foreground\">Slide {activeIndex + 1} of {items.length}</p>\n <div className=\"flex items-center gap-2\">\n <Button size=\"sm\" variant=\"outline\" onClick={() => scrollToIndex(activeIndex - 1)} disabled={!canGoPrev}>\n Prev\n </Button>\n <Button size=\"sm\" variant=\"outline\" onClick={() => scrollToIndex(activeIndex + 1)} disabled={!canGoNext}>\n Next\n </Button>\n </div>\n </div>\n <div\n ref={trackRef}\n className=\"flex snap-x snap-mandatory gap-4 overflow-x-auto pb-2 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n tabIndex={0}\n onKeyDown={(event) => {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollToIndex(activeIndex + 1);\n }\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollToIndex(activeIndex - 1);\n }\n }}\n >\n {slides}\n </div>\n {showIndicators ? (\n <div className=\"flex items-center justify-center gap-2\">\n {items.map((_, index) => (\n <button\n key={index}\n type=\"button\"\n aria-label={`Go to slide ${index + 1}`}\n aria-current={activeIndex === index}\n className={cn('h-2.5 rounded-full transition-all', activeIndex === index ? 'w-6 bg-primary' : 'w-2.5 bg-border')}\n onClick={() => scrollToIndex(index)}\n />\n ))}\n </div>\n ) : null}\n </section>\n );\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\r\n\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface ChartDatum {\r\n label: string;\r\n value: number;\r\n color?: string;\r\n}\r\n\r\nexport interface ChartProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\r\n data: ChartDatum[];\r\n maxValue?: number;\r\n title?: ReactNode;\r\n description?: ReactNode;\r\n showLegend?: boolean;\r\n chartType?: 'bar' | 'pie' | 'donut' | 'line' | 'area' | 'radar' | 'radial' | 'tooltip';\r\n size?: number;\r\n}\r\n\r\nconst defaultPalette = ['#38bdf8', '#60a5fa', '#a78bfa', '#f472b6', '#fb7185', '#fbbf24'];\r\n\r\nexport function Chart({\r\n className,\r\n data,\r\n description,\r\n maxValue,\r\n showLegend = true,\r\n title,\r\n chartType = 'bar',\r\n size = 240,\r\n ...props\r\n}: ChartProps) {\r\n const ceiling = maxValue ?? Math.max(...data.map((item) => item.value), 1);\r\n const total = data.reduce((sum, item) => sum + item.value, 0) || 1;\r\n\r\n const normalizedData = data.map((item, index) => ({\r\n ...item,\r\n color: item.color ?? defaultPalette[index % defaultPalette.length],\r\n }));\r\n\r\n const segmentStops = normalizedData.reduce(\r\n (acc, item) => {\r\n const percent = (item.value / total) * 100;\r\n const start = acc.current;\r\n const end = start + percent;\r\n acc.parts.push(`${item.color} ${start}% ${end}%`);\r\n acc.current = end;\r\n return acc;\r\n },\r\n { parts: [] as string[], current: 0 }\r\n );\r\n\r\n const gradient = `conic-gradient(${segmentStops.parts.join(', ')})`;\r\n\r\n const plotWidth = size;\r\n const plotHeight = 180;\r\n const chartPoints = normalizedData.map((item, index) => {\r\n const x = normalizedData.length === 1 ? plotWidth / 2 : 20 + (index / Math.max(normalizedData.length - 1, 1)) * (plotWidth - 40);\r\n const y = plotHeight - 20 - (item.value / ceiling) * (plotHeight - 40);\r\n return { ...item, x, y };\r\n });\r\n\r\n const linePath = chartPoints.map((point, index) => `${index === 0 ? 'M' : 'L'} ${point.x} ${point.y}`).join(' ');\r\n const areaPath = `${linePath} L ${chartPoints[chartPoints.length - 1].x} ${plotHeight - 20} L ${chartPoints[0].x} ${plotHeight - 20} Z`;\r\n\r\n const radarRadius = size * 0.35;\r\n const radarCenter = { x: size / 2, y: size / 2 };\r\n const radarPoints = normalizedData.map((item, index) => {\r\n const angle = -Math.PI / 2 + (index / normalizedData.length) * Math.PI * 2;\r\n const radius = ((item.value / ceiling) * radarRadius) || 8;\r\n return {\r\n ...item,\r\n x: radarCenter.x + Math.cos(angle) * radius,\r\n y: radarCenter.y + Math.sin(angle) * radius,\r\n labelX: radarCenter.x + Math.cos(angle) * (radarRadius + 18),\r\n labelY: radarCenter.y + Math.sin(angle) * (radarRadius + 18),\r\n };\r\n });\r\n\r\n const radarPolygon = radarPoints.map((point) => `${point.x},${point.y}`).join(' ');\r\n\r\n const renderLineAreaChart = () => (\r\n <div className=\"overflow-hidden rounded-3xl border border-border/10 bg-muted/5 p-3\">\r\n <svg className=\"w-full\" viewBox={`0 0 ${plotWidth} ${plotHeight}`} aria-hidden=\"true\">\r\n {chartType !== 'line' ? (\r\n <path d={areaPath} fill=\"rgba(59,130,246,0.14)\" />\r\n ) : null}\r\n <path d={linePath} fill=\"none\" stroke=\"#0ea5e9\" strokeWidth=\"3\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n {chartPoints.map((point) => (\r\n <circle key={point.label} cx={point.x} cy={point.y} r=\"4\" fill={point.color} stroke=\"#fff\" strokeWidth=\"2\" />\r\n ))}\r\n </svg>\r\n <div className=\"mt-3 grid gap-2 text-xs text-muted-foreground\">\r\n {chartPoints.map((point) => (\r\n <div key={point.label} className=\"flex items-center justify-between\">\r\n <span>{point.label}</span>\r\n <span>{point.value}</span>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n\r\n const renderRadarChart = () => (\r\n <div className=\"overflow-hidden rounded-3xl border border-border/10 bg-muted/5 p-3\">\r\n <svg className=\"w-full\" viewBox={`0 0 ${size} ${size}`} aria-hidden=\"true\">\r\n {[0.25, 0.5, 0.75, 1].map((ratio) => (\r\n <circle key={ratio} cx={radarCenter.x} cy={radarCenter.y} r={radarRadius * ratio} fill=\"none\" stroke=\"rgba(148,163,184,0.3)\" strokeWidth=\"1\" />\r\n ))}\r\n {radarPoints.map((point) => (\r\n <line key={point.label} x1={radarCenter.x} y1={radarCenter.y} x2={point.x} y2={point.y} stroke=\"rgba(148,163,184,0.45)\" strokeWidth=\"1\" />\r\n ))}\r\n <polygon points={radarPolygon} fill=\"rgba(59,130,246,0.18)\" stroke=\"#0ea5e9\" strokeWidth=\"2\" />\r\n {radarPoints.map((point) => (\r\n <circle key={point.label} cx={point.x} cy={point.y} r=\"4\" fill={point.color} stroke=\"#fff\" strokeWidth=\"2\" />\r\n ))}\r\n {radarPoints.map((point) => (\r\n <text key={`${point.label}-label`} x={point.labelX} y={point.labelY} textAnchor={point.labelX > radarCenter.x ? 'start' : 'end'} dy=\"0.35em\" className=\"text-[10px] fill-slate-500 font-medium\">\r\n {point.label}\r\n </text>\r\n ))}\r\n </svg>\r\n </div>\r\n );\r\n\r\n const renderPieDonutRadial = () => (\r\n <div className=\"relative rounded-full border border-border/10 bg-muted/5 p-8\">\r\n <div\r\n className=\"relative rounded-full\"\r\n style={{\r\n width: size,\r\n height: size,\r\n background: gradient,\r\n boxShadow: 'inset 0 0 0 1px rgba(255,255,255,0.08)',\r\n }}\r\n >\r\n {chartType !== 'pie' ? (\r\n <div className=\"absolute inset-0 m-[22%] rounded-full bg-card/95 border border-border/25\" />\r\n ) : null}\r\n <div className=\"absolute inset-0 flex flex-col items-center justify-center text-center px-4\">\r\n <span className=\"text-[11px] uppercase tracking-[0.24em] text-muted-foreground\">\r\n {chartType === 'radial' ? 'Radial chart' : chartType === 'donut' ? 'Donut chart' : 'Pie chart'}\r\n </span>\r\n <span className=\"text-3xl font-black text-foreground\">{total}</span>\r\n <span className=\"text-xs uppercase tracking-[0.24em] text-muted-foreground\">Total</span>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n\r\n const renderTooltipChart = () => {\r\n const tooltipPoint = chartPoints[Math.max(0, Math.min(chartPoints.length - 1, 1))];\r\n return (\r\n <div className=\"relative overflow-hidden rounded-3xl border border-border/10 bg-muted/5 p-3\">\r\n <svg className=\"w-full\" viewBox={`0 0 ${plotWidth} ${plotHeight}`} aria-hidden=\"true\">\r\n <path d={linePath} fill=\"none\" stroke=\"#0ea5e9\" strokeWidth=\"3\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\r\n {chartPoints.map((point) => (\r\n <circle key={point.label} cx={point.x} cy={point.y} r=\"4\" fill={point.color} stroke=\"#fff\" strokeWidth=\"2\" />\r\n ))}\r\n </svg>\r\n <div className=\"pointer-events-none absolute rounded-2xl border border-border/20 bg-background/95 px-3 py-2 shadow-lg\" style={{ left: tooltipPoint.x, top: tooltipPoint.y - 72, transform: 'translateX(-50%)' }}>\r\n <p className=\"text-xs uppercase tracking-[0.22em] text-muted-foreground\">{tooltipPoint.label}</p>\r\n <p className=\"text-sm font-semibold text-foreground\">{tooltipPoint.value}</p>\r\n </div>\r\n </div>\r\n );\r\n };\r\n\r\n const renderChartBody = () => {\r\n if (chartType === 'bar') {\r\n return (\r\n <div className=\"space-y-4\">\r\n {normalizedData.map((item) => (\r\n <div key={item.label} className=\"space-y-2\">\r\n <div className=\"flex items-center justify-between gap-3 text-sm\">\r\n <span className=\"font-medium text-foreground\">{item.label}</span>\r\n <span className=\"text-muted-foreground\">{item.value}</span>\r\n </div>\r\n <div className=\"h-3 overflow-hidden rounded-full bg-muted\">\r\n <div\r\n className=\"h-3 rounded-full transition-all duration-300\"\r\n style={{ width: `${(item.value / ceiling) * 100}%`, backgroundColor: item.color }}\r\n />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n }\r\n\r\n if (chartType === 'line') {\r\n return renderLineAreaChart();\r\n }\r\n\r\n if (chartType === 'area') {\r\n return renderLineAreaChart();\r\n }\r\n\r\n if (chartType === 'tooltip') {\r\n return renderTooltipChart();\r\n }\r\n\r\n if (chartType === 'radar') {\r\n return renderRadarChart();\r\n }\r\n\r\n return renderPieDonutRadial();\r\n };\r\n\r\n const renderLegend = () => (\r\n <div className=\"flex flex-wrap gap-3 pt-2\">\r\n {normalizedData.map((item) => (\r\n <div key={`${item.label}-legend`} className=\"flex items-center gap-2 text-xs text-muted-foreground\">\r\n <span className=\"h-2.5 w-2.5 rounded-full\" style={{ backgroundColor: item.color }} aria-hidden=\"true\" />\r\n <span>{item.label}</span>\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n\r\n return (\r\n <div className={cn('space-y-5 rounded-3xl border border-border bg-card p-5', className)} role=\"img\" aria-label={typeof title === 'string' ? title : 'Chart'} {...props}>\r\n {(title || description) ? (\r\n <div className=\"space-y-1\">\r\n {title ? <h3 className=\"text-base font-semibold tracking-tight text-foreground\">{title}</h3> : null}\r\n {description ? <p className=\"text-sm text-muted-foreground\">{description}</p> : null}\r\n </div>\r\n ) : null}\r\n\r\n {renderChartBody()}\r\n\r\n {showLegend ? renderLegend() : null}\r\n </div>\r\n );\r\n}\r\n","import { forwardRef } from 'react';\nimport type { LabelHTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {}\n\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(({ className, ...props }, ref) => {\n return (\n <label\n ref={ref}\n className={cn('text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70', className)}\n {...props}\n />\n );\n});\n\nLabel.displayName = 'Label';\r\n","import { forwardRef } from 'react';\nimport type { InputHTMLAttributes, ReactNode } from 'react';\nimport { motion, useReducedMotion } from 'framer-motion';\n\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nexport interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {\n label?: ReactNode;\n description?: ReactNode;\n}\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, description, id, label, ...props }, ref) => {\n const shouldReduceMotion = useReducedMotion();\n\n return (\n <label htmlFor={id} className=\"flex items-start gap-3\">\n <span className=\"relative mt-0.5 inline-flex\">\n <input\n ref={ref}\n id={id}\n type=\"checkbox\"\n className={cn(\n 'peer size-4 appearance-none rounded-md border border-input bg-card text-primary outline-none transition checked:border-primary checked:bg-primary focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n <motion.svg\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 m-auto size-3 text-primary-foreground opacity-0 peer-checked:opacity-100\"\n initial={false}\n animate={props.checked || props.defaultChecked ? { scale: 1, opacity: 1 } : { scale: shouldReduceMotion ? 1 : 0.7, opacity: 0 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.14 }}\n >\n <path d=\"M4 8.5 6.5 11 12 5.5\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </motion.svg>\n </span>\n {(label || description) ? (\n <span className=\"grid gap-1\">\n {label ? <Label className=\"leading-5\">{label}</Label> : null}\n {description ? <span className=\"text-sm text-muted-foreground\">{description}</span> : null}\n </span>\n ) : null}\n </label>\n );\n },\n);\n\nCheckbox.displayName = 'Checkbox';\r\n","import { createContext, useCallback, useContext, useMemo, useState } from 'react';\nimport type { PropsWithChildren, ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { useMounted } from '../../hooks/use-mounted';\nimport { cn } from '../../utils/cn';\n\nexport interface ToastAction {\n label: ReactNode;\n onClick?: () => void;\n}\n\nexport interface ToastItem {\n id: string;\n title: ReactNode;\n description?: ReactNode;\n variant?: 'default' | 'destructive' | 'success';\n action?: ToastAction;\n duration?: number;\n}\n\ninterface ToastContextValue {\n toast: (toast: Omit<ToastItem, 'id'>) => string;\n dismiss: (id: string) => void;\n}\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport function ToastProvider({ children }: PropsWithChildren) {\n const mounted = useMounted();\n const shouldReduceMotion = useReducedMotion();\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n\n const dismiss = useCallback((id: string) => {\n setToasts((current) => current.filter((toast) => toast.id !== id));\n }, []);\n\n const toast = useCallback(\n (nextToast: Omit<ToastItem, 'id'>) => {\n const id = crypto.randomUUID();\n setToasts((current) => [...current, { id, ...nextToast }]);\n window.setTimeout(() => {\n setToasts((current) => current.filter((item) => item.id !== id));\n }, nextToast.duration ?? 3200);\n return id;\n },\n [],\n );\n\n const value = useMemo(() => ({ dismiss, toast }), [dismiss, toast]);\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n {mounted\n ? createPortal(\n <div className=\"pointer-events-none fixed inset-x-0 top-4 z-[60] flex justify-center px-4\">\n <div className=\"flex w-full max-w-md flex-col gap-3\">\n <AnimatePresence>\n {toasts.map((item) => (\n <motion.div\n key={item.id}\n initial={shouldReduceMotion ? false : { opacity: 0, y: -12, scale: 0.98 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, y: -8, scale: 0.98 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\n className={cn(\n 'pointer-events-auto rounded-2xl border bg-card p-4 text-card-foreground shadow-soft',\n item.variant === 'destructive' && 'border-destructive/40 bg-destructive text-destructive-foreground',\n item.variant === 'success' && 'border-emerald-500/40 bg-emerald-600 text-white',\n )}\n role=\"status\"\n aria-live=\"polite\"\n >\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"space-y-1\">\n <div className=\"text-sm font-semibold\">{item.title}</div>\n {item.description ? <div className=\"text-sm opacity-90\">{item.description}</div> : null}\n {item.action ? (\n <button\n type=\"button\"\n className=\"mt-2 text-sm font-medium underline underline-offset-4\"\n onClick={() => {\n item.action?.onClick?.();\n dismiss(item.id);\n }}\n >\n {item.action.label}\n </button>\n ) : null}\n </div>\n <button\n type=\"button\"\n onClick={() => dismiss(item.id)}\n className=\"rounded-md p-1 text-current/80 transition hover:bg-black/10 hover:text-current\"\n aria-label=\"Dismiss notification\"\n >\n �\n </button>\n </div>\n </motion.div>\n ))}\n </AnimatePresence>\n </div>\n </div>,\n document.body,\n )\n : null}\n </ToastContext.Provider>\n );\n}\n\nexport function useToast() {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a ToastProvider.');\n }\n return context;\n}\r\n","import { Button, type ButtonProps } from './button';\nimport { useToast } from './toast';\n\nexport interface ClipboardProps {\n value: string;\n label?: string;\n buttonLabel?: string;\n buttonVariant?: ButtonProps['variant'];\n onCopy?: (value: string) => void;\n}\n\nexport function Clipboard({ buttonLabel = 'Copy', buttonVariant = 'outline', label, onCopy, value }: ClipboardProps) {\n const { toast } = useToast();\n\n return (\n <div className=\"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border bg-card px-4 py-3\">\n <div className=\"min-w-0 flex-1\">\n {label ? <p className=\"text-sm font-medium text-foreground\">{label}</p> : null}\n <p className=\"truncate font-mono text-sm text-muted-foreground\">{value}</p>\n </div>\n <Button\n size=\"sm\"\n variant={buttonVariant}\n onClick={async () => {\n try {\n await navigator.clipboard.writeText(value);\n onCopy?.(value);\n toast({ title: 'Copied', description: 'Value copied to clipboard.', variant: 'success' });\n } catch {\n toast({ title: 'Copy failed', description: 'Clipboard access is unavailable.', variant: 'destructive' });\n }\n }}\n >\n {buttonLabel}\n </Button>\n </div>\n );\n}\r\n","import { useState } from 'react';\r\nimport type { HTMLAttributes, ReactNode } from 'react';\r\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\r\n\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface CollapsibleProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\r\n title: ReactNode;\r\n children: ReactNode;\r\n defaultOpen?: boolean;\r\n}\r\n\r\nexport function Collapsible({ children, className, defaultOpen = false, title, ...props }: CollapsibleProps) {\r\n const [open, setOpen] = useState(defaultOpen);\r\n const shouldReduceMotion = useReducedMotion();\r\n\r\n return (\r\n <div className={cn('rounded-2xl border border-border bg-card', className)} {...props}>\r\n <button\r\n type=\"button\"\r\n className=\"flex w-full items-center justify-between px-4 py-3 text-left text-sm font-medium transition hover:bg-muted/60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\r\n aria-expanded={open}\r\n onClick={() => setOpen((value) => !value)}\r\n >\r\n <span>{title}</span>\r\n <motion.span animate={{ rotate: open ? 180 : 0 }} transition={{ duration: shouldReduceMotion ? 0 : 0.16 }}>?</motion.span>\r\n </button>\r\n <AnimatePresence initial={false}>\r\n {open ? (\r\n <motion.div\r\n initial={shouldReduceMotion ? false : { height: 0, opacity: 0 }}\r\n animate={{ height: 'auto', opacity: 1 }}\r\n exit={{ height: 0, opacity: 0 }}\r\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\r\n className=\"overflow-hidden\"\r\n >\r\n <div className=\"px-4 pb-4\">{children}</div>\r\n </motion.div>\r\n ) : null}\r\n </AnimatePresence>\r\n </div>\r\n );\r\n}\r\n","import { forwardRef, useId } from 'react';\nimport type { InputHTMLAttributes, ReactNode } from 'react';\n\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nconst inputBaseClassName = 'ui-field';\n\nexport interface InputProps extends InputHTMLAttributes<HTMLInputElement> {\n invalid?: boolean;\n}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(\n ({ className, invalid = false, ...props }, ref) => {\n return (\n <input\n ref={ref}\n className={cn(inputBaseClassName, invalid && 'border-destructive focus-visible:ring-destructive', className)}\n aria-invalid={invalid || undefined}\n {...props}\n />\n );\n },\n);\n\nInput.displayName = 'Input';\n\nexport interface InputFieldProps extends Omit<InputProps, 'id' | 'aria-describedby'> {\n id?: string;\n label: ReactNode;\n hint?: ReactNode;\n error?: ReactNode;\n}\n\nexport const InputField = forwardRef<HTMLInputElement, InputFieldProps>(\n ({ error, hint, id, label, invalid, required, ...props }, ref) => {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const hintId = hint ? `${inputId}-hint` : undefined;\n const errorId = error ? `${inputId}-error` : undefined;\n const describedBy = [hintId, errorId].filter(Boolean).join(' ') || undefined;\n const isInvalid = invalid || Boolean(error);\n\n return (\n <div className=\"space-y-2\">\n <Label htmlFor={inputId}>\n {label}\n {required ? <span className=\"ml-1 text-destructive\" aria-hidden=\"true\">*</span> : null}\n </Label>\n <Input ref={ref} id={inputId} required={required} invalid={isInvalid} aria-describedby={describedBy} {...props} />\n {hint ? <p id={hintId} className=\"text-sm text-muted-foreground\">{hint}</p> : null}\n {error ? <p id={errorId} className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p> : null}\n </div>\n );\n },\n);\n\nInputField.displayName = 'InputField';\r\n","import { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { Input } from './input';\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n keywords?: string[];\n disabled?: boolean;\n description?: ReactNode;\n}\n\nexport interface ComboboxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {\n options: ComboboxOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n label?: ReactNode;\n placeholder?: string;\n hint?: ReactNode;\n error?: ReactNode;\n emptyMessage?: ReactNode;\n}\n\nexport function Combobox({\n className,\n defaultValue,\n emptyMessage = 'No matching options.',\n error,\n hint,\n label,\n onValueChange,\n options,\n placeholder = 'Search...',\n value,\n ...props\n}: ComboboxProps) {\n const [open, setOpen] = useState(false);\n const [query, setQuery] = useState('');\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? '');\n const [activeIndex, setActiveIndex] = useState(-1);\n const containerRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const itemRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const shouldReduceMotion = useReducedMotion();\n const listboxId = useId();\n const labelId = useId();\n const hintId = useId();\n const errorId = useId();\n\n const currentValue = value ?? uncontrolledValue;\n const selectedOption = options.find((option) => option.value === currentValue);\n const filteredOptions = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) {\n return options;\n }\n\n return options.filter((option) => {\n const haystack = [option.label, ...(option.keywords ?? [])].join(' ').toLowerCase();\n return haystack.includes(normalized);\n });\n }, [options, query]);\n const describedBy = [hint ? hintId : null, error ? errorId : null].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n if (!open) {\n setActiveIndex(-1);\n return undefined;\n }\n\n const handlePointerDown = (event: MouseEvent) => {\n if (!containerRef.current?.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setOpen(false);\n inputRef.current?.focus();\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n document.addEventListener('keydown', handleEscape);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n document.removeEventListener('keydown', handleEscape);\n };\n }, [open]);\n\n useEffect(() => {\n if (!open || activeIndex < 0) {\n return;\n }\n itemRefs.current[activeIndex]?.focus();\n }, [activeIndex, open]);\n\n const setValue = (nextValue: string) => {\n if (value === undefined) {\n setUncontrolledValue(nextValue);\n }\n onValueChange?.(nextValue);\n setQuery('');\n };\n\n return (\n <div ref={containerRef} className={cn('space-y-2', className)} {...props}>\n {label ? <Label id={labelId}>{label}</Label> : null}\n <div className=\"relative\">\n <Input\n ref={inputRef}\n value={open ? query : selectedOption?.label ?? query}\n placeholder={placeholder}\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={listboxId}\n aria-labelledby={label ? labelId : undefined}\n aria-describedby={describedBy}\n aria-autocomplete=\"list\"\n aria-invalid={Boolean(error) || undefined}\n className={cn(Boolean(error) && 'border-destructive focus-visible:ring-destructive')}\n onFocus={() => setOpen(true)}\n onChange={(event) => {\n setQuery(event.target.value);\n setOpen(true);\n }}\n onKeyDown={(event) => {\n if (event.key === 'ArrowDown' && filteredOptions.length > 0) {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => (current + 1) % filteredOptions.length);\n }\n\n if (event.key === 'ArrowUp' && filteredOptions.length > 0) {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => (current <= 0 ? filteredOptions.length - 1 : current - 1));\n }\n\n if (event.key === 'Enter' && open && activeIndex >= 0) {\n event.preventDefault();\n const option = filteredOptions[activeIndex];\n if (option && !option.disabled) {\n setValue(option.value);\n setOpen(false);\n }\n }\n }}\n />\n <AnimatePresence>\n {open ? (\n <motion.div\n id={listboxId}\n role=\"listbox\"\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 6 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\n className=\"absolute top-full z-30 mt-2 w-full rounded-2xl border border-border bg-popover p-2 text-popover-foreground shadow-soft\"\n >\n {filteredOptions.length === 0 ? (\n <div className=\"px-3 py-6 text-center text-sm text-muted-foreground\">{emptyMessage}</div>\n ) : (\n filteredOptions.map((option, index) => {\n const selected = option.value === currentValue;\n return (\n <button\n key={option.value}\n ref={(element) => {\n itemRefs.current[index] = element;\n }}\n type=\"button\"\n role=\"option\"\n aria-selected={selected}\n disabled={option.disabled}\n tabIndex={activeIndex === index ? 0 : -1}\n className={cn(\n 'flex w-full items-start justify-between gap-3 rounded-xl px-3 py-2 text-left text-sm transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n selected && 'bg-accent text-accent-foreground',\n )}\n onMouseEnter={() => setActiveIndex(index)}\n onClick={() => {\n if (!option.disabled) {\n setValue(option.value);\n setOpen(false);\n inputRef.current?.focus();\n }\n }}\n >\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate\">{option.label}</span>\n {option.description ? <span className=\"mt-0.5 block text-xs text-muted-foreground\">{option.description}</span> : null}\n </span>\n {selected ? <span aria-hidden=\"true\">?</span> : null}\n </button>\n );\n })\n )}\n </motion.div>\n ) : null}\n </AnimatePresence>\n </div>\n {hint ? <p id={hintId} className=\"text-sm text-muted-foreground\">{hint}</p> : null}\n {error ? <p id={errorId} className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p> : null}\n </div>\n );\n}\r\n","import { useEffect, useMemo, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { Input } from './input';\nimport { cn } from '../../utils/cn';\n\nexport interface CommandItem {\n id: string;\n label: string;\n keywords?: string[];\n group?: string;\n onSelect?: () => void;\n}\n\nexport interface CommandProps {\n open: boolean;\n onClose: () => void;\n items: CommandItem[];\n title?: ReactNode;\n}\n\nexport function Command({ items, onClose, open, title = 'Command palette' }: CommandProps) {\n const [query, setQuery] = useState('');\n const shouldReduceMotion = useReducedMotion();\n\n useEffect(() => {\n if (!open) {\n setQuery('');\n return undefined;\n }\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n onClose();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n return () => document.removeEventListener('keydown', handleEscape);\n }, [onClose, open]);\n\n const filteredItems = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) {\n return items;\n }\n return items.filter((item) => {\n const haystack = [item.label, ...(item.keywords ?? [])].join(' ').toLowerCase();\n return haystack.includes(normalized);\n });\n }, [items, query]);\n\n return (\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50 flex items-start justify-center p-4 pt-24 sm:p-8 sm:pt-24\">\n <motion.button\n type=\"button\"\n className=\"absolute inset-0 bg-slate-950/45 backdrop-blur-[2px]\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n onClick={onClose}\n />\n <motion.div\n initial={shouldReduceMotion ? false : { opacity: 0, y: 12, scale: 0.98 }}\n animate={{ opacity: 1, y: 0, scale: 1 }}\n exit={{ opacity: 0, y: 8, scale: 0.98 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.18, ease: 'easeOut' }}\n className=\"relative z-10 w-full max-w-2xl rounded-3xl border border-border bg-popover p-4 text-popover-foreground shadow-soft\"\n >\n <div className=\"space-y-4\">\n <div>\n <h2 className=\"text-lg font-semibold\">{title}</h2>\n </div>\n <Input\n autoFocus\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n placeholder=\"Search components, docs, or actions...\"\n />\n <div className=\"max-h-80 overflow-y-auto rounded-2xl border border-border bg-card p-2\">\n {filteredItems.length === 0 ? (\n <div className=\"px-3 py-6 text-center text-sm text-muted-foreground\">No results found.</div>\n ) : (\n filteredItems.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n className={cn('flex w-full items-center justify-between rounded-xl px-3 py-2 text-left text-sm transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2')}\n onClick={() => {\n item.onSelect?.();\n onClose();\n }}\n >\n <span>{item.label}</span>\n {item.group ? <span className=\"text-xs text-muted-foreground\">{item.group}</span> : null}\n </button>\n ))\n )}\n </div>\n </div>\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>\n );\n}\r\n","import { useEffect, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface ContextMenuItem {\n id: string;\n label: ReactNode;\n onSelect?: () => void;\n disabled?: boolean;\n}\n\nexport interface ContextMenuProps extends HTMLAttributes<HTMLDivElement> {\n trigger: ReactNode;\n items: ContextMenuItem[];\n}\n\nexport function ContextMenu({ className, items, trigger, ...props }: ContextMenuProps) {\n const [open, setOpen] = useState(false);\n const [position, setPosition] = useState({ x: 0, y: 0 });\n const shouldReduceMotion = useReducedMotion();\n\n useEffect(() => {\n const handleClose = () => setOpen(false);\n document.addEventListener('click', handleClose);\n return () => document.removeEventListener('click', handleClose);\n }, []);\n\n return (\n <div\n className={cn('relative', className)}\n onContextMenu={(event) => {\n event.preventDefault();\n setPosition({ x: event.clientX, y: event.clientY });\n setOpen(true);\n }}\n {...props}\n >\n {trigger}\n <AnimatePresence>\n {open ? (\n <motion.div\n role=\"menu\"\n initial={shouldReduceMotion ? false : { opacity: 0, scale: 0.98 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.98 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.14, ease: 'easeOut' }}\n className=\"fixed z-50 min-w-44 rounded-2xl border border-border bg-popover p-2 text-popover-foreground shadow-soft\"\n style={{ left: position.x, top: position.y }}\n >\n {items.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n role=\"menuitem\"\n disabled={item.disabled}\n className=\"flex w-full rounded-xl px-3 py-2 text-left text-sm transition hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50\"\n onClick={() => {\n if (!item.disabled) {\n item.onSelect?.();\n setOpen(false);\n }\n }}\n >\n {item.label}\n </button>\n ))}\n </motion.div>\n ) : null}\n </AnimatePresence>\n </div>\n );\n}\r\n","import type { HTMLAttributes, TableHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport function Table({ className, ...props }: TableHTMLAttributes<HTMLTableElement>) {\n return (\n <div className=\"w-full overflow-x-auto rounded-2xl border border-border\">\n <table className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n );\n}\n\nexport function TableHeader({ className, ...props }: HTMLAttributes<HTMLTableSectionElement>) {\n return <thead className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nexport function TableBody({ className, ...props }: HTMLAttributes<HTMLTableSectionElement>) {\n return <tbody className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nexport function TableRow({ className, ...props }: HTMLAttributes<HTMLTableRowElement>) {\n return <tr className={cn('border-b border-border transition hover:bg-muted/40', className)} {...props} />;\n}\n\nexport function TableHead({ className, ...props }: ThHTMLAttributes<HTMLTableCellElement>) {\n return <th className={cn('h-11 px-4 text-left align-middle text-sm font-medium text-muted-foreground', className)} {...props} />;\n}\n\nexport function TableCell({ className, ...props }: TdHTMLAttributes<HTMLTableCellElement>) {\n return <td className={cn('px-4 py-3 align-middle', className)} {...props} />;\n}\r\n","import { useCallback, useMemo, useState } from 'react';\r\nimport type { HTMLAttributes, ReactNode } from 'react';\r\n\r\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './table';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface DataTableColumn<T extends Record<string, unknown>> {\r\n key: string;\r\n header: ReactNode;\r\n accessor?: keyof T | ((row: T) => ReactNode);\r\n cell?: (row: T) => ReactNode;\r\n sortable?: boolean;\r\n align?: 'left' | 'center' | 'right';\r\n}\r\n\r\nexport interface DataTableProps<T extends Record<string, unknown>> extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {\r\n data: T[];\r\n columns: Array<DataTableColumn<T>>;\r\n caption?: ReactNode;\r\n emptyState?: ReactNode;\r\n getRowId?: (row: T, index: number) => string;\r\n initialSort?: {\r\n key: string;\r\n direction?: 'asc' | 'desc';\r\n };\r\n}\r\n\r\nexport function DataTable<T extends Record<string, unknown>>({\r\n caption,\r\n className,\r\n columns,\r\n data,\r\n emptyState = 'No results found.',\r\n getRowId,\r\n initialSort,\r\n ...props\r\n}: DataTableProps<T>) {\r\n const [sortKey, setSortKey] = useState(initialSort?.key ?? '');\r\n const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>(initialSort?.direction ?? 'asc');\r\n\r\n const handleSort = useCallback(\r\n (key: string) => {\r\n if (sortKey === key) {\r\n setSortDirection((current) => (current === 'asc' ? 'desc' : 'asc'));\r\n return;\r\n }\r\n setSortKey(key);\r\n setSortDirection('asc');\r\n },\r\n [sortKey],\r\n );\r\n\r\n const sortedData = useMemo(() => {\r\n const activeColumn = columns.find((column) => column.key === sortKey && column.sortable);\r\n if (!activeColumn) {\r\n return data;\r\n }\r\n\r\n const resolve = (row: T) => {\r\n if (typeof activeColumn.accessor === 'function') {\r\n return activeColumn.accessor(row);\r\n }\r\n if (typeof activeColumn.accessor === 'string') {\r\n return row[activeColumn.accessor];\r\n }\r\n return row[activeColumn.key as keyof T];\r\n };\r\n\r\n return [...data].sort((first, second) => {\r\n const firstValue = resolve(first);\r\n const secondValue = resolve(second);\r\n const normalizedFirst = typeof firstValue === 'number' ? firstValue : String(firstValue ?? '').toLowerCase();\r\n const normalizedSecond = typeof secondValue === 'number' ? secondValue : String(secondValue ?? '').toLowerCase();\r\n\r\n if (normalizedFirst < normalizedSecond) {\r\n return sortDirection === 'asc' ? -1 : 1;\r\n }\r\n if (normalizedFirst > normalizedSecond) {\r\n return sortDirection === 'asc' ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n }, [columns, data, sortDirection, sortKey]);\r\n\r\n return (\r\n <div className={cn('space-y-3', className)} {...props}>\r\n <Table>\r\n {caption ? <caption className=\"px-4 py-3 text-left text-sm text-muted-foreground\">{caption}</caption> : null}\r\n <TableHeader>\r\n <TableRow>\r\n {columns.map((column) => {\r\n const isSorted = sortKey === column.key;\r\n const alignClass = column.align === 'center' ? 'text-center' : column.align === 'right' ? 'text-right' : 'text-left';\r\n\r\n return (\r\n <TableHead key={column.key} className={alignClass}>\r\n {column.sortable ? (\r\n <button\r\n type=\"button\"\r\n className=\"inline-flex items-center gap-2 font-medium text-inherit transition hover:text-foreground\"\r\n onClick={() => handleSort(column.key)}\r\n aria-sort={isSorted ? (sortDirection === 'asc' ? 'ascending' : 'descending') : 'none'}\r\n >\r\n <span>{column.header}</span>\r\n <span aria-hidden=\"true\" className=\"text-xs text-muted-foreground\">{isSorted ? (sortDirection === 'asc' ? '?' : '?') : '?'}</span>\r\n </button>\r\n ) : (\r\n column.header\r\n )}\r\n </TableHead>\r\n );\r\n })}\r\n </TableRow>\r\n </TableHeader>\r\n <TableBody>\r\n {sortedData.length === 0 ? (\r\n <TableRow>\r\n <TableCell colSpan={columns.length} className=\"py-10 text-center text-muted-foreground\">\r\n {emptyState}\r\n </TableCell>\r\n </TableRow>\r\n ) : (\r\n sortedData.map((row, index) => (\r\n <TableRow key={getRowId?.(row, index) ?? String(index)}>\r\n {columns.map((column) => {\r\n const alignClass = column.align === 'center' ? 'text-center' : column.align === 'right' ? 'text-right' : 'text-left';\r\n const content = column.cell\r\n ? column.cell(row)\r\n : typeof column.accessor === 'function'\r\n ? column.accessor(row)\r\n : row[(typeof column.accessor === 'string' ? column.accessor : column.key) as keyof T] as ReactNode;\r\n\r\n return (\r\n <TableCell key={column.key} className={alignClass}>\r\n {content}\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n ))\r\n )}\r\n </TableBody>\r\n </Table>\r\n </div>\r\n );\r\n}\r\n\r\nexport { TableBody as DataTableBody, TableCell as DataTableCell, TableHead as DataTableHead, TableHeader as DataTableHeader, TableRow as DataTableRow };\r\n","import { useEffect, useId, useRef, useState } from 'react';\r\nimport type { HTMLAttributes, ReactNode } from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\r\n\r\nimport { useMounted } from '../../hooks/use-mounted';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface PopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {\r\n trigger: ReactNode;\r\n content: ReactNode;\r\n open?: boolean;\r\n defaultOpen?: boolean;\r\n onOpenChange?: (open: boolean) => void;\r\n align?: 'start' | 'center' | 'end';\r\n}\r\n\r\nexport function Popover({ align = 'center', className, content, defaultOpen = false, onOpenChange, open, trigger, ...props }: PopoverProps) {\r\n const mounted = useMounted();\r\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n const contentRef = useRef<HTMLDivElement>(null);\r\n const contentId = useId();\r\n const shouldReduceMotion = useReducedMotion();\r\n const isOpen = open ?? uncontrolledOpen;\r\n\r\n const setOpen = (nextOpen: boolean) => {\r\n if (open === undefined) {\r\n setUncontrolledOpen(nextOpen);\r\n }\r\n onOpenChange?.(nextOpen);\r\n };\r\n\r\n useEffect(() => {\r\n if (!isOpen) {\r\n return undefined;\r\n }\r\n\r\n const handlePointerDown = (event: MouseEvent) => {\r\n if (!containerRef.current?.contains(event.target as Node) && !contentRef.current?.contains(event.target as Node)) {\r\n setOpen(false);\r\n }\r\n };\r\n\r\n const handleEscape = (event: KeyboardEvent) => {\r\n if (event.key === 'Escape') {\r\n setOpen(false);\r\n triggerRef.current?.focus();\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', handlePointerDown);\r\n document.addEventListener('keydown', handleEscape);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', handlePointerDown);\r\n document.removeEventListener('keydown', handleEscape);\r\n };\r\n }, [isOpen]);\r\n\r\n if (!mounted) {\r\n return <div ref={containerRef} className={cn('inline-flex', className)} {...props}>{trigger}</div>;\r\n }\r\n\r\n return (\r\n <div ref={containerRef} className={cn('inline-flex', className)} {...props}>\r\n <button\r\n ref={triggerRef}\r\n type=\"button\"\r\n aria-expanded={isOpen}\r\n aria-controls={contentId}\r\n aria-haspopup=\"dialog\"\r\n className=\"inline-flex\"\r\n onClick={() => setOpen(!isOpen)}\r\n >\r\n {trigger}\r\n </button>\r\n {createPortal(\r\n <AnimatePresence>\r\n {isOpen ? (\r\n <motion.div\r\n ref={contentRef}\r\n id={contentId}\r\n role=\"dialog\"\r\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8, scale: 0.98 }}\r\n animate={{ opacity: 1, y: 0, scale: 1 }}\r\n exit={{ opacity: 0, y: 6, scale: 0.98 }}\r\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\r\n className={cn(\r\n 'fixed z-50 min-w-64 rounded-2xl border border-border bg-popover p-4 text-popover-foreground shadow-soft',\r\n align === 'start' && 'origin-top-left',\r\n align === 'center' && 'origin-top',\r\n align === 'end' && 'origin-top-right',\r\n )}\r\n style={computePopoverPosition(triggerRef.current, align)}\r\n >\r\n {content}\r\n </motion.div>\r\n ) : null}\r\n </AnimatePresence>,\r\n document.body,\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nfunction computePopoverPosition(trigger: HTMLButtonElement | null, align: 'start' | 'center' | 'end') {\r\n if (!trigger) {\r\n return { top: 0, left: 0 };\r\n }\r\n\r\n const rect = trigger.getBoundingClientRect();\r\n const top = rect.bottom + 10;\r\n\r\n if (align === 'start') {\r\n return { top, left: rect.left };\r\n }\r\n\r\n if (align === 'end') {\r\n return { top, left: rect.right - 256 };\r\n }\r\n\r\n return { top, left: rect.left + rect.width / 2 - 128 };\r\n}\r\n","import { useMemo, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Button } from './button';\nimport { Calendar } from './calendar';\nimport { Popover } from './popover';\nimport { cn } from '../../utils/cn';\n\nexport interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue'> {\n value?: Date;\n defaultValue?: Date;\n onValueChange?: (date: Date | undefined) => void;\n placeholder?: string;\n clearable?: boolean;\n footer?: ReactNode;\n}\n\nexport function DatePicker({ className, clearable = true, defaultValue, footer, onValueChange, placeholder = 'Pick a date', value, ...props }: DatePickerProps) {\n const [internalValue, setInternalValue] = useState<Date | undefined>(defaultValue);\n const selectedDate = value ?? internalValue;\n const formattedDate = useMemo(\n () => (selectedDate ? selectedDate.toLocaleDateString(undefined, { day: 'numeric', month: 'short', year: 'numeric' }) : placeholder),\n [placeholder, selectedDate],\n );\n\n const setDate = (date: Date | undefined) => {\n if (value === undefined) {\n setInternalValue(date);\n }\n onValueChange?.(date);\n };\n\n return (\n <div className={cn('inline-flex', className)} {...props}>\n <Popover\n align=\"start\"\n trigger={\n <Button variant=\"outline\" className=\"min-w-56 justify-between\">\n <span className={selectedDate ? 'text-foreground' : 'text-muted-foreground'}>{formattedDate}</span>\n <span aria-hidden=\"true\">??</span>\n </Button>\n }\n content={\n <div className=\"space-y-3\">\n <Calendar value={selectedDate} onValueChange={(date) => setDate(date)} />\n <div className=\"flex items-center justify-between gap-3 px-1\">\n <Button size=\"sm\" variant=\"outline\" onClick={() => setDate(new Date())}>Today</Button>\n <div className=\"flex items-center gap-2\">\n {clearable ? (\n <Button size=\"sm\" variant=\"outline\" onClick={() => setDate(undefined)}>\n Clear\n </Button>\n ) : null}\n {footer}\n </div>\n </div>\n </div>\n }\n />\n </div>\n );\n}\r\n","import { createContext, useContext } from 'react';\nimport type { HTMLAttributes, PropsWithChildren } from 'react';\n\nexport type Direction = 'ltr' | 'rtl';\n\nconst DirectionContext = createContext<Direction>('ltr');\n\nexport interface DirectionProviderProps extends PropsWithChildren {\n dir?: Direction;\n}\n\nexport function DirectionProvider({ children, dir = 'ltr' }: DirectionProviderProps) {\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n}\n\nexport function useDirection() {\n return useContext(DirectionContext);\n}\n\nexport interface DirectionRootProps extends HTMLAttributes<HTMLDivElement> {\n dir?: Direction;\n}\n\nexport function DirectionRoot({ children, dir = 'ltr', ...props }: DirectionRootProps) {\n return (\n <div dir={dir} {...props}>\n {children}\n </div>\n );\n}\r\n","import { useEffect, useId, useMemo, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface DropdownItem {\n id?: string;\n label: ReactNode;\n onSelect?: () => void;\n disabled?: boolean;\n shortcut?: ReactNode;\n destructive?: boolean;\n}\n\nexport interface DropdownGroup {\n id?: string;\n label?: ReactNode;\n items: DropdownItem[];\n}\n\nexport interface DropdownProps {\n trigger: ReactNode;\n items?: DropdownItem[];\n groups?: DropdownGroup[];\n align?: 'start' | 'end';\n sideOffset?: number;\n}\n\nexport function Dropdown({ align = 'start', groups, items = [], sideOffset = 8, trigger }: DropdownProps) {\n const [open, setOpen] = useState(false);\n const [activeIndex, setActiveIndex] = useState(-1);\n const containerRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const itemRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const contentId = useId();\n const shouldReduceMotion = useReducedMotion();\n\n const resolvedGroups = groups ?? [{ id: 'default', items }];\n const flatItems = useMemo(() => resolvedGroups.flatMap((group) => group.items), [resolvedGroups]);\n const enabledIndexes = useMemo(\n () => flatItems.map((item, index) => (!item.disabled ? index : -1)).filter((index) => index !== -1),\n [flatItems],\n );\n\n useEffect(() => {\n if (!open) {\n setActiveIndex(-1);\n return undefined;\n }\n\n const handlePointerDown = (event: MouseEvent) => {\n if (!containerRef.current?.contains(event.target as Node)) {\n setOpen(false);\n }\n };\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n document.addEventListener('keydown', handleEscape);\n\n return () => {\n document.removeEventListener('mousedown', handlePointerDown);\n document.removeEventListener('keydown', handleEscape);\n };\n }, [open]);\n\n useEffect(() => {\n if (!open || activeIndex < 0) {\n return;\n }\n\n itemRefs.current[activeIndex]?.focus();\n }, [activeIndex, open]);\n\n const moveActiveIndex = (direction: 1 | -1) => {\n if (enabledIndexes.length === 0) {\n return;\n }\n\n const currentPosition = enabledIndexes.indexOf(activeIndex);\n const nextPosition = currentPosition === -1 ? 0 : (currentPosition + direction + enabledIndexes.length) % enabledIndexes.length;\n\n setActiveIndex(enabledIndexes[nextPosition]);\n };\n\n let runningIndex = -1;\n\n return (\n <div ref={containerRef} className=\"relative inline-flex\">\n <button\n ref={triggerRef}\n type=\"button\"\n aria-expanded={open}\n aria-controls={contentId}\n aria-haspopup=\"menu\"\n onClick={() => {\n setOpen((value) => !value);\n setActiveIndex(enabledIndexes[0] ?? -1);\n }}\n onKeyDown={(event) => {\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes[0] ?? -1);\n }\n }}\n className=\"inline-flex\"\n >\n {trigger}\n </button>\n\n <AnimatePresence>\n {open ? (\n <motion.div\n id={contentId}\n role=\"menu\"\n aria-orientation=\"vertical\"\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 6 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\n className={cn(\n 'absolute top-full z-30 mt-2 min-w-56 rounded-2xl border border-border bg-popover p-2 text-popover-foreground shadow-soft',\n align === 'end' ? 'right-0' : 'left-0',\n )}\n style={{ marginTop: sideOffset }}\n onKeyDown={(event) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n moveActiveIndex(1);\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n moveActiveIndex(-1);\n }\n\n if (event.key === 'Home' && enabledIndexes.length > 0) {\n event.preventDefault();\n setActiveIndex(enabledIndexes[0]);\n }\n\n if (event.key === 'End' && enabledIndexes.length > 0) {\n event.preventDefault();\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1]);\n }\n\n if (event.key === 'Tab') {\n setOpen(false);\n }\n }}\n >\n {resolvedGroups.map((group, groupIndex) => {\n const hasLabel = Boolean(group.label);\n return (\n <div key={group.id ?? `group-${groupIndex}`} className={cn(groupIndex > 0 && 'mt-2 border-t border-border pt-2')}>\n {hasLabel ? <div className=\"px-3 py-1 text-xs font-medium uppercase tracking-[0.14em] text-muted-foreground\">{group.label}</div> : null}\n {group.items.map((item) => {\n runningIndex += 1;\n const itemIndex = runningIndex;\n return (\n <button\n key={item.id ?? `dropdown-item-${itemIndex}`}\n ref={(element) => {\n itemRefs.current[itemIndex] = element;\n }}\n type=\"button\"\n role=\"menuitem\"\n disabled={item.disabled}\n tabIndex={activeIndex === itemIndex ? 0 : -1}\n className={cn(\n 'flex w-full items-center justify-between gap-3 rounded-xl px-3 py-2 text-left text-sm transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n item.destructive ? 'text-destructive hover:bg-destructive/10' : 'hover:bg-muted',\n )}\n onMouseEnter={() => {\n if (!item.disabled) {\n setActiveIndex(itemIndex);\n }\n }}\n onClick={() => {\n if (item.disabled) {\n return;\n }\n\n item.onSelect?.();\n setOpen(false);\n triggerRef.current?.focus();\n }}\n >\n <span className=\"min-w-0 flex-1 truncate\">{item.label}</span>\n {item.shortcut ? <span className=\"shrink-0 text-xs text-muted-foreground\">{item.shortcut}</span> : null}\n </button>\n );\n })}\n </div>\n );\n })}\n </motion.div>\n ) : null}\n </AnimatePresence>\n </div>\n );\n}\r\n","import { Dropdown } from './dropdown';\nimport type { DropdownGroup, DropdownItem, DropdownProps } from './dropdown';\n\nexport interface DropdownMenuProps extends DropdownProps {}\nexport type { DropdownGroup, DropdownItem };\n\nexport function DropdownMenu(props: DropdownMenuProps) {\n return <Dropdown {...props} />;\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\r\n\r\nimport { Button } from './button';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface EmptyStateProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\r\n title: ReactNode;\r\n description?: ReactNode;\r\n action?: ReactNode;\r\n icon?: ReactNode;\r\n}\r\n\r\nexport function EmptyState({ action, className, description, icon, title, ...props }: EmptyStateProps) {\r\n return (\r\n <div className={cn('ui-surface flex flex-col items-center justify-center gap-4 px-6 py-10 text-center', className)} {...props}>\r\n {icon ? <div className=\"flex size-12 items-center justify-center rounded-2xl bg-accent text-accent-foreground\">{icon}</div> : null}\r\n <div className=\"space-y-2\">\r\n <h3 className=\"text-lg font-semibold tracking-tight\">{title}</h3>\r\n {description ? <p className=\"max-w-md text-sm leading-6 text-muted-foreground\">{description}</p> : null}\r\n </div>\r\n {action ?? <Button size=\"sm\">Create item</Button>}\r\n </div>\r\n );\r\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\r\n\r\nimport { Button } from './button';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface FeatureCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\r\n title: ReactNode;\r\n description: ReactNode;\r\n icon?: ReactNode;\r\n actionLabel?: ReactNode;\r\n}\r\n\r\nexport function FeatureCard({ actionLabel, className, description, icon, title, ...props }: FeatureCardProps) {\r\n return (\r\n <div className={cn('ui-surface h-full space-y-5 p-6', className)} {...props}>\r\n {icon ? <div className=\"flex size-12 items-center justify-center rounded-2xl bg-accent text-accent-foreground\">{icon}</div> : null}\r\n <div className=\"space-y-2\">\r\n <h3 className=\"text-lg font-semibold tracking-tight text-foreground\">{title}</h3>\r\n <p className=\"text-sm leading-6 text-muted-foreground\">{description}</p>\r\n </div>\r\n {actionLabel ? <Button variant=\"outline\" size=\"sm\">{actionLabel}</Button> : null}\r\n </div>\r\n );\r\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nexport interface FieldProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode;\n hint?: ReactNode;\n error?: ReactNode;\n}\n\nexport function Field({ children, className, error, hint, label, ...props }: FieldProps) {\n return (\n <div className={cn('space-y-2', className)} {...props}>\n {label ? <Label>{label}</Label> : null}\n {children}\n {hint ? <p className=\"text-sm text-muted-foreground\">{hint}</p> : null}\n {error ? <p className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p> : null}\n </div>\n );\n}\r\n","import { useMemo, useRef, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface HoverCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {\n trigger: ReactNode;\n content: ReactNode;\n}\n\nexport function HoverCard({ className, content, trigger, ...props }: HoverCardProps) {\n const [open, setOpen] = useState(false);\n const timeoutRef = useRef<number | null>(null);\n const shouldReduceMotion = useReducedMotion();\n const transition = useMemo(() => ({ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' as const }), [shouldReduceMotion]);\n\n const handleOpen = () => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n }\n setOpen(true);\n };\n\n const handleClose = () => {\n timeoutRef.current = window.setTimeout(() => setOpen(false), shouldReduceMotion ? 0 : 60);\n };\n\n return (\n <div className={cn('relative inline-flex', className)} onMouseEnter={handleOpen} onMouseLeave={handleClose} onFocus={handleOpen} onBlur={handleClose} {...props}>\n <span className=\"inline-flex\">{trigger}</span>\n <AnimatePresence>\n {open ? (\n <motion.div\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 6 }}\n transition={transition}\n className=\"absolute left-1/2 top-full z-30 mt-3 w-72 -translate-x-1/2 rounded-2xl border border-border bg-popover p-4 text-popover-foreground shadow-soft\"\n >\n {content}\n </motion.div>\n ) : null}\n </AnimatePresence>\n </div>\n );\n}\r\n","import { forwardRef } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { Button, type ButtonProps } from './button';\nimport { cn } from '../../utils/cn';\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'children'> {\n icon: ReactNode;\n 'aria-label': string;\n isRound?: boolean;\n}\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ className, icon, isRound = false, size = 'md', variant = 'outline', ...props }, ref) => {\n const sizeClass = size === 'sm' ? 'w-9' : size === 'lg' ? 'w-11' : 'w-10';\n\n return (\n <Button\n ref={ref}\n size={size}\n variant={variant}\n className={cn('px-0', sizeClass, isRound ? 'rounded-full' : 'rounded-xl', className)}\n {...props}\n >\n <span aria-hidden=\"true\">{icon}</span>\n </Button>\n );\n },\n);\n\nIconButton.displayName = 'IconButton';\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface InputGroupProps extends HTMLAttributes<HTMLDivElement> {}\n\nexport function InputGroup({ className, ...props }: InputGroupProps) {\n return <div className={cn('flex items-center gap-2', className)} {...props} />;\n}\r\n","import { useMemo, useState } from 'react';\r\nimport type { HTMLAttributes } from 'react';\r\n\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface InputOtpProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {\r\n length?: number;\r\n value?: string;\r\n defaultValue?: string;\r\n onValueChange?: (value: string) => void;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function InputOtp({ className, defaultValue = '', disabled = false, length = 6, onValueChange, value, ...props }: InputOtpProps) {\r\n const [internalValue, setInternalValue] = useState(defaultValue);\r\n const currentValue = value ?? internalValue;\r\n\r\n const cells = useMemo(() => Array.from({ length }, (_, index) => currentValue[index] ?? ''), [currentValue, length]);\r\n\r\n return (\r\n <div className={cn('flex items-center gap-2', className)} role=\"group\" aria-label=\"One-time password input\" {...props}>\r\n {cells.map((cell, index) => (\r\n <input\r\n key={index}\r\n inputMode=\"numeric\"\r\n pattern=\"[0-9]*\"\r\n maxLength={1}\r\n disabled={disabled}\r\n value={cell}\r\n onChange={(event) => {\r\n const nextChar = event.target.value.replace(/\\D/g, '').slice(-1);\r\n const nextValue = currentValue.padEnd(length, ' ').split('');\r\n nextValue[index] = nextChar || ' ';\r\n const normalized = nextValue.join('').replace(/\\s+$/g, '');\r\n if (value === undefined) {\r\n setInternalValue(normalized);\r\n }\r\n onValueChange?.(normalized);\r\n if (nextChar) {\r\n const nextInput = event.currentTarget.parentElement?.querySelectorAll('input')[index + 1] as HTMLInputElement | undefined;\r\n nextInput?.focus();\r\n }\r\n }}\r\n onKeyDown={(event) => {\r\n if (event.key === 'Backspace' && !cell) {\r\n const previousInput = event.currentTarget.parentElement?.querySelectorAll('input')[index - 1] as HTMLInputElement | undefined;\r\n previousInput?.focus();\r\n }\r\n }}\r\n className=\"ui-field h-12 w-12 text-center text-lg font-semibold\"\r\n aria-label={`Digit ${index + 1}`}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import { forwardRef } from 'react';\nimport type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface ItemProps extends HTMLAttributes<HTMLDivElement> {\n inset?: boolean;\n}\n\nexport const Item = forwardRef<HTMLDivElement, ItemProps>(({ className, inset = false, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-center gap-3 rounded-xl px-3 py-2 text-sm transition-colors hover:bg-muted/70',\n inset && 'pl-6',\n className,\n )}\n {...props}\n />\n );\n});\n\nItem.displayName = 'Item';\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface KbdProps extends HTMLAttributes<HTMLElement> {}\n\nexport function Kbd({ className, ...props }: KbdProps) {\n return <kbd className={cn('inline-flex items-center rounded-md border border-border bg-muted px-2 py-1 text-xs font-medium text-muted-foreground shadow-sm', className)} {...props} />;\n}\r\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface MenubarActionItem {\n id: string;\n label: ReactNode;\n shortcut?: ReactNode;\n onSelect?: () => void;\n disabled?: boolean;\n destructive?: boolean;\n}\n\nexport interface MenubarItem {\n id: string;\n label: ReactNode;\n items: MenubarActionItem[];\n}\n\nexport interface MenubarProps extends HTMLAttributes<HTMLDivElement> {\n menus: MenubarItem[];\n}\n\nexport function Menubar({ className, menus, ...props }: MenubarProps) {\n const [openMenu, setOpenMenu] = useState<string | null>(null);\n const [activeItemIndex, setActiveItemIndex] = useState(-1);\n const containerRef = useRef<HTMLDivElement>(null);\n const triggerRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const itemRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const shouldReduceMotion = useReducedMotion();\n\n const currentMenuIndex = Math.max(0, menus.findIndex((menu) => menu.id === openMenu));\n const currentMenu = openMenu ? menus[currentMenuIndex] : null;\n const enabledIndexes = useMemo(\n () => currentMenu?.items.map((item, index) => (!item.disabled ? index : -1)).filter((index) => index !== -1) ?? [],\n [currentMenu],\n );\n\n useEffect(() => {\n const handlePointerDown = (event: MouseEvent) => {\n if (!containerRef.current?.contains(event.target as Node)) {\n setOpenMenu(null);\n setActiveItemIndex(-1);\n }\n };\n\n document.addEventListener('mousedown', handlePointerDown);\n return () => document.removeEventListener('mousedown', handlePointerDown);\n }, []);\n\n useEffect(() => {\n if (!openMenu || activeItemIndex < 0) {\n return;\n }\n itemRefs.current[activeItemIndex]?.focus();\n }, [activeItemIndex, openMenu]);\n\n const openByIndex = (index: number) => {\n const nextMenu = menus[index];\n if (!nextMenu) return;\n setOpenMenu(nextMenu.id);\n const firstEnabled = nextMenu.items.findIndex((item) => !item.disabled);\n setActiveItemIndex(firstEnabled);\n };\n\n const moveMenu = (direction: 1 | -1) => {\n const nextIndex = openMenu ? (currentMenuIndex + direction + menus.length) % menus.length : 0;\n openByIndex(nextIndex);\n triggerRefs.current[nextIndex]?.focus();\n };\n\n const moveItem = (direction: 1 | -1) => {\n if (enabledIndexes.length === 0) return;\n const currentPosition = enabledIndexes.indexOf(activeItemIndex);\n const nextPosition = currentPosition === -1 ? 0 : (currentPosition + direction + enabledIndexes.length) % enabledIndexes.length;\n setActiveItemIndex(enabledIndexes[nextPosition]);\n };\n\n return (\n <div ref={containerRef} className={cn('inline-flex rounded-2xl border border-border bg-card p-1 shadow-soft', className)} role=\"menubar\" {...props}>\n {menus.map((menu, index) => {\n const isOpen = openMenu === menu.id;\n return (\n <div key={menu.id} className=\"relative\">\n <button\n ref={(element) => {\n triggerRefs.current[index] = element;\n }}\n type=\"button\"\n role=\"menuitem\"\n aria-expanded={isOpen}\n aria-haspopup=\"menu\"\n className={cn('rounded-xl px-3 py-2 text-sm font-medium transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', isOpen && 'bg-muted')}\n onClick={() => {\n if (isOpen) {\n setOpenMenu(null);\n setActiveItemIndex(-1);\n return;\n }\n openByIndex(index);\n }}\n onMouseEnter={() => {\n if (openMenu) {\n openByIndex(index);\n }\n }}\n onKeyDown={(event) => {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n moveMenu(1);\n }\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n moveMenu(-1);\n }\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n openByIndex(index);\n }\n }}\n >\n {menu.label}\n </button>\n <AnimatePresence>\n {isOpen ? (\n <motion.div\n role=\"menu\"\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 6 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\n className=\"absolute left-0 top-full z-30 mt-2 min-w-48 rounded-2xl border border-border bg-popover p-2 text-popover-foreground shadow-soft\"\n onKeyDown={(event) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n moveItem(1);\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n moveItem(-1);\n }\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n moveMenu(1);\n }\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n moveMenu(-1);\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n setOpenMenu(null);\n setActiveItemIndex(-1);\n triggerRefs.current[index]?.focus();\n }\n }}\n >\n {menu.items.map((item, itemIndex) => (\n <button\n key={item.id}\n ref={(element) => {\n itemRefs.current[itemIndex] = element;\n }}\n type=\"button\"\n role=\"menuitem\"\n disabled={item.disabled}\n tabIndex={activeItemIndex === itemIndex ? 0 : -1}\n className={cn(\n 'flex w-full items-center justify-between gap-3 rounded-xl px-3 py-2 text-left text-sm transition disabled:cursor-not-allowed disabled:opacity-50',\n item.destructive ? 'text-destructive hover:bg-destructive/10' : 'hover:bg-muted',\n )}\n onMouseEnter={() => {\n if (!item.disabled) {\n setActiveItemIndex(itemIndex);\n }\n }}\n onClick={() => {\n item.onSelect?.();\n setOpenMenu(null);\n setActiveItemIndex(-1);\n }}\n >\n <span>{item.label}</span>\n {item.shortcut ? <span className=\"text-xs text-muted-foreground\">{item.shortcut}</span> : null}\n </button>\n ))}\n </motion.div>\n ) : null}\n </AnimatePresence>\n </div>\n );\n })}\n </div>\n );\n}\r\n","import { forwardRef, useId } from 'react';\nimport type { ReactNode, SelectHTMLAttributes } from 'react';\n\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nexport interface NativeSelectProps extends SelectHTMLAttributes<HTMLSelectElement> {\n invalid?: boolean;\n}\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(({ className, invalid = false, ...props }, ref) => {\n return <select ref={ref} className={cn('ui-field', invalid && 'border-destructive focus-visible:ring-destructive', className)} aria-invalid={invalid || undefined} {...props} />;\n});\n\nNativeSelect.displayName = 'NativeSelect';\n\nexport interface NativeSelectFieldProps extends Omit<NativeSelectProps, 'id' | 'aria-describedby'> {\n id?: string;\n label: ReactNode;\n hint?: ReactNode;\n error?: ReactNode;\n}\n\nexport const NativeSelectField = forwardRef<HTMLSelectElement, NativeSelectFieldProps>(({ error, hint, id, invalid, label, required, ...props }, ref) => {\n const generatedId = useId();\n const selectId = id ?? generatedId;\n const hintId = hint ? `${selectId}-hint` : undefined;\n const errorId = error ? `${selectId}-error` : undefined;\n const describedBy = [hintId, errorId].filter(Boolean).join(' ') || undefined;\n const isInvalid = invalid || Boolean(error);\n\n return (\n <div className=\"space-y-2\">\n <Label htmlFor={selectId}>{label}{required ? <span className=\"ml-1 text-destructive\" aria-hidden=\"true\">*</span> : null}</Label>\n <NativeSelect ref={ref} id={selectId} required={required} invalid={isInvalid} aria-describedby={describedBy} {...props} />\n {hint ? <p id={hintId} className=\"text-sm text-muted-foreground\">{hint}</p> : null}\n {error ? <p id={errorId} className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p> : null}\n </div>\n );\n});\n\nNativeSelectField.displayName = 'NativeSelectField';\r\n","import { useId, useMemo, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface NavigationMenuItem {\n id?: string;\n title: ReactNode;\n description?: ReactNode;\n content?: ReactNode;\n href?: string;\n}\n\nexport interface NavigationMenuProps extends HTMLAttributes<HTMLDivElement> {\n items: NavigationMenuItem[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function NavigationMenu({ className, defaultValue, items, onValueChange, value, ...props }: NavigationMenuProps) {\n const firstItemId = (items[0]?.id ?? String(items[0]?.title ?? '')) || '';\n const [internalValue, setInternalValue] = useState(defaultValue ?? firstItemId);\n const currentValue = value ?? internalValue;\n const activeIndex = Math.max(0, items.findIndex((item) => (item.id ?? String(item.title)) === currentValue));\n const activeItem = items[activeIndex] ?? items[0];\n const baseId = useId();\n const shouldReduceMotion = useReducedMotion();\n\n const itemIds = useMemo(() => items.map((item) => item.id ?? String(item.title)), [items]);\n\n const setValue = (nextValue: string) => {\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n onValueChange?.(nextValue);\n };\n\n return (\n <div className={cn('relative inline-flex flex-col gap-4', className)} {...props}>\n <div className=\"inline-flex rounded-2xl border border-border bg-card p-1 shadow-soft\" role=\"tablist\" aria-label=\"Navigation menu\">\n {items.map((item, index) => {\n const resolvedId = item.id ?? String(item.title);\n const selected = currentValue === resolvedId;\n\n return (\n <button\n key={resolvedId}\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-tab-${resolvedId}`}\n aria-controls={`${baseId}-panel-${resolvedId}`}\n aria-selected={selected}\n tabIndex={selected ? 0 : -1}\n className={cn(\n 'rounded-xl px-4 py-2 text-sm font-medium transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n selected && 'bg-muted',\n )}\n onMouseEnter={() => setValue(resolvedId)}\n onFocus={() => setValue(resolvedId)}\n onClick={() => setValue(resolvedId)}\n onKeyDown={(event) => {\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n setValue(itemIds[(index + 1) % itemIds.length]);\n }\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n setValue(itemIds[(index - 1 + itemIds.length) % itemIds.length]);\n }\n if (event.key === 'Home') {\n event.preventDefault();\n setValue(itemIds[0]);\n }\n if (event.key === 'End') {\n event.preventDefault();\n setValue(itemIds[itemIds.length - 1]);\n }\n }}\n >\n {item.title}\n </button>\n );\n })}\n </div>\n <AnimatePresence mode=\"wait\">\n <motion.div\n key={currentValue}\n role=\"tabpanel\"\n id={`${baseId}-panel-${activeItem?.id ?? String(activeItem?.title)}`}\n aria-labelledby={`${baseId}-tab-${activeItem?.id ?? String(activeItem?.title)}`}\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: 6 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\n className=\"ui-surface min-h-44 w-full max-w-xl p-5\"\n >\n <div className=\"space-y-2\">\n <div className=\"text-base font-semibold\">{activeItem?.title}</div>\n {activeItem?.description ? <p className=\"text-sm text-muted-foreground\">{activeItem.description}</p> : null}\n </div>\n {activeItem?.content ? <div className=\"mt-4\">{activeItem.content}</div> : null}\n {activeItem?.href ? <a className=\"mt-4 inline-flex text-sm font-medium text-primary underline-offset-4 hover:underline\" href={activeItem.href}>Explore</a> : null}\n </motion.div>\n </AnimatePresence>\n </div>\n );\n}\r\n","import type { HTMLAttributes } from 'react';\n\nimport { Button } from './button';\nimport { cn } from '../../utils/cn';\n\nexport interface PaginationProps extends HTMLAttributes<HTMLElement> {\n currentPage: number;\n totalPages: number;\n onPageChange?: (page: number) => void;\n}\n\nexport function Pagination({ className, currentPage, onPageChange, totalPages, ...props }: PaginationProps) {\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1);\n\n return (\n <nav aria-label=\"Pagination\" className={cn('flex items-center gap-2', className)} {...props}>\n <Button variant=\"outline\" size=\"sm\" disabled={currentPage <= 1} onClick={() => onPageChange?.(currentPage - 1)}>\n Previous\n </Button>\n <div className=\"flex items-center gap-2\">\n {pages.map((page) => (\n <Button\n key={page}\n variant={page === currentPage ? 'primary' : 'outline'}\n size=\"sm\"\n aria-current={page === currentPage ? 'page' : undefined}\n onClick={() => onPageChange?.(page)}\n >\n {page}\n </Button>\n ))}\n </div>\n <Button variant=\"outline\" size=\"sm\" disabled={currentPage >= totalPages} onClick={() => onPageChange?.(currentPage + 1)}>\n Next\n </Button>\n </nav>\n );\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Badge } from './badge';\nimport { Button } from './button';\nimport { cn } from '../../utils/cn';\n\nexport interface PricingCardProps extends HTMLAttributes<HTMLDivElement> {\n name: ReactNode;\n price: ReactNode;\n description?: ReactNode;\n features: ReactNode[];\n ctaLabel: ReactNode;\n highlighted?: boolean;\n}\n\nexport function PricingCard({ className, ctaLabel, description, features, highlighted = false, name, price, ...props }: PricingCardProps) {\n return (\n <div className={cn('ui-surface h-full space-y-6 p-6', highlighted && 'border-primary shadow-[0_24px_60px_-24px_rgba(37,99,235,0.45)]', className)} {...props}>\n <div className=\"space-y-3\">\n <div className=\"flex items-center justify-between gap-3\">\n <h3 className=\"text-xl font-semibold tracking-tight text-foreground\">{name}</h3>\n {highlighted ? <Badge>Popular</Badge> : null}\n </div>\n <div className=\"text-3xl font-semibold tracking-tight text-foreground\">{price}</div>\n {description ? <p className=\"text-sm leading-6 text-muted-foreground\">{description}</p> : null}\n </div>\n <ul className=\"space-y-2 text-sm text-muted-foreground\">\n {features.map((feature, index) => (\n <li key={index} className=\"flex items-start gap-2\">\n <span className=\"mt-1 text-primary\">�</span>\n <span>{feature}</span>\n </li>\n ))}\n </ul>\n <Button variant={highlighted ? 'primary' : 'outline'} fullWidth>\n {ctaLabel}\n </Button>\n </div>\n );\n}\r\n","import type { HTMLAttributes } from 'react';\r\nimport { cva, type VariantProps } from 'class-variance-authority';\r\n\r\nimport { cn } from '../../utils/cn';\r\n\r\nconst trackVariants = cva('relative w-full overflow-hidden rounded-full bg-muted', {\r\n variants: {\r\n size: {\r\n sm: 'h-1.5',\r\n md: 'h-2.5',\r\n lg: 'h-4',\r\n },\r\n },\r\n defaultVariants: { size: 'md' },\r\n});\r\n\r\nconst fillVariants = cva('h-full rounded-full transition-all duration-500 ease-out', {\r\n variants: {\r\n color: {\r\n primary: 'bg-primary',\r\n success: 'bg-success',\r\n warning: 'bg-warning',\r\n destructive: 'bg-destructive',\r\n info: 'bg-info',\r\n gradient: 'bg-gradient-to-r from-primary to-info',\r\n },\r\n },\r\n defaultVariants: { color: 'primary' },\r\n});\r\n\r\nexport interface ProgressProps\r\n extends Omit<HTMLAttributes<HTMLDivElement>, 'value' | 'color'>,\r\n VariantProps<typeof trackVariants>,\r\n VariantProps<typeof fillVariants> {\r\n value?: number;\r\n showLabel?: boolean;\r\n striped?: boolean;\r\n animated?: boolean;\r\n}\r\n\r\nexport function Progress({\r\n className,\r\n value = 0,\r\n size,\r\n color,\r\n showLabel = false,\r\n striped = false,\r\n animated = false,\r\n ...props\r\n}: ProgressProps) {\r\n const clamped = Math.max(0, Math.min(100, value));\r\n\r\n return (\r\n <div className={cn('w-full', showLabel && 'space-y-1.5')}>\r\n {showLabel && (\r\n <div className=\"flex items-center justify-between\">\r\n <span className=\"text-xs font-medium text-muted-foreground\">Progress</span>\r\n <span className=\"text-xs font-semibold text-foreground\">{clamped}%</span>\r\n </div>\r\n )}\r\n <div\r\n className={cn(trackVariants({ size }), className)}\r\n role=\"progressbar\"\r\n aria-valuenow={clamped}\r\n aria-valuemin={0}\r\n aria-valuemax={100}\r\n {...props}\r\n >\r\n <div\r\n className={cn(\r\n fillVariants({ color }),\r\n striped &&\r\n 'bg-[repeating-linear-gradient(45deg,transparent,transparent_8px,rgba(255,255,255,0.2)_8px,rgba(255,255,255,0.2)_16px)]',\r\n animated && striped && 'animate-[progress-stripes_1s_linear_infinite]',\r\n )}\r\n style={{ width: `${clamped}%` }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n","import { createContext, useContext, useMemo, useState } from 'react';\r\nimport type { HTMLAttributes, InputHTMLAttributes, ReactNode } from 'react';\r\n\r\nimport { Label } from './label';\r\nimport { cn } from '../../utils/cn';\r\n\r\ninterface RadioGroupContextValue {\r\n value: string;\r\n setValue: (value: string) => void;\r\n name: string;\r\n}\r\n\r\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\r\n\r\nfunction useRadioGroupContext() {\r\n const context = useContext(RadioGroupContext);\r\n if (!context) {\r\n throw new Error('RadioGroupItem must be used within RadioGroup.');\r\n }\r\n return context;\r\n}\r\n\r\nexport interface RadioGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue'> {\r\n value?: string;\r\n defaultValue?: string;\r\n onValueChange?: (value: string) => void;\r\n name?: string;\r\n}\r\n\r\nexport function RadioGroup({ children, className, defaultValue = '', name = 'radio-group', onValueChange, value, ...props }: RadioGroupProps) {\r\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\r\n const currentValue = value ?? uncontrolledValue;\r\n\r\n const contextValue = useMemo(\r\n () => ({\r\n value: currentValue,\r\n name,\r\n setValue: (nextValue: string) => {\r\n if (value === undefined) {\r\n setUncontrolledValue(nextValue);\r\n }\r\n onValueChange?.(nextValue);\r\n },\r\n }),\r\n [currentValue, name, onValueChange, value],\r\n );\r\n\r\n return (\r\n <RadioGroupContext.Provider value={contextValue}>\r\n <div role=\"radiogroup\" className={cn('grid gap-3', className)} {...props}>\r\n {children}\r\n </div>\r\n </RadioGroupContext.Provider>\r\n );\r\n}\r\n\r\nexport interface RadioGroupItemProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'name' | 'checked' | 'defaultChecked' | 'onChange'> {\r\n value: string;\r\n label?: ReactNode;\r\n description?: ReactNode;\r\n}\r\n\r\nexport function RadioGroupItem({ className, description, id, label, value, ...props }: RadioGroupItemProps) {\r\n const context = useRadioGroupContext();\r\n const checked = context.value === value;\r\n\r\n return (\r\n <label htmlFor={id} className=\"flex items-start gap-3\">\r\n <span className=\"relative mt-0.5 inline-flex size-4 items-center justify-center rounded-full border border-input bg-card\">\r\n <input\r\n id={id}\r\n type=\"radio\"\r\n name={context.name}\r\n checked={checked}\r\n onChange={() => context.setValue(value)}\r\n className={cn('peer absolute inset-0 m-0 size-full cursor-pointer opacity-0', className)}\r\n {...props}\r\n />\r\n <span className={cn('size-2 rounded-full bg-primary transition', checked ? 'opacity-100' : 'opacity-0')} />\r\n </span>\r\n {(label || description) ? (\r\n <span className=\"grid gap-1\">\r\n {label ? <Label className=\"leading-5\">{label}</Label> : null}\r\n {description ? <span className=\"text-sm text-muted-foreground\">{description}</span> : null}\r\n </span>\r\n ) : null}\r\n </label>\r\n );\r\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface ResizableProps extends HTMLAttributes<HTMLDivElement> {\n defaultRatio?: number;\n min?: number;\n max?: number;\n left: ReactNode;\n right: ReactNode;\n}\n\nexport function Resizable({ className, defaultRatio = 50, left, max = 75, min = 25, right, ...props }: ResizableProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [ratio, setRatio] = useState(defaultRatio);\n\n return (\n <div ref={containerRef} className={cn('flex h-[360px] overflow-hidden rounded-2xl border border-border bg-card', className)} {...props}>\n <div style={{ width: `${ratio}%` }} className=\"min-w-0 overflow-auto\">{left}</div>\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n tabIndex={0}\n className=\"w-2 cursor-col-resize bg-border/70 transition hover:bg-border\"\n onMouseDown={(event) => {\n event.preventDefault();\n const handleMove = (moveEvent: MouseEvent) => {\n const rect = containerRef.current?.getBoundingClientRect();\n if (!rect) return;\n const next = ((moveEvent.clientX - rect.left) / rect.width) * 100;\n setRatio(Math.min(max, Math.max(min, next)));\n };\n const handleUp = () => {\n window.removeEventListener('mousemove', handleMove);\n window.removeEventListener('mouseup', handleUp);\n };\n window.addEventListener('mousemove', handleMove);\n window.addEventListener('mouseup', handleUp);\n }}\n />\n <div style={{ width: `${100 - ratio}%` }} className=\"min-w-0 overflow-auto\">{right}</div>\n </div>\n );\n}\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: 'vertical' | 'horizontal' | 'both';\n}\n\nexport function ScrollArea({ className, orientation = 'vertical', ...props }: ScrollAreaProps) {\n return (\n <div\n className={cn(\n 'rounded-2xl border border-border bg-card',\n orientation === 'vertical' && 'overflow-y-auto overflow-x-hidden',\n orientation === 'horizontal' && 'overflow-x-auto overflow-y-hidden',\n orientation === 'both' && 'overflow-auto',\n className,\n )}\n {...props}\n />\n );\n}\r\n","import { useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface SegmentedControlOption {\n label: ReactNode;\n value: string;\n disabled?: boolean;\n}\n\nexport interface SegmentedControlProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n options: SegmentedControlOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function SegmentedControl({ className, defaultValue, onValueChange, options, value, ...props }: SegmentedControlProps) {\n const [internalValue, setInternalValue] = useState(defaultValue ?? options[0]?.value ?? '');\n const currentValue = value ?? internalValue;\n\n const setValue = (nextValue: string) => {\n if (value === undefined) {\n setInternalValue(nextValue);\n }\n onValueChange?.(nextValue);\n };\n\n return (\n <div className={cn('inline-flex rounded-2xl border border-border bg-card p-1 shadow-soft', className)} role=\"tablist\" {...props}>\n {options.map((option) => {\n const selected = currentValue === option.value;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"tab\"\n aria-selected={selected}\n disabled={option.disabled}\n className={cn(\n 'rounded-xl px-4 py-2 text-sm font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n selected ? 'bg-primary text-primary-foreground shadow-soft' : 'text-muted-foreground hover:bg-muted',\n )}\n onClick={() => setValue(option.value)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n );\n}\r\n","import { useEffect, useId, useMemo, useRef, useState } from 'react';\r\nimport type { HTMLAttributes, ReactNode } from 'react';\r\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\r\n\r\nimport { Label } from './label';\r\nimport { cn } from '../../utils/cn';\r\n\r\nexport interface SelectOption {\r\n label: ReactNode;\r\n value: string;\r\n disabled?: boolean;\r\n}\r\n\r\nexport interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'value' | 'defaultValue'> {\r\n options: SelectOption[];\r\n value?: string;\r\n defaultValue?: string;\r\n onValueChange?: (value: string) => void;\r\n placeholder?: string;\r\n label?: ReactNode;\r\n hint?: ReactNode;\r\n error?: ReactNode;\r\n}\r\n\r\nexport function Select({\r\n className,\r\n defaultValue,\r\n error,\r\n hint,\r\n label,\r\n onValueChange,\r\n options,\r\n placeholder = 'Select an option',\r\n value,\r\n ...props\r\n}: SelectProps) {\r\n const [open, setOpen] = useState(false);\r\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? '');\r\n const [activeIndex, setActiveIndex] = useState(-1);\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n const optionRefs = useRef<Array<HTMLButtonElement | null>>([]);\r\n const shouldReduceMotion = useReducedMotion();\r\n const labelId = useId();\r\n const hintId = useId();\r\n const errorId = useId();\r\n\r\n const currentValue = value ?? uncontrolledValue;\r\n const selectedOption = options.find((option) => option.value === currentValue);\r\n const enabledIndexes = useMemo(\r\n () => options.map((option, index) => (!option.disabled ? index : -1)).filter((index) => index !== -1),\r\n [options],\r\n );\r\n const describedBy = [hint ? hintId : null, error ? errorId : null].filter(Boolean).join(' ') || undefined;\r\n\r\n useEffect(() => {\r\n if (!open) {\r\n setActiveIndex(-1);\r\n return undefined;\r\n }\r\n\r\n const handlePointerDown = (event: MouseEvent) => {\r\n if (!containerRef.current?.contains(event.target as Node)) {\r\n setOpen(false);\r\n }\r\n };\r\n\r\n const handleEscape = (event: KeyboardEvent) => {\r\n if (event.key === 'Escape') {\r\n setOpen(false);\r\n buttonRef.current?.focus();\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', handlePointerDown);\r\n document.addEventListener('keydown', handleEscape);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', handlePointerDown);\r\n document.removeEventListener('keydown', handleEscape);\r\n };\r\n }, [open]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) {\r\n return;\r\n }\r\n\r\n optionRefs.current[activeIndex]?.focus();\r\n }, [activeIndex, open]);\r\n\r\n const setValue = (nextValue: string) => {\r\n if (value === undefined) {\r\n setUncontrolledValue(nextValue);\r\n }\r\n onValueChange?.(nextValue);\r\n };\r\n\r\n return (\r\n <div ref={containerRef} className={cn('space-y-2', className)} {...props}>\r\n {label ? <Label id={labelId}>{label}</Label> : null}\r\n <div className=\"relative\">\r\n <button\r\n ref={buttonRef}\r\n type=\"button\"\r\n className={cn('ui-field items-center justify-between text-left', Boolean(error) && 'border-destructive focus-visible:ring-destructive')}\r\n aria-expanded={open}\r\n aria-haspopup=\"listbox\"\r\n aria-labelledby={label ? `${labelId}` : undefined}\r\n aria-describedby={describedBy}\r\n aria-invalid={Boolean(error) || undefined}\r\n onClick={() => {\r\n setOpen((previous) => !previous);\r\n setActiveIndex(Math.max(options.findIndex((option) => option.value === currentValue), enabledIndexes[0] ?? -1));\r\n }}\r\n onKeyDown={(event) => {\r\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\r\n event.preventDefault();\r\n setOpen(true);\r\n setActiveIndex(Math.max(options.findIndex((option) => option.value === currentValue), enabledIndexes[0] ?? -1));\r\n }\r\n }}\r\n >\r\n <span className={selectedOption ? 'text-foreground' : 'text-muted-foreground'}>\r\n {selectedOption?.label ?? placeholder}\r\n </span>\r\n <span aria-hidden=\"true\" className=\"text-muted-foreground\">?</span>\r\n </button>\r\n\r\n <AnimatePresence>\r\n {open ? (\r\n <motion.div\r\n role=\"listbox\"\r\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\r\n animate={{ opacity: 1, y: 0 }}\r\n exit={{ opacity: 0, y: 6 }}\r\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\r\n className=\"absolute top-full z-30 mt-2 w-full rounded-2xl border border-border bg-popover p-2 text-popover-foreground shadow-soft\"\r\n onKeyDown={(event) => {\r\n const currentPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (event.key === 'ArrowDown' && enabledIndexes.length > 0) {\r\n event.preventDefault();\r\n const nextPosition = currentPosition === -1 ? 0 : (currentPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition]);\r\n }\r\n\r\n if (event.key === 'ArrowUp' && enabledIndexes.length > 0) {\r\n event.preventDefault();\r\n const nextPosition = currentPosition === -1 ? 0 : (currentPosition - 1 + enabledIndexes.length) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition]);\r\n }\r\n\r\n if (event.key === 'Enter' && activeIndex >= 0) {\r\n event.preventDefault();\r\n const option = options[activeIndex];\r\n if (!option?.disabled) {\r\n setValue(option.value);\r\n setOpen(false);\r\n buttonRef.current?.focus();\r\n }\r\n }\r\n }}\r\n >\r\n {options.map((option, index) => {\r\n const selected = option.value === currentValue;\r\n return (\r\n <button\r\n key={option.value}\r\n ref={(element) => {\r\n optionRefs.current[index] = element;\r\n }}\r\n type=\"button\"\r\n role=\"option\"\r\n aria-selected={selected}\r\n disabled={option.disabled}\r\n tabIndex={activeIndex === index ? 0 : -1}\r\n className={cn(\r\n 'flex w-full items-center justify-between rounded-xl px-3 py-2 text-sm transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\r\n selected && 'bg-accent text-accent-foreground',\r\n )}\r\n onMouseEnter={() => {\r\n if (!option.disabled) {\r\n setActiveIndex(index);\r\n }\r\n }}\r\n onClick={() => {\r\n if (option.disabled) {\r\n return;\r\n }\r\n setValue(option.value);\r\n setOpen(false);\r\n buttonRef.current?.focus();\r\n }}\r\n >\r\n <span>{option.label}</span>\r\n {selected ? <span aria-hidden=\"true\">?</span> : null}\r\n </button>\r\n );\r\n })}\r\n </motion.div>\r\n ) : null}\r\n </AnimatePresence>\r\n </div>\r\n {hint ? <p id={hintId} className=\"text-sm text-muted-foreground\">{hint}</p> : null}\r\n {error ? <p id={errorId} className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p> : null}\r\n </div>\r\n );\r\n}\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface SeparatorProps extends HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical';\n}\n\nexport function Separator({ className, orientation = 'horizontal', ...props }: SeparatorProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px',\n className,\n )}\n {...props}\n />\n );\n}\r\n","import { useMemo, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\n\nimport { Button } from './button';\nimport { cn } from '../../utils/cn';\n\nexport interface SidebarItem {\n id?: string;\n label: string;\n icon?: ReactNode;\n badge?: ReactNode;\n active?: boolean;\n onSelect?: () => void;\n}\n\nexport interface SidebarSection {\n id?: string;\n title?: ReactNode;\n items: SidebarItem[];\n}\n\nexport interface SidebarProps extends HTMLAttributes<HTMLDivElement> {\n header?: ReactNode;\n footer?: ReactNode;\n collapsedWidth?: string;\n defaultCollapsed?: boolean;\n collapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n items?: SidebarItem[];\n sections?: SidebarSection[];\n}\n\nexport function Sidebar({\n className,\n collapsed,\n collapsedWidth = '5rem',\n defaultCollapsed = false,\n footer,\n header,\n items = [],\n onCollapsedChange,\n sections,\n ...props\n}: SidebarProps) {\n const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);\n const isCollapsed = collapsed ?? internalCollapsed;\n const resolvedSections = useMemo(() => sections ?? [{ id: 'default', items }], [items, sections]);\n\n const setCollapsed = (next: boolean) => {\n if (collapsed === undefined) {\n setInternalCollapsed(next);\n }\n onCollapsedChange?.(next);\n };\n\n return (\n <aside\n className={cn('flex h-full min-h-[420px] flex-col gap-4 rounded-3xl border border-border bg-card p-4 transition-all duration-200', className)}\n style={{ width: isCollapsed ? collapsedWidth : '18rem' }}\n {...props}\n >\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"min-w-0 flex-1\">{header}</div>\n <Button size=\"sm\" variant=\"outline\" aria-label={isCollapsed ? 'Expand sidebar' : 'Collapse sidebar'} onClick={() => setCollapsed(!isCollapsed)}>\n {isCollapsed ? 'Open' : 'Close'}\n </Button>\n </div>\n <nav className=\"flex-1 space-y-4\" aria-label=\"Sidebar navigation\">\n {resolvedSections.map((section, sectionIndex) => (\n <div key={section.id ?? `section-${sectionIndex}`} className=\"space-y-2\">\n {section.title && !isCollapsed ? <p className=\"px-2 text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground\">{section.title}</p> : null}\n <div className=\"space-y-1\">\n {section.items.map((item, itemIndex) => (\n <button\n key={item.id ?? `${section.id ?? sectionIndex}-${item.label}-${itemIndex}`}\n type=\"button\"\n className={cn(\n 'flex w-full items-center gap-3 rounded-2xl px-3 py-2 text-left text-sm transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n item.active && 'bg-primary text-primary-foreground shadow-soft',\n )}\n onClick={item.onSelect}\n aria-current={item.active ? 'page' : undefined}\n title={isCollapsed ? item.label : undefined}\n >\n <span className=\"shrink-0\">{item.icon}</span>\n {!isCollapsed ? <span className=\"min-w-0 flex-1 truncate\">{item.label}</span> : null}\n {!isCollapsed && item.badge ? <span className=\"shrink-0 text-xs text-muted-foreground\">{item.badge}</span> : null}\n </button>\n ))}\n </div>\n </div>\n ))}\n </nav>\n {footer ? <div className=\"border-t border-border pt-4\">{footer}</div> : null}\n </aside>\n );\n}\r\n","import type { HTMLAttributes } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils/cn';\n\nconst skeletonVariants = cva('', {\n variants: {\n variant: {\n pulse: 'animate-pulse bg-muted',\n wave: 'ui-shimmer',\n },\n shape: {\n rectangle: 'rounded-xl',\n circle: 'rounded-full',\n text: 'rounded-md w-full',\n },\n },\n defaultVariants: { variant: 'pulse', shape: 'rectangle' },\n});\n\nexport interface SkeletonProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {}\n\nexport function Skeleton({ className, variant, shape, ...props }: SkeletonProps) {\n return <div className={cn(skeletonVariants({ variant, shape }), className)} aria-hidden=\"true\" {...props} />;\n}\n\n","import { forwardRef } from 'react';\nimport type { InputHTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n label?: string;\n}\n\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(({ className, label, max = 100, min = 0, ...props }, ref) => {\n return (\n <label className=\"flex w-full flex-col gap-3\">\n {label ? <span className=\"text-sm font-medium text-foreground\">{label}</span> : null}\n <input ref={ref} type=\"range\" min={min} max={max} className={cn('h-2 w-full cursor-pointer appearance-none rounded-full bg-muted accent-primary', className)} {...props} />\n </label>\n );\n});\n\nSlider.displayName = 'Slider';\r\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n size?: 'sm' | 'md' | 'lg';\n}\n\nexport function Spinner({ className, size = 'md', ...props }: SpinnerProps) {\n return (\n <div className={cn('inline-flex items-center justify-center', className)} {...props}>\n <span\n className={cn(\n 'inline-block animate-spin rounded-full border-2 border-current border-r-transparent text-primary',\n size === 'sm' && 'size-4',\n size === 'md' && 'size-5',\n size === 'lg' && 'size-7',\n )}\n aria-hidden=\"true\"\n />\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\r\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface StatProps extends HTMLAttributes<HTMLDivElement> {\n label: ReactNode;\n value: ReactNode;\n helpText?: ReactNode;\n /** positive number = up, negative = down, 0 = neutral */\n trend?: number;\n trendLabel?: ReactNode;\n icon?: ReactNode;\n loading?: boolean;\n}\n\nfunction TrendArrow({ value }: { value: number }) {\n if (value > 0)\n return (\n <span className=\"inline-flex items-center gap-1 rounded-full bg-success/10 px-2 py-0.5 text-xs font-semibold text-success\">\n <svg className=\"size-3\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4.5 19.5l15-15m0 0H8.25m11.25 0v11.25\" />\n </svg>\n +{value}%\n </span>\n );\n if (value < 0)\n return (\n <span className=\"inline-flex items-center gap-1 rounded-full bg-destructive/10 px-2 py-0.5 text-xs font-semibold text-destructive\">\n <svg className=\"size-3\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4.5 4.5l15 15m0 0V8.25m0 11.25H8.25\" />\n </svg>\n {value}%\n </span>\n );\n return (\n <span className=\"inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs font-semibold text-muted-foreground\">\n —\n </span>\n );\n}\n\nexport function Stat({ className, helpText, label, trend, trendLabel, value, icon, loading, ...props }: StatProps) {\n return (\n <div className={cn('ui-surface space-y-3 p-5', className)} {...props}>\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"flex items-center gap-2\">\n {icon && (\n <span className=\"flex size-9 items-center justify-center rounded-xl bg-primary/10 text-primary [&_svg]:size-4\">\n {icon}\n </span>\n )}\n <p className=\"text-sm font-medium text-muted-foreground\">{label}</p>\n </div>\n {trend !== undefined ? <TrendArrow value={trend} /> : null}\n </div>\n <div className={cn('text-3xl font-bold tracking-tight text-foreground', loading && 'animate-pulse bg-muted rounded-lg h-9 w-24')}>\n {!loading ? value : null}\n </div>\n {(helpText || trendLabel) ? (\n <p className=\"text-xs text-muted-foreground\">\n {helpText}\n {trendLabel && <span className=\"ml-1 text-muted-foreground\">{trendLabel}</span>}\n </p>\n ) : null}\n </div>\n );\n}\n\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface StepperStep {\n id: string;\n title: string;\n description?: string;\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n steps: StepperStep[];\n currentStep: number;\n}\n\nexport function Stepper({ className, currentStep, steps, ...props }: StepperProps) {\n return (\n <div className={cn('grid gap-4', className)} {...props}>\n {steps.map((step, index) => {\n const state = index < currentStep ? 'complete' : index === currentStep ? 'current' : 'upcoming';\n return (\n <div key={step.id} className=\"flex items-start gap-4\">\n <div className={cn('mt-0.5 flex size-9 items-center justify-center rounded-full border text-sm font-semibold', state === 'complete' && 'border-primary bg-primary text-primary-foreground', state === 'current' && 'border-primary text-primary', state === 'upcoming' && 'border-border text-muted-foreground')}>\n {index + 1}\n </div>\n <div className=\"space-y-1\">\n <div className={cn('text-sm font-medium', state === 'upcoming' ? 'text-muted-foreground' : 'text-foreground')}>{step.title}</div>\n {step.description ? <p className=\"text-sm text-muted-foreground\">{step.description}</p> : null}\n </div>\n </div>\n );\n })}\n </div>\n );\n}\r\n","import { useId, useState } from 'react';\nimport type { ButtonHTMLAttributes, ReactNode } from 'react';\nimport { motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface SwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n label?: ReactNode;\n description?: ReactNode;\n}\n\nexport function Switch({ checked, className, defaultChecked = false, description, disabled, id, label, onCheckedChange, ...props }: SwitchProps) {\n const generatedId = useId();\n const switchId = id ?? generatedId;\n const [internalChecked, setInternalChecked] = useState(defaultChecked);\n const isChecked = checked ?? internalChecked;\n const shouldReduceMotion = useReducedMotion();\n const labelId = `${switchId}-label`;\n const descriptionId = description ? `${switchId}-description` : undefined;\n\n const handleToggle = () => {\n if (disabled) {\n return;\n }\n\n const nextValue = !isChecked;\n if (checked === undefined) {\n setInternalChecked(nextValue);\n }\n onCheckedChange?.(nextValue);\n };\n\n return (\n <div className=\"flex items-start justify-between gap-3\">\n {(label || description) ? (\n <div className=\"grid gap-1\">\n {label ? <span id={labelId} className=\"text-sm font-medium leading-5 text-foreground\">{label}</span> : null}\n {description ? <span id={descriptionId} className=\"text-sm text-muted-foreground\">{description}</span> : null}\n </div>\n ) : null}\n <button\n id={switchId}\n type=\"button\"\n role=\"switch\"\n aria-checked={isChecked}\n aria-labelledby={label ? labelId : undefined}\n aria-describedby={descriptionId}\n disabled={disabled}\n className={cn(\n 'relative inline-flex h-6 w-11 shrink-0 items-center rounded-full border border-transparent bg-input transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n isChecked && 'bg-primary',\n className,\n )}\n onClick={handleToggle}\n {...props}\n >\n <motion.span\n className=\"block size-5 rounded-full bg-white shadow-sm\"\n animate={{ x: isChecked ? 20 : 2 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' }}\n />\n </button>\n </div>\n );\n}\r\n","import { createContext, useContext, useId, useMemo, useState } from 'react';\nimport type { ButtonHTMLAttributes, HTMLAttributes, PropsWithChildren, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\nimport type { HTMLMotionProps } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\ninterface TabsContextValue {\n value: string;\n setValue: (value: string) => void;\n triggers: string[];\n baseId: string;\n}\n\nconst TabsContext = createContext<TabsContextValue | null>(null);\n\nfunction useTabsContext() {\n const context = useContext(TabsContext);\n\n if (!context) {\n throw new Error('Tabs components must be used within <Tabs>.');\n }\n\n return context;\n}\n\nexport interface TabsProps extends PropsWithChildren {\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nexport function Tabs({ children, defaultValue, onValueChange, value }: TabsProps) {\n const triggers = useMemo(() => {\n const values: string[] = [];\n\n for (const child of Array.isArray(children) ? children : [children]) {\n if (child && typeof child === 'object' && 'props' in child) {\n const childProps = child.props as { children?: ReactNode };\n const nestedChildren = childProps.children;\n\n for (const nestedChild of Array.isArray(nestedChildren) ? nestedChildren : [nestedChildren]) {\n if (nestedChild && typeof nestedChild === 'object' && 'props' in nestedChild) {\n const nestedProps = nestedChild.props as { value?: string };\n if (nestedProps.value) {\n values.push(nestedProps.value);\n }\n }\n }\n }\n }\n\n return values;\n }, [children]);\n\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? triggers[0] ?? '');\n const currentValue = value ?? uncontrolledValue;\n const baseId = useId();\n\n const contextValue = useMemo(\n () => ({\n baseId,\n setValue: (nextValue: string) => {\n if (value === undefined) {\n setUncontrolledValue(nextValue);\n }\n onValueChange?.(nextValue);\n },\n triggers,\n value: currentValue,\n }),\n [baseId, currentValue, onValueChange, triggers, value],\n );\n\n return <TabsContext.Provider value={contextValue}>{children}</TabsContext.Provider>;\n}\n\nexport function TabsList({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n role=\"tablist\"\n className={cn('inline-flex rounded-2xl border border-border bg-slate-100 p-1 dark:bg-slate-900', className)}\n {...props}\n />\n );\n}\n\nexport interface TabsTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n value: string;\n children: ReactNode;\n}\n\nexport function TabsTrigger({ children, className, onClick, value, ...props }: TabsTriggerProps) {\n const { baseId, setValue, triggers, value: selectedValue } = useTabsContext();\n const selected = selectedValue === value;\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n id={`${baseId}-tab-${value}`}\n aria-controls={`${baseId}-panel-${value}`}\n aria-selected={selected}\n tabIndex={selected ? 0 : -1}\n className={cn(\n 'rounded-xl px-3 py-2 text-sm font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n selected ? 'bg-white text-foreground shadow-soft dark:bg-slate-950' : 'text-muted-foreground',\n className,\n )}\n onClick={(event) => {\n setValue(value);\n onClick?.(event);\n }}\n onKeyDown={(event) => {\n const currentIndex = triggers.indexOf(value);\n if (currentIndex === -1) {\n return;\n }\n\n if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {\n event.preventDefault();\n setValue(triggers[(currentIndex + 1) % triggers.length]);\n }\n\n if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {\n event.preventDefault();\n setValue(triggers[(currentIndex - 1 + triggers.length) % triggers.length]);\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n setValue(triggers[0]);\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n setValue(triggers[triggers.length - 1]);\n }\n }}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {\n value: string;\n}\n\ntype MotionTabsContentProps = Omit<HTMLMotionProps<'div'>, 'children' | 'className' | 'ref'>;\n\nexport function TabsContent({ className, value, ...props }: TabsContentProps) {\n const { baseId, value: selectedValue } = useTabsContext();\n const shouldReduceMotion = useReducedMotion();\n\n return (\n <AnimatePresence mode=\"wait\">\n {selectedValue === value ? (\n <motion.div\n key={value}\n role=\"tabpanel\"\n id={`${baseId}-panel-${value}`}\n aria-labelledby={`${baseId}-tab-${value}`}\n initial={shouldReduceMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -4 }}\n transition={{ duration: shouldReduceMotion ? 0 : 0.18, ease: 'easeOut' }}\n className={cn('mt-4', className)}\n {...(props as MotionTabsContentProps)}\n />\n ) : null}\n </AnimatePresence>\n );\n}\r\n","import { forwardRef, useId } from 'react';\nimport type { TextareaHTMLAttributes, ReactNode } from 'react';\n\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nexport interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {\n invalid?: boolean;\n}\n\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, invalid = false, ...props }, ref) => {\n return (\n <textarea\n ref={ref}\n className={cn(\n 'ui-field min-h-28 resize-y py-3',\n invalid && 'border-destructive focus-visible:ring-destructive',\n className,\n )}\n aria-invalid={invalid || undefined}\n {...props}\n />\n );\n },\n);\n\nTextarea.displayName = 'Textarea';\n\nexport interface TextareaFieldProps extends Omit<TextareaProps, 'id' | 'aria-describedby'> {\n id?: string;\n label: ReactNode;\n hint?: ReactNode;\n error?: ReactNode;\n}\n\nexport const TextareaField = forwardRef<HTMLTextAreaElement, TextareaFieldProps>(\n ({ error, hint, id, invalid, label, required, ...props }, ref) => {\n const generatedId = useId();\n const textareaId = id ?? generatedId;\n const hintId = hint ? `${textareaId}-hint` : undefined;\n const errorId = error ? `${textareaId}-error` : undefined;\n const describedBy = [hintId, errorId].filter(Boolean).join(' ') || undefined;\n const isInvalid = invalid || Boolean(error);\n\n return (\n <div className=\"space-y-2\">\n <Label htmlFor={textareaId}>\n {label}\n {required ? (\n <span className=\"ml-1 text-destructive\" aria-hidden=\"true\">\n *\n </span>\n ) : null}\n </Label>\n <Textarea\n ref={ref}\n id={textareaId}\n required={required}\n invalid={isInvalid}\n aria-describedby={describedBy}\n {...props}\n />\n {hint ? <p id={hintId} className=\"text-sm text-muted-foreground\">{hint}</p> : null}\n {error ? <p id={errorId} className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p> : null}\n </div>\n );\n },\n);\n\nTextareaField.displayName = 'TextareaField';\r\n","import { useMemo, useState } from 'react';\nimport type { ButtonHTMLAttributes, HTMLAttributes } from 'react';\nimport { motion, useReducedMotion } from 'framer-motion';\nimport type { HTMLMotionProps } from 'framer-motion';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils/cn';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center rounded-lg border border-input bg-card px-3 py-2 text-sm font-medium transition hover:bg-muted 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 {\n variants: {\n pressed: {\n true: 'bg-primary text-primary-foreground border-primary',\n false: '',\n },\n size: {\n sm: 'h-9 px-3 text-sm',\n md: 'h-10 px-4 text-sm',\n lg: 'h-11 px-5 text-base',\n },\n },\n defaultVariants: {\n pressed: false,\n size: 'md',\n },\n },\n);\n\ntype MotionToggleProps = Omit<HTMLMotionProps<'button'>, 'children' | 'className' | 'ref'>;\n\nexport interface ToggleProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof toggleVariants> {\n defaultPressed?: boolean;\n onPressedChange?: (pressed: boolean) => void;\n}\n\nexport function Toggle({ className, defaultPressed = false, onPressedChange, pressed, size, ...props }: ToggleProps) {\n const [internalPressed, setInternalPressed] = useState(defaultPressed);\n const shouldReduceMotion = useReducedMotion();\n const isPressed = pressed ?? internalPressed;\n\n return (\n <motion.button\n type=\"button\"\n aria-pressed={isPressed}\n className={cn(toggleVariants({ pressed: isPressed, size }), className)}\n whileTap={shouldReduceMotion ? undefined : { scale: 0.985 }}\n transition={{ duration: 0.14, ease: 'easeOut' }}\n onClick={(event) => {\n props.onClick?.(event);\n if (event.defaultPrevented) {\n return;\n }\n const next = !isPressed;\n if (pressed === undefined) {\n setInternalPressed(next);\n }\n onPressedChange?.(next);\n }}\n {...(props as MotionToggleProps)}\n />\n );\n}\n\nexport interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'value' | 'defaultValue'> {\n type?: 'single' | 'multiple';\n value?: string | string[];\n defaultValue?: string | string[];\n onValueChange?: (value: string | string[]) => void;\n}\n\nexport function ToggleGroup({ children, className, defaultValue, onValueChange, type = 'single', value, ...props }: ToggleGroupProps) {\n const [internalValue, setInternalValue] = useState<string | string[]>(defaultValue ?? (type === 'single' ? '' : []));\n const currentValue = value ?? internalValue;\n\n const context = useMemo(() => ({ currentValue, onValueChange, setInternalValue, type }), [currentValue, onValueChange, type]);\n\n return (\n <div className={cn('inline-flex items-center gap-2', className)} data-toggle-group-context={JSON.stringify(context)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface ToggleGroupItemProps extends ToggleProps {\n value: string;\n groupValue?: string | string[];\n groupType?: 'single' | 'multiple';\n onGroupValueChange?: (value: string | string[]) => void;\n}\n\nexport function ToggleGroupItem({ groupType = 'single', groupValue = '', onGroupValueChange, value, ...props }: ToggleGroupItemProps) {\n const isPressed = Array.isArray(groupValue) ? groupValue.includes(value) : groupValue === value;\n\n return (\n <Toggle\n {...props}\n pressed={isPressed}\n onPressedChange={(next) => {\n if (groupType === 'single') {\n onGroupValueChange?.(next ? value : '');\n } else {\n const currentArray = Array.isArray(groupValue) ? groupValue : [];\n const nextArray = next ? [...currentArray, value] : currentArray.filter((item) => item !== value);\n onGroupValueChange?.(nextArray);\n }\n }}\n />\n );\n}\r\n","import { useMemo, useRef, useState } from 'react';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { AnimatePresence, motion, useReducedMotion } from 'framer-motion';\n\nimport { cn } from '../../utils/cn';\n\nexport interface TooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {\n content: ReactNode;\n children: ReactNode;\n}\n\nexport function Tooltip({ children, className, content, ...props }: TooltipProps) {\n const [open, setOpen] = useState(false);\n const shouldReduceMotion = useReducedMotion();\n const timeoutRef = useRef<number | null>(null);\n\n const transition = useMemo(\n () => ({ duration: shouldReduceMotion ? 0 : 0.16, ease: 'easeOut' as const }),\n [shouldReduceMotion],\n );\n\n const handleOpen = () => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n }\n setOpen(true);\n };\n\n const handleClose = () => {\n timeoutRef.current = window.setTimeout(() => setOpen(false), shouldReduceMotion ? 0 : 40);\n };\n\n return (\n <div\n className={cn('relative inline-flex', className)}\n onMouseEnter={handleOpen}\n onMouseLeave={handleClose}\n onFocus={handleOpen}\n onBlur={handleClose}\n {...props}\n >\n <span className=\"inline-flex\">{children}</span>\n <AnimatePresence>\n {open ? (\n <motion.span\n role=\"tooltip\"\n initial={shouldReduceMotion ? false : { opacity: 0, y: 4, x: '-50%' }}\n animate={{ opacity: 1, y: 0, x: '-50%' }}\n exit={{ opacity: 0, y: 4, x: '-50%' }}\n transition={transition}\n className=\"pointer-events-none absolute left-1/2 top-full z-30 mt-2 rounded-xl bg-slate-950 px-3 py-2 text-xs font-medium text-white shadow-soft dark:bg-white dark:text-slate-950\"\n >\n {content}\n </motion.span>\n ) : null}\n </AnimatePresence>\n </div>\n );\n}\r\n","import type { ElementType, HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface TypographyProps extends HTMLAttributes<HTMLElement> {\n as?: ElementType;\n variant?:\n | 'display'\n | 'display-2'\n | 'title'\n | 'title-lg'\n | 'subtitle'\n | 'lead'\n | 'body'\n | 'body-lg'\n | 'muted'\n | 'caption'\n | 'overline'\n | 'blockquote'\n | 'inline-code'\n | 'label'\n | 'large'\n | 'small';\n gradient?: boolean;\n balance?: boolean;\n}\n\nexport function Typography({\n as: Component = 'p',\n className,\n variant = 'body',\n gradient = false,\n balance = false,\n ...props\n}: TypographyProps) {\n return (\n <Component\n className={cn(\n variant === 'display' && 'text-5xl font-bold tracking-tight sm:text-6xl lg:text-7xl leading-[1.08]',\n variant === 'display-2' && 'text-4xl font-bold tracking-tight sm:text-5xl leading-[1.1]',\n variant === 'title-lg' && 'text-3xl font-semibold tracking-tight leading-snug',\n variant === 'title' && 'text-2xl font-semibold tracking-tight leading-snug',\n variant === 'subtitle' && 'text-lg font-medium leading-snug',\n variant === 'lead' && 'text-xl text-muted-foreground leading-relaxed',\n variant === 'body-lg' && 'text-base leading-7 text-foreground',\n variant === 'body' && 'text-sm leading-6 text-foreground',\n variant === 'large' && 'text-base font-semibold',\n variant === 'small' && 'text-xs leading-5 text-foreground',\n variant === 'muted' && 'text-sm text-muted-foreground leading-relaxed',\n variant === 'caption' && 'text-xs text-muted-foreground',\n variant === 'overline' && 'text-xs font-semibold tracking-widest uppercase text-muted-foreground',\n variant === 'label' && 'text-sm font-medium leading-none',\n variant === 'blockquote' &&\n 'border-l-4 border-primary/30 pl-4 italic text-muted-foreground text-base leading-7',\n variant === 'inline-code' &&\n 'inline rounded-md bg-muted px-1.5 py-0.5 font-mono text-sm font-medium text-foreground',\n gradient && 'ui-gradient-text',\n balance && 'text-balance',\n className,\n )}\n {...props}\n />\n );\n}\n\n","import {\r\n createContext,\r\n startTransition,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useState,\r\n} from 'react';\r\nimport type { PropsWithChildren } from 'react';\r\n\r\nexport type Theme = 'light' | 'dark';\r\nexport type ThemePreference = Theme | 'system';\r\n\r\nconst THEME_STORAGE_KEY = 'ui-library-theme';\r\nconst SYSTEM_THEME: ThemePreference = 'system';\r\n\r\ninterface ThemeContextValue {\r\n theme: Theme;\r\n themePreference: ThemePreference;\r\n setTheme: (theme: ThemePreference) => void;\r\n toggleTheme: () => void;\r\n}\r\n\r\nconst ThemeContext = createContext<ThemeContextValue | null>(null);\r\n\r\nfunction getSystemTheme(): Theme {\r\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\r\n}\r\n\r\nfunction getInitialThemePreference(): ThemePreference {\r\n if (typeof window === 'undefined') {\r\n return SYSTEM_THEME;\r\n }\r\n\r\n const storedTheme = window.localStorage.getItem(THEME_STORAGE_KEY);\r\n if (storedTheme === 'light' || storedTheme === 'dark' || storedTheme === SYSTEM_THEME) {\r\n return storedTheme as ThemePreference;\r\n }\r\n\r\n return SYSTEM_THEME;\r\n}\r\n\r\nfunction applyTheme(theme: Theme) {\r\n const root = document.documentElement;\r\n root.dataset.theme = theme;\r\n root.classList.toggle('dark', theme === 'dark');\r\n root.classList.toggle('light', theme === 'light');\r\n root.style.colorScheme = theme;\r\n}\r\n\r\nexport function ThemeProvider({ children }: PropsWithChildren) {\r\n const [themePreference, setThemePreferenceState] = useState<ThemePreference>(() => getInitialThemePreference());\r\n const theme = useMemo<Theme>(() => {\r\n if (themePreference === SYSTEM_THEME) {\r\n return getSystemTheme();\r\n }\r\n return themePreference as Theme;\r\n }, [themePreference]);\r\n\r\n useEffect(() => {\r\n applyTheme(theme);\r\n if (typeof window !== 'undefined') {\r\n window.localStorage.setItem(THEME_STORAGE_KEY, themePreference);\r\n }\r\n }, [theme, themePreference]);\r\n\r\n useEffect(() => {\r\n if (typeof window === 'undefined' || themePreference !== SYSTEM_THEME) {\r\n return;\r\n }\r\n\r\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\r\n const handleChange = () => {\r\n applyTheme(getSystemTheme());\r\n };\r\n\r\n mediaQuery.addEventListener?.('change', handleChange);\r\n mediaQuery.addListener?.(handleChange);\r\n\r\n return () => {\r\n mediaQuery.removeEventListener?.('change', handleChange);\r\n mediaQuery.removeListener?.(handleChange);\r\n };\r\n }, [themePreference]);\r\n\r\n const value = useMemo<ThemeContextValue>(\r\n () => ({\r\n theme,\r\n themePreference,\r\n setTheme: (nextTheme) => {\r\n startTransition(() => {\r\n setThemePreferenceState(nextTheme);\r\n });\r\n },\r\n toggleTheme: () => {\r\n startTransition(() => {\r\n setThemePreferenceState((currentTheme) => {\r\n if (currentTheme === 'light') return 'dark';\r\n if (currentTheme === 'dark') return SYSTEM_THEME;\r\n return 'light';\r\n });\r\n });\r\n },\r\n }),\r\n [theme, themePreference],\r\n );\r\n\r\n return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;\r\n}\r\n\r\nexport function useTheme() {\r\n const context = useContext(ThemeContext);\r\n\r\n if (!context) {\r\n throw new Error('useTheme must be used within a ThemeProvider.');\r\n }\r\n\r\n return context;\r\n}\r\n","import { useMemo } from 'react';\nimport type { ButtonHTMLAttributes } from 'react';\n\nimport { Button } from './button';\nimport { useTheme } from './theme-provider';\nimport { cn } from '../utils/cn';\n\nexport interface ThemeToggleProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n}\n\nexport function ThemeToggle({ className, ...props }: ThemeToggleProps) {\n const { theme, themePreference, toggleTheme } = useTheme();\n\n const buttonLabel = useMemo(() => {\n if (themePreference === 'system') {\n return `System mode (${theme === 'dark' ? 'dark' : 'light'})`;\n }\n\n return theme === 'dark' ? 'Switch to light mode' : 'Switch to dark mode';\n }, [theme, themePreference]);\n\n return (\n <Button variant=\"outline\" size=\"sm\" className={cn('h-9 gap-2', className)} onClick={toggleTheme} {...props}>\n {buttonLabel}\n </Button>\n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface AnimatedCounterProps extends HTMLAttributes<HTMLSpanElement> {\n from?: number;\n to: number;\n duration?: number;\n decimals?: number;\n prefix?: string;\n suffix?: string;\n separator?: string;\n easing?: (t: number) => number;\n startOnMount?: boolean;\n}\n\nfunction easeOutExpo(t: number) {\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n}\n\nfunction formatNumber(n: number, decimals: number, separator: string) {\n const fixed = n.toFixed(decimals);\n if (!separator) return fixed;\n const [int, dec] = fixed.split('.');\n const formatted = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator);\n return dec !== undefined ? `${formatted}.${dec}` : formatted;\n}\n\nexport function AnimatedCounter({\n from = 0,\n to,\n duration = 1800,\n decimals = 0,\n prefix = '',\n suffix = '',\n separator = '',\n easing = easeOutExpo,\n startOnMount = true,\n className,\n ...props\n}: AnimatedCounterProps) {\n const [current, setCurrent] = useState(startOnMount ? from : to);\n const rafRef = useRef<number | null>(null);\n const startTimeRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (!startOnMount) { setCurrent(to); return; }\n setCurrent(from);\n const start = from;\n\n const animate = (timestamp: number) => {\n if (startTimeRef.current === null) startTimeRef.current = timestamp;\n const elapsed = timestamp - startTimeRef.current;\n const progress = Math.min(elapsed / duration, 1);\n const easedProgress = easing(progress);\n setCurrent(start + (to - start) * easedProgress);\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(animate);\n } else {\n setCurrent(to);\n }\n };\n\n rafRef.current = requestAnimationFrame(animate);\n return () => {\n if (rafRef.current !== null) cancelAnimationFrame(rafRef.current);\n startTimeRef.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [to, from, duration]);\n\n return (\n <span className={cn('tabular-nums', className)} aria-live=\"polite\" {...props}>\n {prefix}\n {formatNumber(current, decimals, separator)}\n {suffix}\n </span>\n );\n}\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\nimport { Avatar, AvatarFallback, AvatarImage } from './avatar';\n\nexport interface AvatarGroupItem {\n src?: string;\n alt?: string;\n fallback?: string;\n}\n\nexport interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {\n items: AvatarGroupItem[];\n max?: number;\n size?: 'sm' | 'md' | 'lg' | 'xl';\n overlap?: boolean;\n}\n\nconst sizeClasses = {\n sm: 'size-7 text-xs',\n md: 'size-9 text-xs',\n lg: 'size-11 text-sm',\n xl: 'size-14 text-base',\n};\n\nconst overlapClasses = {\n sm: '-ml-2',\n md: '-ml-2.5',\n lg: '-ml-3',\n xl: '-ml-4',\n};\n\nexport function AvatarGroup({ items, max = 5, size = 'md', overlap = true, className, ...props }: AvatarGroupProps) {\n const visible = items.slice(0, max);\n const excess = items.length - max;\n\n return (\n <div\n className={cn('flex items-center', overlap && 'flex-row-reverse', className)}\n aria-label={`${items.length} members`}\n {...props}\n >\n {excess > 0 && (\n <div\n className={cn(\n 'inline-flex shrink-0 items-center justify-center rounded-full border-2 border-background bg-muted font-semibold text-muted-foreground ring-0',\n sizeClasses[size],\n overlap && overlapClasses[size],\n )}\n aria-label={`+${excess} more`}\n >\n +{excess}\n </div>\n )}\n {[...visible].reverse().map((item, i) => (\n <Avatar\n key={i}\n className={cn(\n 'shrink-0 border-2 border-background ring-0',\n sizeClasses[size],\n overlap && i !== 0 && overlapClasses[size],\n )}\n title={item.alt}\n >\n {item.src && <AvatarImage src={item.src} alt={item.alt ?? ''} />}\n <AvatarFallback>{item.fallback ?? item.alt?.charAt(0).toUpperCase() ?? '?'}</AvatarFallback>\n </Avatar>\n ))}\n </div>\n );\n}\n","import type { CSSProperties, HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface BorderBeamProps extends HTMLAttributes<HTMLSpanElement> {\n size?: number;\n duration?: number;\n colorFrom?: string;\n colorTo?: string;\n delay?: number;\n}\n\nexport function BorderBeam({\n className,\n size = 200,\n duration = 8,\n colorFrom = 'hsl(var(--primary))',\n colorTo = 'hsl(var(--info))',\n delay = 0,\n style,\n ...props\n}: BorderBeamProps) {\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n 'pointer-events-none absolute inset-0 rounded-[inherit] [border:calc(var(--border-width,1.5px))_solid_transparent]',\n '[background:linear-gradient(var(--bg,transparent),var(--bg,transparent))_padding-box,conic-gradient(from_calc(360deg*var(--progress,0)),var(--border-from),var(--border-to)_var(--beam-pct,10%),transparent)_border-box]',\n 'animate-border-beam',\n className,\n )}\n style={\n {\n '--border-from': colorFrom,\n '--border-to': colorTo,\n '--duration': `${duration}s`,\n '--delay': `${-delay}s`,\n '--beam-size': `${size}px`,\n animationDelay: `${-delay}s`,\n ...style,\n } as CSSProperties\n }\n {...props}\n />\n );\n}\n","import type { HTMLAttributes, ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils/cn';\n\nexport const chipVariants = cva(\n 'inline-flex items-center gap-1.5 font-medium transition-colors select-none',\n {\n variants: {\n variant: {\n solid: 'bg-primary text-primary-foreground',\n soft: 'bg-primary/10 text-primary',\n outline: 'border border-border text-foreground bg-transparent',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-success/10 text-success border border-success/20',\n warning: 'bg-warning/10 text-warning border border-warning/20',\n destructive: 'bg-destructive/10 text-destructive border border-destructive/20',\n info: 'bg-info/10 text-info border border-info/20',\n },\n size: {\n sm: 'h-6 rounded-full px-2.5 text-xs',\n md: 'h-7 rounded-full px-3 text-xs',\n lg: 'h-8 rounded-full px-3.5 text-sm',\n },\n },\n defaultVariants: {\n variant: 'soft',\n size: 'md',\n },\n },\n);\n\nexport interface ChipProps extends HTMLAttributes<HTMLSpanElement>, VariantProps<typeof chipVariants> {\n onRemove?: () => void;\n icon?: ReactNode;\n dot?: boolean;\n}\n\nexport function Chip({ className, variant, size, onRemove, icon, dot, children, ...props }: ChipProps) {\n return (\n <span className={cn(chipVariants({ variant, size }), className)} {...props}>\n {dot && <span className=\"size-1.5 rounded-full bg-current opacity-70\" aria-hidden=\"true\" />}\n {icon && <span className=\"shrink-0 [&_svg]:size-3\" aria-hidden=\"true\">{icon}</span>}\n <span>{children}</span>\n {onRemove && (\n <button\n type=\"button\"\n onClick={(e) => { e.stopPropagation(); onRemove(); }}\n aria-label=\"Remove\"\n className=\"ml-0.5 shrink-0 rounded-full p-0.5 opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring transition-opacity\"\n >\n <svg className={cn('size-3', size === 'lg' && 'size-3.5')} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path strokeLinecap=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n </button>\n )}\n </span>\n );\n}\n","import { useState } from 'react';\nimport type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface CodeBlockProps extends HTMLAttributes<HTMLDivElement> {\n code: string;\n language?: string;\n showLineNumbers?: boolean;\n showCopyButton?: boolean;\n filename?: string;\n maxHeight?: string;\n}\n\nexport function CodeBlock({\n code,\n language = 'tsx',\n showLineNumbers = false,\n showCopyButton = true,\n filename,\n maxHeight = '32rem',\n className,\n ...props\n}: CodeBlockProps) {\n const [copied, setCopied] = useState(false);\n\n const copy = async () => {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n const lines = code.split('\\n');\n\n return (\n <div\n className={cn(\n 'group relative overflow-hidden rounded-2xl border border-border bg-card text-sm shadow-soft',\n className,\n )}\n {...props}\n >\n {/* Header */}\n {(filename || showCopyButton) && (\n <div className=\"flex items-center justify-between border-b border-border bg-muted/50 px-4 py-2.5\">\n <div className=\"flex items-center gap-2.5\">\n {/* Decorative dots */}\n <span className=\"size-3 rounded-full bg-destructive/60\" aria-hidden=\"true\" />\n <span className=\"size-3 rounded-full bg-warning/60\" aria-hidden=\"true\" />\n <span className=\"size-3 rounded-full bg-success/60\" aria-hidden=\"true\" />\n {filename && (\n <span className=\"ml-1 text-xs font-medium text-muted-foreground\">{filename}</span>\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n {language && (\n <span className=\"rounded border border-border px-2 py-0.5 text-xs font-mono text-muted-foreground\">\n {language}\n </span>\n )}\n {showCopyButton && (\n <button\n type=\"button\"\n onClick={copy}\n aria-label={copied ? 'Copied!' : 'Copy code'}\n className={cn(\n 'flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors',\n copied\n ? 'text-success'\n : 'text-muted-foreground hover:text-foreground hover:bg-muted',\n )}\n >\n {copied ? (\n <>\n <svg className=\"size-3.5\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\" />\n </svg>\n Copied\n </>\n ) : (\n <>\n <svg className=\"size-3.5\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" />\n <path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\" />\n </svg>\n Copy\n </>\n )}\n </button>\n )}\n </div>\n </div>\n )}\n {/* Code body */}\n <div className=\"overflow-auto\" style={{ maxHeight }}>\n <pre className=\"p-4 font-mono text-xs leading-6 text-foreground\">\n <code>\n {showLineNumbers\n ? lines.map((line, i) => (\n <span key={i} className=\"table-row\">\n <span className=\"table-cell select-none pr-4 text-right text-muted-foreground/40 min-w-[2.5rem]\">\n {i + 1}\n </span>\n <span className=\"table-cell\">{line}</span>\n </span>\n ))\n : code}\n </code>\n </pre>\n </div>\n </div>\n );\n}\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface DividerProps extends HTMLAttributes<HTMLDivElement> {\n label?: ReactNode;\n orientation?: 'horizontal' | 'vertical';\n variant?: 'default' | 'dashed' | 'dotted';\n}\n\nexport function Divider({ label, orientation = 'horizontal', variant = 'default', className, ...props }: DividerProps) {\n if (orientation === 'vertical') {\n return (\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n className={cn(\n 'self-stretch w-px',\n variant === 'default' && 'bg-border',\n variant === 'dashed' && 'border-l border-dashed border-border bg-transparent',\n variant === 'dotted' && 'border-l border-dotted border-border bg-transparent',\n className,\n )}\n {...props}\n />\n );\n }\n\n if (label) {\n return (\n <div\n role=\"separator\"\n className={cn('flex items-center gap-3 text-xs text-muted-foreground', className)}\n {...props}\n >\n <span\n className={cn(\n 'h-px flex-1',\n variant === 'default' && 'bg-border',\n variant === 'dashed' && 'border-t border-dashed border-border',\n variant === 'dotted' && 'border-t border-dotted border-border',\n )}\n />\n <span>{label}</span>\n <span\n className={cn(\n 'h-px flex-1',\n variant === 'default' && 'bg-border',\n variant === 'dashed' && 'border-t border-dashed border-border',\n variant === 'dotted' && 'border-t border-dotted border-border',\n )}\n />\n </div>\n );\n }\n\n return (\n <div\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\n 'w-full',\n variant === 'default' && 'h-px bg-border',\n variant === 'dashed' && 'border-t border-dashed border-border',\n variant === 'dotted' && 'border-t border-dotted border-border',\n className,\n )}\n {...props}\n />\n );\n}\n","import { useCallback, useRef, useState } from 'react';\nimport type { DragEvent, InputHTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface FileUploadProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'children' | 'onDrop'> {\n onFilesChange?: (files: File[]) => void;\n accept?: string;\n maxFiles?: number;\n maxSizeBytes?: number;\n icon?: ReactNode;\n title?: ReactNode;\n description?: ReactNode;\n invalid?: boolean;\n error?: ReactNode;\n}\n\nfunction formatBytes(bytes: number) {\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n\nexport function FileUpload({\n className,\n onFilesChange,\n accept,\n maxFiles = 1,\n maxSizeBytes,\n icon,\n title = 'Drop files here or click to upload',\n description,\n disabled,\n invalid,\n error,\n multiple,\n ...props\n}: FileUploadProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n const [files, setFiles] = useState<File[]>([]);\n\n const processFiles = useCallback(\n (incoming: FileList | null) => {\n if (!incoming) return;\n let selected = Array.from(incoming).slice(0, maxFiles);\n if (maxSizeBytes) {\n selected = selected.filter((f) => f.size <= maxSizeBytes);\n }\n setFiles(selected);\n onFilesChange?.(selected);\n },\n [maxFiles, maxSizeBytes, onFilesChange],\n );\n\n const onDragOver = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (!disabled) setIsDragOver(true);\n };\n\n const onDragLeave = () => setIsDragOver(false);\n\n const onDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n setIsDragOver(false);\n if (disabled) return;\n processFiles(e.dataTransfer.files);\n };\n\n const removeFile = (index: number) => {\n const next = files.filter((_, i) => i !== index);\n setFiles(next);\n onFilesChange?.(next);\n };\n\n return (\n <div className={cn('space-y-2', className)}>\n <div\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-label=\"File upload area\"\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDrop={onDrop}\n onClick={() => !disabled && inputRef.current?.click()}\n onKeyDown={(e) => (e.key === 'Enter' || e.key === ' ') && !disabled && inputRef.current?.click()}\n className={cn(\n 'relative flex min-h-36 cursor-pointer flex-col items-center justify-center gap-3 rounded-2xl border-2 border-dashed px-6 py-8 text-center transition-all',\n isDragOver\n ? 'border-primary bg-primary/5'\n : invalid\n ? 'border-destructive bg-destructive/5'\n : 'border-border bg-muted/30 hover:border-primary/60 hover:bg-primary/5',\n disabled && 'cursor-not-allowed opacity-50',\n )}\n >\n <input\n ref={inputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple ?? maxFiles > 1}\n disabled={disabled}\n onChange={(e) => processFiles(e.target.files)}\n className=\"sr-only\"\n {...props}\n />\n <div className=\"flex size-12 items-center justify-center rounded-full bg-muted text-muted-foreground\">\n {icon ?? (\n <svg className=\"size-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5\" />\n </svg>\n )}\n </div>\n <div>\n <p className=\"text-sm font-medium text-foreground\">{title}</p>\n {description && <p className=\"mt-1 text-xs text-muted-foreground\">{description}</p>}\n {!description && maxSizeBytes && (\n <p className=\"mt-1 text-xs text-muted-foreground\">Max file size: {formatBytes(maxSizeBytes)}</p>\n )}\n </div>\n </div>\n\n {files.length > 0 && (\n <ul className=\"space-y-2\">\n {files.map((file, i) => (\n <li\n key={i}\n className=\"flex items-center gap-3 rounded-xl border border-border bg-card px-4 py-2.5 text-sm\"\n >\n <svg className=\"size-4 shrink-0 text-primary\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={1.5}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z\" />\n </svg>\n <span className=\"min-w-0 flex-1 truncate text-foreground\">{file.name}</span>\n <span className=\"shrink-0 text-xs text-muted-foreground\">{formatBytes(file.size)}</span>\n <button\n type=\"button\"\n onClick={() => removeFile(i)}\n aria-label={`Remove ${file.name}`}\n className=\"ml-1 shrink-0 rounded p-0.5 text-muted-foreground hover:text-destructive focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n </button>\n </li>\n ))}\n </ul>\n )}\n\n {error && <p className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p>}\n </div>\n );\n}\n","import type { ElementType, HTMLAttributes } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../utils/cn';\n\nconst gradientTextVariants = cva('bg-clip-text text-transparent', {\n variants: {\n gradient: {\n primary: 'bg-gradient-to-r from-primary to-info',\n warm: 'bg-gradient-to-r from-orange-500 to-rose-500',\n cool: 'bg-gradient-to-r from-blue-500 to-violet-600',\n sunset: 'bg-gradient-to-r from-amber-500 via-orange-500 to-rose-600',\n nature: 'bg-gradient-to-r from-emerald-400 to-cyan-500',\n aurora: 'bg-gradient-to-r from-blue-400 via-violet-500 to-pink-500',\n gold: 'bg-gradient-to-r from-yellow-400 via-amber-400 to-orange-500',\n neon: 'bg-gradient-to-r from-cyan-400 to-green-400',\n rainbow: 'bg-[linear-gradient(90deg,#f87171,#fb923c,#fbbf24,#4ade80,#38bdf8,#818cf8,#e879f9)]',\n animated: 'bg-[linear-gradient(270deg,hsl(var(--primary)),hsl(var(--info)),hsl(var(--primary))] bg-[length:200%] animate-shimmer',\n },\n },\n defaultVariants: {\n gradient: 'primary',\n },\n});\n\nexport interface GradientTextProps extends HTMLAttributes<HTMLElement>, VariantProps<typeof gradientTextVariants> {\n as?: ElementType;\n}\n\nexport function GradientText({ as: Component = 'span', className, gradient, ...props }: GradientTextProps) {\n return (\n <Component\n className={cn(gradientTextVariants({ gradient }), className)}\n {...props}\n />\n );\n}\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface MarqueeProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n reverse?: boolean;\n pauseOnHover?: boolean;\n vertical?: boolean;\n repeat?: number;\n gap?: string;\n duration?: string;\n}\n\nexport function Marquee({\n children,\n reverse = false,\n pauseOnHover = false,\n vertical = false,\n repeat = 4,\n gap = '1rem',\n duration = '30s',\n className,\n style,\n ...props\n}: MarqueeProps) {\n return (\n <div\n className={cn(\n 'group flex overflow-hidden [--gap:var(--marquee-gap,1rem)]',\n vertical ? 'flex-col' : 'flex-row',\n className,\n )}\n style={{ '--marquee-gap': gap, '--duration': duration, ...style } as React.CSSProperties}\n {...props}\n >\n {Array.from({ length: repeat }, (_, i) => (\n <div\n key={i}\n aria-hidden={i > 0}\n className={cn(\n 'flex min-w-0 shrink-0 justify-around gap-[--gap]',\n vertical\n ? 'animate-marquee-vertical flex-col'\n : 'animate-marquee flex-row',\n reverse && '[animation-direction:reverse]',\n pauseOnHover && 'group-hover:[animation-play-state:paused]',\n )}\n >\n {children}\n </div>\n ))}\n </div>\n );\n}\n","import type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface MeteorsProps extends HTMLAttributes<HTMLDivElement> {\n count?: number;\n}\n\nexport function Meteors({ count = 20, className, ...props }: MeteorsProps) {\n const meteors = Array.from({ length: count }, (_, i) => {\n const delay = Math.random() * 10;\n const duration = 5 + Math.random() * 8;\n const left = Math.random() * 100;\n const top = Math.random() * 40 - 20;\n return { i, delay, duration, left, top };\n });\n\n return (\n <div\n aria-hidden=\"true\"\n className={cn('pointer-events-none absolute inset-0 overflow-hidden', className)}\n {...props}\n >\n {meteors.map(({ i, delay, duration, left, top }) => (\n <span\n key={i}\n className={cn(\n 'absolute h-px w-20 rotate-[215deg] rounded-full bg-gradient-to-r from-primary/0 via-primary/80 to-primary',\n 'before:absolute before:top-1/2 before:right-0 before:h-[2px] before:w-[2px] before:-translate-y-1/2 before:rounded-full before:bg-primary before:content-[\"\"]',\n 'animate-meteor opacity-0',\n )}\n style={{\n top: `${top}%`,\n left: `${left}%`,\n animationDelay: `${delay}s`,\n animationDuration: `${duration}s`,\n }}\n />\n ))}\n </div>\n );\n}\n","import { forwardRef, useId } from 'react';\nimport type { ChangeEvent, InputHTMLAttributes, ReactNode } from 'react';\n\nimport { Label } from './label';\nimport { cn } from '../../utils/cn';\n\nexport interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange'> {\n value?: number;\n onChange?: (value: number) => void;\n min?: number;\n max?: number;\n step?: number;\n label?: ReactNode;\n hint?: ReactNode;\n error?: ReactNode;\n invalid?: boolean;\n id?: string;\n}\n\ninterface StepperButtonProps {\n onClick: () => void;\n disabled?: boolean;\n label: string;\n icon: 'minus' | 'plus';\n}\n\nfunction StepperButton({ onClick, disabled, label, icon }: StepperButtonProps) {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n aria-label={label}\n className=\"flex w-10 shrink-0 items-center justify-center text-muted-foreground transition hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-40\"\n >\n {icon === 'minus' ? (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" className=\"size-3.5\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path d=\"M5 12h14\" strokeLinecap=\"round\" />\n </svg>\n ) : (\n <svg viewBox=\"0 0 24 24\" fill=\"none\" className=\"size-3.5\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path d=\"M12 5v14M5 12h14\" strokeLinecap=\"round\" />\n </svg>\n )}\n </button>\n );\n}\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n className,\n value,\n onChange,\n min = -Infinity,\n max = Infinity,\n step = 1,\n disabled,\n label,\n hint,\n error,\n invalid,\n id,\n required,\n ...props\n },\n ref,\n ) => {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const hintId = hint ? `${inputId}-hint` : undefined;\n const errorId = error ? `${inputId}-error` : undefined;\n const describedBy = [hintId, errorId].filter(Boolean).join(' ') || undefined;\n const isInvalid = invalid || Boolean(error);\n\n const increment = () => {\n if (disabled) return;\n const next = (value ?? 0) + step;\n if (next <= max) onChange?.(next);\n };\n\n const decrement = () => {\n if (disabled) return;\n const next = (value ?? 0) - step;\n if (next >= min) onChange?.(next);\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const parsed = parseFloat(e.target.value);\n if (!isNaN(parsed)) onChange?.(Math.max(min, Math.min(max, parsed)));\n };\n\n const wrapperClasses = cn(\n 'flex h-10 w-full overflow-hidden rounded-xl border border-input bg-card text-sm text-foreground transition',\n 'focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2',\n isInvalid && 'border-destructive focus-within:ring-destructive',\n disabled && 'cursor-not-allowed opacity-50',\n className,\n );\n\n if (!label) {\n return (\n <div className={wrapperClasses}>\n <StepperButton\n onClick={decrement}\n disabled={disabled || (value !== undefined && value <= min)}\n label=\"Decrease\"\n icon=\"minus\"\n />\n <input\n ref={ref}\n id={inputId}\n type=\"number\"\n value={value}\n onChange={handleChange}\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n required={required}\n aria-invalid={isInvalid || undefined}\n aria-describedby={describedBy}\n className=\"min-w-0 flex-1 bg-transparent px-3 text-center outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none\"\n {...props}\n />\n <StepperButton\n onClick={increment}\n disabled={disabled || (value !== undefined && value >= max)}\n label=\"Increase\"\n icon=\"plus\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"space-y-2\">\n <Label htmlFor={inputId}>\n {label}\n {required && <span className=\"ml-1 text-destructive\" aria-hidden=\"true\">*</span>}\n </Label>\n <div className={wrapperClasses}>\n <StepperButton\n onClick={decrement}\n disabled={disabled || (value !== undefined && value <= min)}\n label=\"Decrease\"\n icon=\"minus\"\n />\n <input\n ref={ref}\n id={inputId}\n type=\"number\"\n value={value}\n onChange={handleChange}\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n required={required}\n aria-invalid={isInvalid || undefined}\n aria-describedby={describedBy}\n className=\"min-w-0 flex-1 bg-transparent px-3 text-center outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none\"\n {...props}\n />\n <StepperButton\n onClick={increment}\n disabled={disabled || (value !== undefined && value >= max)}\n label=\"Increase\"\n icon=\"plus\"\n />\n </div>\n {hint && <p id={hintId} className=\"text-sm text-muted-foreground\">{hint}</p>}\n {error && <p id={errorId} className=\"text-sm font-medium text-destructive\" role=\"alert\">{error}</p>}\n </div>\n );\n },\n);\n\nNumberInput.displayName = 'NumberInput';\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface ProgressCircleProps extends Omit<HTMLAttributes<HTMLDivElement>, 'value'> {\n value?: number;\n size?: number;\n strokeWidth?: number;\n color?: 'primary' | 'success' | 'warning' | 'destructive' | 'info';\n trackColor?: string;\n showLabel?: boolean;\n label?: ReactNode;\n}\n\nconst colorMap: Record<string, string> = {\n primary: 'stroke-primary',\n success: 'stroke-success',\n warning: 'stroke-warning',\n destructive: 'stroke-destructive',\n info: 'stroke-info',\n};\n\nexport function ProgressCircle({\n value = 0,\n size = 64,\n strokeWidth = 5,\n color = 'primary',\n showLabel = true,\n label,\n className,\n ...props\n}: ProgressCircleProps) {\n const clamped = Math.max(0, Math.min(100, value));\n const radius = (size - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - (clamped / 100) * circumference;\n\n return (\n <div className={cn('relative inline-flex items-center justify-center', className)} {...props}>\n <svg\n width={size}\n height={size}\n viewBox={`0 0 ${size} ${size}`}\n fill=\"none\"\n aria-valuenow={clamped}\n aria-valuemin={0}\n aria-valuemax={100}\n role=\"progressbar\"\n >\n {/* Track */}\n <circle\n cx={size / 2}\n cy={size / 2}\n r={radius}\n strokeWidth={strokeWidth}\n className=\"stroke-muted\"\n />\n {/* Fill */}\n <circle\n cx={size / 2}\n cy={size / 2}\n r={radius}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n className={cn(colorMap[color], 'transition-[stroke-dashoffset] duration-500 ease-out')}\n transform={`rotate(-90 ${size / 2} ${size / 2})`}\n />\n </svg>\n {showLabel && (\n <span className=\"absolute text-sm font-semibold\">\n {label ?? `${clamped}%`}\n </span>\n )}\n </div>\n );\n}\n","import { useState } from 'react';\nimport type { HTMLAttributes } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface RatingProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n value?: number;\n onChange?: (value: number) => void;\n max?: number;\n readOnly?: boolean;\n size?: 'sm' | 'md' | 'lg';\n color?: string;\n allowHalf?: boolean;\n label?: string;\n}\n\nconst sizeMap = { sm: 'size-4', md: 'size-5', lg: 'size-7' };\n\nfunction StarIcon({ filled, half, className }: { filled: boolean; half?: boolean; className?: string }) {\n return (\n <svg\n viewBox=\"0 0 24 24\"\n className={cn('transition-colors', className)}\n aria-hidden=\"true\"\n >\n {half ? (\n <>\n <defs>\n <linearGradient id=\"half-star\">\n <stop offset=\"50%\" stopColor=\"currentColor\" />\n <stop offset=\"50%\" stopColor=\"transparent\" />\n </linearGradient>\n </defs>\n <path\n fill=\"url(#half-star)\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n 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 />\n </>\n ) : (\n <path\n fill={filled ? 'currentColor' : 'none'}\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n 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 />\n )}\n </svg>\n );\n}\n\nexport function Rating({\n value = 0,\n onChange,\n max = 5,\n readOnly = false,\n size = 'md',\n color = 'text-warning',\n label,\n className,\n ...props\n}: RatingProps) {\n const [hovered, setHovered] = useState<number | null>(null);\n\n const display = hovered !== null ? hovered : value;\n\n return (\n <div\n className={cn('inline-flex items-center gap-0.5', className)}\n role=\"group\"\n aria-label={label ?? `Rating: ${value} out of ${max}`}\n onMouseLeave={() => setHovered(null)}\n {...props}\n >\n {Array.from({ length: max }, (_, i) => {\n const starValue = i + 1;\n const filled = display >= starValue;\n return (\n <button\n key={i}\n type=\"button\"\n disabled={readOnly}\n onClick={() => onChange?.(starValue)}\n onMouseEnter={() => !readOnly && setHovered(starValue)}\n aria-label={`${starValue} star${starValue !== 1 ? 's' : ''}`}\n aria-pressed={value === starValue}\n className={cn(\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded',\n sizeMap[size],\n color,\n filled ? 'opacity-100' : 'opacity-30',\n !readOnly && 'cursor-pointer hover:opacity-100 transition-opacity',\n readOnly && 'cursor-default',\n )}\n >\n <StarIcon filled={filled} className=\"size-full\" />\n </button>\n );\n })}\n </div>\n );\n}\n","import { useCallback, useRef } from 'react';\nimport type { HTMLAttributes, MouseEvent } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface SpotlightCardProps extends HTMLAttributes<HTMLDivElement> {\n spotlightColor?: string;\n spotlightSize?: number;\n interactive?: boolean;\n}\n\nexport function SpotlightCard({\n className,\n spotlightColor = 'rgba(59,130,246,0.18)',\n spotlightSize = 280,\n interactive = true,\n children,\n style,\n ...props\n}: SpotlightCardProps) {\n const cardRef = useRef<HTMLDivElement>(null);\n\n const handleMouseMove = useCallback(\n (e: MouseEvent<HTMLDivElement>) => {\n if (!cardRef.current || !interactive) return;\n const rect = cardRef.current.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n cardRef.current.style.setProperty('--x', `${x}px`);\n cardRef.current.style.setProperty('--y', `${y}px`);\n },\n [interactive],\n );\n\n const handleMouseLeave = useCallback(() => {\n if (!cardRef.current) return;\n cardRef.current.style.setProperty('--x', '-9999px');\n cardRef.current.style.setProperty('--y', '-9999px');\n }, []);\n\n return (\n <div\n ref={cardRef}\n onMouseMove={handleMouseMove}\n onMouseLeave={handleMouseLeave}\n className={cn(\n 'relative overflow-hidden rounded-3xl border border-border bg-card p-6 text-card-foreground shadow-soft transition-shadow hover:shadow-elevated',\n className,\n )}\n style={\n {\n '--x': '-9999px',\n '--y': '-9999px',\n '--spotlight-color': spotlightColor,\n '--spotlight-size': `${spotlightSize}px`,\n ...style,\n } as React.CSSProperties\n }\n {...props}\n >\n {/* Spotlight overlay */}\n {interactive && (\n <div\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 rounded-[inherit] transition-opacity\"\n style={{\n background: `radial-gradient(var(--spotlight-size) circle at var(--x) var(--y), var(--spotlight-color), transparent 90%)`,\n }}\n />\n )}\n {children}\n </div>\n );\n}\n","import type { HTMLAttributes, ReactNode } from 'react';\n\nimport { cn } from '../../utils/cn';\n\nexport interface TimelineItemProps extends Omit<HTMLAttributes<HTMLLIElement>, 'title'> {\n title: ReactNode;\n description?: ReactNode;\n timestamp?: ReactNode;\n icon?: ReactNode;\n status?: 'default' | 'success' | 'warning' | 'destructive' | 'active';\n isLast?: boolean;\n}\n\nexport interface TimelineProps extends HTMLAttributes<HTMLOListElement> {\n items?: TimelineItemProps[];\n children?: ReactNode;\n lineVariant?: 'solid' | 'dashed';\n}\n\nconst statusDotClasses: Record<NonNullable<TimelineItemProps['status']>, string> = {\n default: 'bg-muted-foreground',\n success: 'bg-success',\n warning: 'bg-warning',\n destructive: 'bg-destructive',\n active: 'bg-primary ring-4 ring-primary/20',\n};\n\nexport function TimelineItem({\n title,\n description,\n timestamp,\n icon,\n status = 'default',\n isLast,\n children,\n className,\n ...props\n}: TimelineItemProps) {\n return (\n <li className={cn('relative flex gap-6 pb-12 last:pb-0', className)} {...props}>\n <div className=\"relative flex flex-col items-center\">\n <div className=\"relative z-10 flex size-4 shrink-0 items-center justify-center\">\n {icon ? (\n <span className=\"flex size-8 items-center justify-center rounded-full border border-border bg-card shadow-soft text-foreground [&_svg]:size-4\">\n {icon}\n </span>\n ) : (\n <span className={cn('size-3 rounded-full border-2 border-background ring-1 ring-border shadow-soft', statusDotClasses[status])} />\n )}\n </div>\n {!isLast && (\n <span className=\"absolute top-6 bottom-0 w-px bg-border group-last:hidden\" />\n )}\n </div>\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-start justify-between gap-x-3 gap-y-0.5\">\n <span className=\"text-sm font-semibold text-foreground leading-snug\">{title}</span>\n {timestamp && (\n <span className=\"shrink-0 text-xs text-muted-foreground font-medium uppercase tracking-wider\">{timestamp}</span>\n )}\n </div>\n {description && (\n <p className=\"mt-1 text-sm text-muted-foreground/80 leading-relaxed italic\">{description}</p>\n )}\n {children && <div className=\"mt-4\">{children}</div>}\n </div>\n </li>\n );\n}\n\nexport function Timeline({ items, children, lineVariant = 'solid', className, ...props }: TimelineProps) {\n return (\n <ol className={cn('relative space-y-0', className)} {...props}>\n {/* If items are passed as a prop, render them */}\n {items?.map((item, i) => (\n <TimelineItem key={i} {...item} isLast={i === items.length - 1} />\n ))}\n {/* Support children for flexible composition */}\n {children}\n </ol>\n );\n}\n","import { useState } from 'react';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { cn } from '@/utils/cn';\n\nexport interface TreeItem {\n id: string;\n label: string;\n icon?: React.ReactNode;\n children?: TreeItem[];\n}\n\nexport interface TreeViewProps {\n data: TreeItem[];\n className?: string;\n onItemClick?: (item: TreeItem) => void;\n defaultExpanded?: string[];\n}\n\nexport function TreeView({ data, className, onItemClick, defaultExpanded = [] }: TreeViewProps) {\n return (\n <div className={cn('flex flex-col gap-1', className)}>\n {data.map((item) => (\n <TreeItemComponent\n key={item.id}\n item={item}\n onItemClick={onItemClick}\n defaultExpanded={defaultExpanded}\n level={0}\n />\n ))}\n </div>\n );\n}\n\ninterface TreeItemComponentProps {\n item: TreeItem;\n onItemClick?: (item: TreeItem) => void;\n defaultExpanded: string[];\n level: number;\n}\n\nfunction TreeItemComponent({ item, onItemClick, defaultExpanded, level }: TreeItemComponentProps) {\n const [isExpanded, setIsExpanded] = useState(defaultExpanded.includes(item.id));\n const hasChildren = item.children && item.children.length > 0;\n\n const toggleExpand = (e: React.MouseEvent) => {\n if (hasChildren) {\n e.stopPropagation();\n setIsExpanded(!isExpanded);\n }\n onItemClick?.(item);\n };\n\n return (\n <div className=\"flex flex-col\">\n <button\n onClick={toggleExpand}\n className={cn(\n 'group flex items-center gap-2 rounded-lg px-2 py-1.5 text-left text-sm transition-colors hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring',\n isExpanded && hasChildren && 'text-foreground font-medium',\n !hasChildren && 'pl-8', // Indent if no chevron\n )}\n style={{ paddingLeft: `${level * 16 + (hasChildren ? 8 : 32)}px` }}\n >\n {hasChildren && (\n <motion.svg\n animate={{ rotate: isExpanded ? 90 : 0 }}\n className=\"size-4 text-muted-foreground transition-colors group-hover:text-foreground\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </motion.svg>\n )}\n {item.icon && <span className=\"size-4 shrink-0\">{item.icon}</span>}\n <span className=\"truncate\">{item.label}</span>\n </button>\n\n <AnimatePresence initial={false}>\n {isExpanded && hasChildren && (\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.2, ease: 'easeInOut' }}\n className=\"overflow-hidden\"\n >\n {item.children!.map((child) => (\n <TreeItemComponent\n key={child.id}\n item={child}\n onItemClick={onItemClick}\n defaultExpanded={defaultExpanded}\n level={level + 1}\n />\n ))}\n </motion.div>\n )}\n </AnimatePresence>\n </div>\n );\n}\n","import { createContext, forwardRef, useContext, useRef } from 'react';\nimport { motion, useMotionValue, useSpring, useTransform } from 'framer-motion';\nimport type { ReactNode } from 'react';\n\nimport { cn } from '@/utils/cn';\n\nexport interface DockProps {\n children?: ReactNode;\n className?: string;\n magnification?: number;\n distance?: number;\n direction?: 'top' | 'middle' | 'bottom';\n}\n\nconst DEFAULT_MAGNIFICATION = 60;\nconst DEFAULT_DISTANCE = 140;\n\ninterface DockContextData {\n mouseX: any;\n magnification: number;\n distance: number;\n}\n\nconst DockContext = createContext<DockContextData | undefined>(undefined);\n\nexport const Dock = forwardRef<HTMLDivElement, DockProps>(\n (\n {\n children,\n className,\n magnification = DEFAULT_MAGNIFICATION,\n distance = DEFAULT_DISTANCE,\n direction = 'bottom',\n },\n ref,\n ) => {\n const mouseX = useMotionValue(Infinity);\n\n return (\n <DockContext.Provider value={{ mouseX, magnification, distance }}>\n <motion.div\n ref={ref}\n onMouseMove={(e) => mouseX.set(e.pageX)}\n onMouseLeave={() => mouseX.set(Infinity)}\n className={cn(\n 'supports-backdrop-blur:bg-white/10 flex h-[58px] w-max items-end gap-2 rounded-2xl border border-border bg-white/10 p-2 backdrop-blur-md',\n {\n 'items-start': direction === 'top',\n 'items-center': direction === 'middle',\n 'items-end': direction === 'bottom',\n },\n className,\n )}\n >\n {children}\n </motion.div>\n </DockContext.Provider>\n );\n },\n);\n\nDock.displayName = 'Dock';\n\nexport interface DockIconProps {\n size?: number;\n className?: string;\n children?: ReactNode;\n}\n\nexport function DockIcon({ size, className, children, ...props }: DockIconProps) {\n const context = useContext(DockContext);\n if (!context) {\n throw new Error('DockIcon must be used within a Dock');\n }\n\n const { mouseX, magnification, distance } = context;\n const ref = useRef<HTMLDivElement>(null);\n\n const distanceCalc = 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 distanceCalc,\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={cn(\n 'flex aspect-square cursor-pointer items-center justify-center rounded-full bg-neutral-400/20',\n className,\n )}\n {...props}\n >\n {children}\n </motion.div>\n );\n}\n\nDockIcon.displayName = 'DockIcon';\n","import { cn } from '@/utils/cn';\n\nexport interface OrbitingCirclesProps {\n className?: string;\n children?: React.ReactNode;\n reverse?: boolean;\n duration?: number;\n delay?: number;\n radius?: number;\n path?: boolean;\n}\n\nexport function OrbitingCircles({\n className,\n children,\n reverse,\n duration = 20,\n delay = 10,\n radius = 50,\n path = true,\n}: OrbitingCirclesProps) {\n return (\n <>\n {path && (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"none\"\n className=\"pointer-events-none absolute inset-0 size-full\"\n >\n <circle\n className=\"stroke-border/50 stroke-1\"\n cx=\"50%\"\n cy=\"50%\"\n r={radius}\n fill=\"none\"\n strokeDasharray=\"4 4\"\n />\n </svg>\n )}\n\n <div\n style={\n {\n '--duration': `${duration}s`,\n '--radius': radius,\n '--delay': `-${delay}s`,\n } as React.CSSProperties\n }\n className={cn(\n 'absolute flex size-full transform-gpu animate-orbit items-center justify-center [animation-delay:var(--delay)]',\n reverse && '[animation-direction:reverse]',\n className,\n )}\n >\n {children}\n </div>\n </>\n );\n}\n","import { useEffect } from 'react';\nimport { motion, useAnimate, useInView } from 'framer-motion';\nimport { cn } from '../../utils/cn';\n\nexport interface TypewriterEffectProps {\n words: {\n text: string;\n className?: string;\n }[];\n className?: string;\n cursorClassName?: string;\n}\n\nexport function TypewriterEffect({\n words,\n className,\n cursorClassName,\n}: TypewriterEffectProps) {\n // split text into characters\n const wordsArray = words.map((word) => {\n return {\n ...word,\n text: word.text.split(''),\n };\n });\n\n const [scope, animate] = useAnimate();\n const isInView = useInView(scope);\n\n useEffect(() => {\n if (isInView) {\n animate(\n 'span',\n {\n display: 'inline-block',\n opacity: 1,\n width: 'fit-content',\n },\n {\n duration: 0.3,\n delay: (i: number) => i * 0.1,\n ease: 'easeInOut',\n }\n );\n }\n }, [isInView, animate]);\n\n const renderWords = () => {\n return (\n <motion.div ref={scope} className=\"inline\">\n {wordsArray.map((word, idx) => {\n return (\n <div key={`word-${idx}`} className=\"inline-block\">\n {word.text.map((char, index) => (\n <motion.span\n initial={{\n opacity: 0,\n }}\n key={`char-${index}`}\n className={cn(\n `text-black dark:text-white opacity-0 hidden`,\n word.className\n )}\n >\n {char}\n </motion.span>\n ))}\n &nbsp;\n </div>\n );\n })}\n </motion.div>\n );\n };\n\n return (\n <div\n className={cn(\n 'text-base sm:text-xl md:text-3xl lg:text-5xl font-bold text-center',\n className\n )}\n >\n {renderWords()}\n <motion.span\n initial={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n transition={{\n duration: 0.8,\n repeat: Infinity,\n repeatType: 'reverse',\n }}\n className={cn(\n 'inline-block rounded-sm w-[4px] h-4 md:h-6 lg:h-10 bg-blue-500',\n cursorClassName\n )}\n />\n </div>\n );\n}\n\nexport function TypewriterEffectSmooth({\n words,\n className,\n cursorClassName,\n}: TypewriterEffectProps) {\n // split text into characters\n const wordsArray = words.map((word) => {\n return {\n ...word,\n text: word.text.split(''),\n };\n });\n\n const renderWords = () => {\n return (\n <div>\n {wordsArray.map((word, idx) => {\n return (\n <div key={`word-${idx}`} className=\"inline-block\">\n {word.text.map((char, index) => (\n <span\n key={`char-${index}`}\n className={cn(`text-black dark:text-white `, word.className)}\n >\n {char}\n </span>\n ))}\n &nbsp;\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={cn('flex space-x-1 my-6', className)}>\n <motion.div\n initial={{\n width: '0%',\n }}\n whileInView={{\n width: 'fit-content',\n }}\n transition={{\n duration: 2,\n ease: 'linear',\n delay: 1,\n }}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n }}\n >\n <div\n className=\"text-xs sm:text-base md:text-xl lg:text-3xl xl:text-5xl font-bold\"\n style={{\n whiteSpace: 'nowrap',\n }}\n >\n {renderWords()}{' '}\n </div>{' '}\n </motion.div>\n <motion.span\n initial={{\n opacity: 0,\n }}\n animate={{\n opacity: 1,\n }}\n transition={{\n duration: 0.8,\n repeat: Infinity,\n repeatType: 'reverse',\n }}\n className={cn(\n 'block rounded-sm w-[4px] h-4 sm:h-6 xl:h-12 bg-blue-500',\n cursorClassName\n )}\n />\n </div>\n );\n}\n","import type { HTMLAttributes } from 'react';\nimport { motion } from 'framer-motion';\nimport { cn } from '../../utils/cn';\n\nexport interface BackgroundGradientProps extends HTMLAttributes<HTMLDivElement> {\n containerClassName?: string;\n animate?: boolean;\n}\n\nexport const BackgroundGradient = ({\n children,\n className,\n containerClassName,\n animate = true,\n}: BackgroundGradientProps) => {\n const variants = {\n initial: {\n backgroundPosition: '0 50%',\n },\n animate: {\n backgroundPosition: ['0 50%', '100% 50%', '0 50%'],\n },\n };\n return (\n <div className={cn('relative p-[4px] group', containerClassName)}>\n <motion.div\n variants={animate ? variants : undefined}\n initial={animate ? 'initial' : undefined}\n animate={animate ? 'animate' : undefined}\n transition={\n animate\n ? {\n duration: 5,\n repeat: Infinity,\n repeatType: 'reverse',\n }\n : undefined\n }\n style={{\n backgroundSize: '400% 400%',\n }}\n className={cn(\n 'absolute inset-0 rounded-3xl z-[1] opacity-60 group-hover:opacity-100 blur-xl transition duration-500 will-change-transform',\n 'bg-[radial-gradient(circle_at_center,#3b82f6,transparent_40%),radial-gradient(circle_at_center,#10b981,transparent_40%),radial-gradient(circle_at_center,#ef4444,transparent_40%),radial-gradient(circle_at_center,#f59e0b,transparent_40%)]',\n 'dark:bg-[radial-gradient(circle_at_center,#60a5fa,transparent_40%),radial-gradient(circle_at_center,#34d399,transparent_40%),radial-gradient(circle_at_center,#f87171,transparent_40%),radial-gradient(circle_at_center,#fbbf24,transparent_40%)]'\n )}\n />\n <motion.div\n variants={animate ? variants : undefined}\n initial={animate ? 'initial' : undefined}\n animate={animate ? 'animate' : undefined}\n transition={\n animate\n ? {\n duration: 5,\n repeat: Infinity,\n repeatType: 'reverse',\n }\n : undefined\n }\n style={{\n backgroundSize: '400% 400%',\n }}\n className={cn(\n 'absolute inset-0 rounded-3xl z-[1] will-change-transform',\n 'bg-[radial-gradient(circle_at_center,#3b82f6,transparent_40%),radial-gradient(circle_at_center,#10b981,transparent_40%),radial-gradient(circle_at_center,#ef4444,transparent_40%),radial-gradient(circle_at_center,#f59e0b,transparent_40%)]',\n 'dark:bg-[radial-gradient(circle_at_center,#60a5fa,transparent_40%),radial-gradient(circle_at_center,#34d399,transparent_40%),radial-gradient(circle_at_center,#f87171,transparent_40%),radial-gradient(circle_at_center,#fbbf24,transparent_40%)]'\n )}\n />\n\n <div className={cn('relative z-10', className)}>{children}</div>\n </div>\n );\n};\n","import { motion } from 'framer-motion';\nimport { cn } from '../../utils/cn';\n\nexport interface CelestialPulseProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n label?: string;\n size?: number | string;\n}\n\nexport function CelestialPulse({\n className,\n label = 'Live Network',\n size = 260,\n ...props\n}: CelestialPulseProps) {\n return (\n <div\n className={cn(\n 'relative inline-flex flex-col items-center justify-center rounded-full bg-slate-950/90 border border-white/10 shadow-[0_0_80px_rgba(56,189,248,0.15)]',\n className,\n )}\n style={{ width: size, height: size }}\n {...props}\n >\n <div className=\"absolute inset-0 rounded-full bg-[radial-gradient(circle_at_center,rgba(56,189,248,0.16),transparent_55%)]\" />\n <div className=\"absolute inset-0 rounded-full border border-cyan-400/10\" />\n\n <motion.div\n className=\"absolute inset-0 rounded-full bg-gradient-to-b from-cyan-400/20 via-transparent to-slate-950/10\"\n animate={{ opacity: [0.35, 0.65, 0.35], scale: [0.96, 1, 0.96] }}\n transition={{ duration: 4, repeat: Infinity, ease: 'easeInOut' }}\n />\n\n <motion.div\n className=\"absolute left-1/2 top-1/2 h-4 w-4 -translate-x-1/2 -translate-y-1/2 rounded-full bg-cyan-400 shadow-[0_0_20px_rgba(56,189,248,0.6)]\"\n animate={{ scale: [0.9, 1.1, 0.9], opacity: [0.8, 1, 0.8] }}\n transition={{ duration: 2.2, repeat: Infinity, ease: 'easeInOut' }}\n />\n\n <motion.div\n className=\"absolute left-0 top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-purple-400/80 shadow-[0_0_12px_rgba(168,85,247,0.55)]\"\n animate={{ x: [0, 180, 0], y: [0, -40, 0] }}\n transition={{ duration: 5.5, repeat: Infinity, ease: 'linear' }}\n />\n\n <motion.div\n className=\"absolute right-0 top-1/3 h-2.5 w-2.5 -translate-y-1/2 rounded-full bg-sky-300/90 shadow-[0_0_12px_rgba(56,189,248,0.55)]\"\n animate={{ x: [0, -160, 0], y: [0, 36, 0] }}\n transition={{ duration: 4.8, repeat: Infinity, ease: 'linear' }}\n />\n\n <div className=\"relative z-10 flex h-full w-full items-end justify-center pb-6\">\n <div className=\"rounded-full border border-white/10 bg-slate-950/95 px-3 py-1 text-xs uppercase tracking-[0.3em] text-white/90 shadow-[0_0_16px_rgba(56,189,248,0.12)]\">\n {label}\n </div>\n </div>\n </div>\n );\n}\n\nCelestialPulse.displayName = 'CelestialPulse';\n","import { useMemo, useState } from 'react';\nimport { motion } from 'framer-motion';\nimport type { HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport interface InteractiveOrbNavigationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'> {\n items?: string[];\n selected?: number;\n onSelect?: (index: number) => void;\n}\n\nexport function InteractiveOrbNavigation({\n items = ['Home', 'Products', 'Insights', 'Team', 'Contact'],\n selected = 0,\n onSelect,\n className,\n ...props\n}: InteractiveOrbNavigationProps) {\n const [active, setActive] = useState<number>(selected);\n\n const radius = 110;\n const nodes = useMemo(\n () =>\n items.map((label, index) => {\n const angle = (index / items.length) * Math.PI * 2;\n return {\n label,\n index,\n x: Math.cos(angle) * radius,\n y: Math.sin(angle) * radius,\n };\n }),\n [items, radius],\n );\n\n return (\n <div\n className={cn('relative flex h-[320px] w-[320px] items-center justify-center rounded-full bg-slate-950/80 ring-1 ring-white/10 shadow-[0_0_60px_rgba(56,189,248,0.18)]', className)}\n {...props}\n >\n <div className=\"absolute inset-0 rounded-full bg-[radial-gradient(circle_at_center,rgba(56,189,248,0.12),transparent_55%)]\" />\n <div className=\"absolute inset-0 rounded-full border border-cyan-400/10\" />\n {nodes.map((node) => (\n <motion.button\n key={node.label}\n type=\"button\"\n onClick={() => {\n setActive(node.index);\n onSelect?.(node.index);\n }}\n className={cn(\n 'absolute flex h-14 w-14 items-center justify-center rounded-full border border-white/10 bg-slate-950/95 text-xs font-semibold text-white shadow-[0_0_16px_rgba(56,189,248,0.18)] transition hover:scale-110',\n active === node.index && 'bg-cyan-500 text-slate-950 shadow-[0_0_24px_rgba(56,189,248,0.5)]',\n )}\n style={{ transform: `translate(${node.x}px, ${node.y}px)` }}\n >\n {node.label[0]}\n </motion.button>\n ))}\n <div className=\"absolute inset-0 flex flex-col items-center justify-center text-center text-white/80\">\n <p className=\"text-[10px] uppercase tracking-[0.35em] text-white/40\">Orb Navigation</p>\n <p className=\"text-lg font-black\">{items[active]}</p>\n </div>\n </div>\n );\n}\n\nexport interface SpatialTabsProps extends HTMLAttributes<HTMLDivElement> {\n tabs?: string[];\n}\n\nexport function SpatialTabs({ tabs = ['Overview', 'Metrics', 'Activity', 'Settings'], className, ...props }: SpatialTabsProps) {\n const [active, setActive] = useState(0);\n\n return (\n <div className={cn('space-y-4', className)} {...props}>\n <div className=\"flex items-center justify-center gap-3\">\n {tabs.map((tab, index) => (\n <button\n key={tab}\n type=\"button\"\n onClick={() => setActive(index)}\n className={cn(\n 'rounded-full px-4 py-2 text-xs font-semibold uppercase tracking-[0.25em] transition',\n active === index ? 'bg-cyan-500 text-slate-950' : 'bg-white/5 text-white/70 hover:bg-white/10',\n )}\n >\n {tab}\n </button>\n ))}\n </div>\n <div className=\"relative h-64 overflow-hidden rounded-[2rem] bg-slate-950/90 p-6 shadow-[0_32px_80px_rgba(15,23,42,0.55)]\">\n <div className=\"absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(56,189,248,0.14),transparent_35%)]\" />\n <motion.div\n initial={{ rotateY: 0 }}\n animate={{ rotateY: active * -15 }}\n transition={{ type: 'spring', stiffness: 120, damping: 20 }}\n className=\"relative h-full rounded-[1.75rem] bg-gradient-to-br from-slate-900/90 to-slate-800/80 p-6 text-white shadow-xl\"\n >\n <div className=\"mb-4 text-xs uppercase tracking-[0.3em] text-cyan-300/70\">Spatial Tabs</div>\n <h3 className=\"text-2xl font-black\">{tabs[active]}</h3>\n <p className=\"mt-3 text-sm text-slate-300\">A 3D tab experience built for immersive dashboards and navigation flows.</p>\n </motion.div>\n </div>\n </div>\n );\n}\n\nexport interface HolographicDataDeckProps extends HTMLAttributes<HTMLDivElement> {\n items?: Array<{ label: string; value: string }>;\n}\n\nexport function HolographicDataDeck({\n items = [\n { label: 'Revenue', value: '$8.7M' },\n { label: 'Retention', value: '82%' },\n { label: 'Latency', value: '34ms' },\n ],\n className,\n ...props\n}: HolographicDataDeckProps) {\n return (\n <div className={cn('grid grid-cols-1 gap-4 sm:grid-cols-3', className)} {...props}>\n {items.map((item, index) => (\n <motion.div\n key={item.label}\n className=\"relative overflow-hidden rounded-[2rem] border border-white/10 bg-slate-950/90 p-6 shadow-[0_24px_80px_rgba(30,58,138,0.18)]\"\n initial={{ y: 20, opacity: 0.5 }}\n animate={{ y: 0, opacity: 1 }}\n transition={{ delay: index * 0.05, duration: 0.5 }}\n >\n <div className=\"absolute -left-8 top-10 h-24 w-24 rounded-full bg-gradient-to-br from-cyan-500/20 to-violet-500/10 blur-3xl\" />\n <div className=\"relative z-10 space-y-3\">\n <p className=\"text-xs uppercase tracking-[0.3em] text-cyan-300/70\">{item.label}</p>\n <h3 className=\"text-3xl font-black text-white\">{item.value}</h3>\n <div className=\"h-2 rounded-full bg-white/10\">\n <div className=\"h-full w-3/4 rounded-full bg-cyan-400/70\" />\n </div>\n </div>\n </motion.div>\n ))}\n </div>\n );\n}\n\nexport interface AugmentedProgressRingProps extends HTMLAttributes<HTMLDivElement> {\n progress?: number;\n}\n\nexport function AugmentedProgressRing({ progress = 72, className, ...props }: AugmentedProgressRingProps) {\n const radius = 64;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - (progress / 100) * circumference;\n\n return (\n <div className={cn('relative flex h-[220px] w-[220px] items-center justify-center rounded-full bg-slate-950/90 p-6 shadow-[0_0_80px_rgba(56,189,248,0.15)]', className)} {...props}>\n <svg className=\"absolute inset-0 h-full w-full\" viewBox=\"0 0 180 180\">\n <circle cx=\"90\" cy=\"90\" r=\"64\" stroke=\"rgba(255,255,255,0.06)\" strokeWidth=\"18\" fill=\"none\" />\n <circle\n cx=\"90\"\n cy=\"90\"\n r=\"64\"\n stroke=\"url(#ringGradient)\"\n strokeWidth=\"18\"\n strokeLinecap=\"round\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform=\"rotate(-90 90 90)\"\n />\n <defs>\n <linearGradient id=\"ringGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor=\"#22d3ee\" />\n <stop offset=\"100%\" stopColor=\"#a855f7\" />\n </linearGradient>\n </defs>\n </svg>\n <div className=\"relative z-10 flex flex-col items-center justify-center text-center text-white\">\n <span className=\"text-xs uppercase tracking-[0.3em] text-white/40\">Progress</span>\n <span className=\"text-4xl font-black\">{progress}%</span>\n <span className=\"text-[11px] uppercase tracking-[0.3em] text-cyan-300/70\">Augmented Ring</span>\n </div>\n </div>\n );\n}\n\nexport interface ProductShowcaseCarouselProps extends HTMLAttributes<HTMLDivElement> {\n items?: Array<{ title: string; tag: string }>;\n}\n\nexport function ProductShowcaseCarousel({\n items = [\n { title: 'Aether Lens', tag: 'AI' },\n { title: 'Nova Suite', tag: 'Cloud' },\n { title: 'Pulse Flow', tag: 'Design' },\n ],\n className,\n ...props\n}: ProductShowcaseCarouselProps) {\n const [active, setActive] = useState(0);\n\n return (\n <div className={cn('relative h-[360px] min-h-[360px] w-full overflow-hidden rounded-[2rem] bg-slate-950/90 p-6 shadow-[0_40px_120px_rgba(15,23,42,0.55)]', className)} {...props}>\n <div className=\"absolute inset-0 bg-[radial-gradient(circle_at_center,rgba(56,189,248,0.12),transparent_40%)]\" />\n <div className=\"absolute inset-x-0 top-6 flex items-center justify-center gap-3\">\n {items.map((item, index) => (\n <button\n key={item.title}\n type=\"button\"\n onClick={() => setActive(index)}\n className={cn(\n 'rounded-full px-3 py-1 text-[10px] uppercase tracking-[0.35em] transition',\n active === index ? 'bg-cyan-500 text-slate-950' : 'bg-white/5 text-white/70 hover:bg-white/10',\n )}\n >\n {item.tag}\n </button>\n ))}\n </div>\n <div className=\"absolute inset-0 flex items-center justify-center\">\n {items.map((item, index) => (\n <motion.div\n key={item.title}\n initial={false}\n animate={{ opacity: active === index ? 1 : 0, scale: active === index ? 1 : 0.88, zIndex: active === index ? 10 : 1 }}\n transition={{ duration: 0.45 }}\n className=\"relative flex h-56 w-72 flex-col items-center justify-center rounded-[2rem] border border-white/10 bg-slate-950/95 p-6 text-center text-white shadow-[0_35px_120px_rgba(14,165,233,0.18)]\"\n >\n <div className=\"mb-3 text-xs uppercase tracking-[0.35em] text-cyan-300/70\">Product Showcase</div>\n <h3 className=\"text-2xl font-black\">{item.title}</h3>\n <p className=\"mt-2 text-sm text-slate-300\">A premium 3D-style product card with dynamic depth and motion.</p>\n </motion.div>\n ))}\n </div>\n </div>\n );\n}\n\nexport interface VoxelGridHeatmapProps extends HTMLAttributes<HTMLDivElement> {\n values?: number[];\n}\n\nexport function VoxelGridHeatmap({\n values = [30, 68, 54, 82, 45, 72, 58, 94, 36],\n className,\n ...props\n}: VoxelGridHeatmapProps) {\n return (\n <div className={cn('grid grid-cols-3 gap-2 rounded-[2rem] bg-slate-950/90 p-4 shadow-[0_32px_80px_rgba(15,23,42,0.55)]', className)} {...props}>\n {values.map((value, index) => (\n <motion.div\n key={index}\n className=\"relative flex flex-col items-center justify-end overflow-hidden rounded-3xl bg-slate-900\"\n initial={{ y: 30, opacity: 0.5 }}\n animate={{ y: 0, opacity: 1 }}\n transition={{ delay: index * 0.04 }}\n >\n <div className=\"relative flex h-full w-full items-end justify-center p-2\">\n <div className=\"relative h-full w-full rounded-3xl bg-slate-800\">\n <div\n className=\"absolute bottom-0 left-1/2 h-full w-3/4 -translate-x-1/2 rounded-b-3xl bg-gradient-to-t from-cyan-400 via-sky-400 to-transparent\"\n style={{ height: `${value}%` }}\n />\n </div>\n </div>\n <span className=\"mt-2 text-xs text-white/70\">{value}%</span>\n </motion.div>\n ))}\n </div>\n );\n}\n\nexport interface TerrainInsightsPanelProps extends HTMLAttributes<HTMLDivElement> {\n labels?: string[];\n}\n\nexport function TerrainInsightsPanel({ labels = ['Performance', 'Growth', 'Reach'], className, ...props }: TerrainInsightsPanelProps) {\n return (\n <div className={cn('relative overflow-hidden rounded-[2rem] bg-slate-950/90 p-6 shadow-[0_40px_120px_rgba(15,23,42,0.55)]', className)} {...props}>\n <div className=\"absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(56,189,248,0.12),transparent_15%)]\" />\n <div className=\"relative z-10 flex flex-col gap-4\">\n <div>\n <p className=\"text-xs uppercase tracking-[0.3em] text-cyan-300/70\">Terrain Insights</p>\n <h3 className=\"text-2xl font-black text-white\">Data Landscape</h3>\n </div>\n <div className=\"relative h-48 overflow-hidden rounded-[1.75rem] bg-slate-900/80 p-4\">\n <div className=\"absolute bottom-0 left-4 h-[40%] w-1/4 rounded-full bg-cyan-500/20\" />\n <div className=\"absolute bottom-0 left-1/2 h-[55%] w-1/4 rounded-full bg-violet-500/20\" />\n <div className=\"absolute bottom-0 right-8 h-[32%] w-1/4 rounded-full bg-sky-400/20\" />\n <div className=\"absolute inset-x-0 bottom-0 h-12 bg-gradient-to-t from-slate-950\" />\n </div>\n <div className=\"grid grid-cols-3 gap-3 text-sm text-white/70\">\n {labels.map((label) => (\n <div key={label} className=\"rounded-3xl bg-white/5 p-3 text-center\">\n <p className=\"text-[10px] uppercase tracking-[0.35em] text-cyan-300/70\">{label}</p>\n <p className=\"mt-2 text-lg font-black text-white\">{Math.floor(Math.random() * 40) + 60}%</p>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n\nexport interface FloatingCommandPaletteProps extends HTMLAttributes<HTMLDivElement> {\n commands?: string[];\n}\n\nexport function FloatingCommandPalette({\n commands = ['Search files', 'Open settings', 'Launch preview', 'Toggle dark mode'],\n className,\n ...props\n}: FloatingCommandPaletteProps) {\n return (\n <div className={cn('relative overflow-hidden rounded-[2rem] bg-slate-950/90 p-6 shadow-[0_40px_120px_rgba(15,23,42,0.55)]', className)} {...props}>\n <div className=\"absolute inset-x-0 top-0 h-32 bg-gradient-to-b from-cyan-500/10 to-transparent\" />\n <div className=\"relative z-10 space-y-4\">\n <div className=\"rounded-[1.5rem] bg-slate-900/80 p-4 shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]\">\n <input\n placeholder=\"Type a command...\"\n className=\"w-full bg-transparent text-white outline-none placeholder:text-white/40\"\n />\n </div>\n <div className=\"space-y-3\">\n {commands.map((command, index) => (\n <motion.button\n key={command}\n type=\"button\"\n initial={{ x: -20, opacity: 0 }}\n animate={{ x: 0, opacity: 1 }}\n transition={{ delay: index * 0.06 }}\n className=\"flex w-full items-center justify-between rounded-3xl border border-white/10 bg-white/5 px-4 py-3 text-left text-sm text-white/80 transition hover:bg-white/10\"\n >\n <span>{command}</span>\n <span className=\"text-[10px] uppercase tracking-[0.35em] text-cyan-300/70\">⌘</span>\n </motion.button>\n ))}\n </div>\n </div>\n </div>\n );\n}\n\nexport interface SocialPulseWidgetProps extends HTMLAttributes<HTMLDivElement> {\n avatars?: string[];\n}\n\nexport function SocialPulseWidget({\n avatars = ['AA', 'JM', 'SC', 'LT'],\n className,\n ...props\n}: SocialPulseWidgetProps) {\n const orbit = avatars.length;\n\n return (\n <div className={cn('relative flex h-[320px] w-[320px] items-center justify-center rounded-full bg-slate-950/90 p-6 shadow-[0_40px_120px_rgba(15,23,42,0.55)]', className)} {...props}>\n <div className=\"absolute inset-0 rounded-full bg-[radial-gradient(circle_at_center,rgba(56,189,248,0.14),transparent_40%)]\" />\n <div className=\"absolute inset-0 rounded-full border border-white/10\" />\n <motion.div\n className=\"absolute inset-0 rounded-full border border-cyan-400/20\"\n animate={{ rotate: 360 }}\n transition={{ repeat: Infinity, duration: 18, ease: 'linear' }}\n />\n {avatars.map((avatar, index) => {\n const angle = (index / orbit) * Math.PI * 2;\n const x = Math.cos(angle) * 110;\n const y = Math.sin(angle) * 110;\n return (\n <div\n key={avatar}\n className=\"absolute flex h-12 w-12 items-center justify-center rounded-full bg-slate-900/90 text-sm font-bold text-white shadow-[0_0_20px_rgba(56,189,248,0.15)]\"\n style={{ transform: `translate(${x}px, ${y}px)` }}\n >\n {avatar}\n </div>\n );\n })}\n <div className=\"relative z-10 flex h-20 w-20 items-center justify-center rounded-full bg-cyan-400/10 text-center text-xs uppercase tracking-[0.35em] text-cyan-100\">\n Social Pulse\n </div>\n </div>\n );\n}\n\nexport interface LiquidFormBuilderProps extends HTMLAttributes<HTMLDivElement> {\n fields?: string[];\n}\n\nexport function LiquidFormBuilder({\n fields = ['Name', 'Email', 'Budget', 'Launch date'],\n className,\n ...props\n}: LiquidFormBuilderProps) {\n const [values, setValues] = useState<Record<string, string>>(\n fields.reduce((acc, field) => {\n acc[field] = '';\n return acc;\n }, {} as Record<string, string>),\n );\n\n const fieldType = (field: string) => {\n if (field.toLowerCase().includes('email')) return 'email';\n if (field.toLowerCase().includes('date')) return 'date';\n if (field.toLowerCase().includes('budget')) return 'number';\n return 'text';\n };\n\n return (\n <div className={cn('relative overflow-hidden rounded-[2rem] bg-slate-950/90 p-6 shadow-[0_40px_120px_rgba(15,23,42,0.55)]', className)} {...props}>\n <div className=\"absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(56,189,248,0.12),transparent_40%)]\" />\n <div className=\"relative z-10 grid gap-5\">\n <div className=\"space-y-2\">\n <p className=\"text-white/70 text-xs uppercase tracking-[0.35em]\">Liquid Form Builder</p>\n <h3 className=\"text-2xl font-black text-white\">Build forms with motion and depth.</h3>\n </div>\n <div className=\"space-y-3 rounded-[1.5rem] bg-slate-900/80 p-4\">\n {fields.map((field, index) => (\n <motion.div\n key={field}\n initial={{ y: 16, opacity: 0.4 }}\n animate={{ y: 0, opacity: 1 }}\n transition={{ delay: index * 0.05 }}\n className=\"rounded-3xl border border-white/10 bg-slate-950/95 p-4 shadow-[0_16px_40px_rgba(56,189,248,0.08)]\"\n >\n <label className=\"block text-[11px] uppercase tracking-[0.35em] text-cyan-300/70\" htmlFor={field}>\n {field}\n </label>\n <input\n id={field}\n name={field}\n type={fieldType(field)}\n value={values[field]}\n onChange={(event) => setValues({ ...values, [field]: event.target.value })}\n placeholder={`Enter ${field.toLowerCase()}`}\n className=\"mt-2 w-full rounded-2xl border border-white/10 bg-slate-900/90 px-4 py-3 text-sm text-white outline-none transition focus:border-cyan-400 focus:ring-2 focus:ring-cyan-500/20\"\n />\n </motion.div>\n ))}\n </div>\n <button\n type=\"button\"\n className=\"inline-flex items-center justify-center rounded-full bg-cyan-500 px-6 py-3 text-sm font-semibold text-slate-950 shadow-[0_15px_30px_rgba(56,189,248,0.3)] transition hover:bg-cyan-400\"\n onClick={() => console.log('Liquid form submit', values)}\n >\n Submit Request\n </button>\n </div>\n </div>\n );\n}\n","import { useState, useEffect } from 'react';\nimport { motion } from 'framer-motion';\nimport { cn } from '../../utils/cn';\n\nexport interface HoverBorderGradientProps extends React.HTMLAttributes<HTMLElement> {\n as?: React.ElementType;\n containerClassName?: string;\n className?: string;\n duration?: number;\n clockwise?: boolean;\n}\n\nexport function HoverBorderGradient({\n children,\n containerClassName,\n className,\n as: Tag = 'button',\n duration = 1,\n clockwise = true,\n ...props\n}: HoverBorderGradientProps) {\n const [hovered, setHovered] = useState<boolean>(false);\n const [direction, setDirection] = useState<'TOP' | 'LEFT' | 'BOTTOM' | 'RIGHT'>('TOP');\n\n const rotateDirection = (currentDirection: 'TOP' | 'LEFT' | 'BOTTOM' | 'RIGHT') => {\n const directions: ('TOP' | 'LEFT' | 'BOTTOM' | 'RIGHT')[] = ['TOP', 'LEFT', 'BOTTOM', 'RIGHT'];\n const currentIndex = directions.indexOf(currentDirection);\n const nextIndex = clockwise\n ? (currentIndex - 1 + directions.length) % directions.length\n : (currentIndex + 1) % directions.length;\n return directions[nextIndex];\n };\n\n const mapDirectionToGradient = (currentDirection: 'TOP' | 'LEFT' | 'BOTTOM' | 'RIGHT') => {\n const map = {\n TOP: 'radial-gradient(20.7% 50% at 50% 0%, #3275F8 0%, rgba(255, 255, 255, 0) 100%)',\n LEFT: 'radial-gradient(16.6% 43.1% at 0% 50%, #3275F8 0%, rgba(255, 255, 255, 0) 100%)',\n BOTTOM: 'radial-gradient(20.7% 50% at 50% 100%, #3275F8 0%, rgba(255, 255, 255, 0) 100%)',\n RIGHT: 'radial-gradient(16.2% 41.2% at 100% 50%, #3275F8 0%, rgba(255, 255, 255, 0) 100%)',\n };\n return map[currentDirection];\n };\n\n const background = hovered\n ? 'linear-gradient(90deg, #3275F8 0%, #00D1FF 50%, #3275F8 100%)'\n : mapDirectionToGradient(direction);\n\n useEffect(() => {\n if (!hovered) {\n const interval = setInterval(() => {\n setDirection((prevState) => rotateDirection(prevState));\n }, duration * 1000);\n return () => clearInterval(interval);\n }\n }, [hovered, duration]);\n\n return (\n <Tag\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n className={cn(\n 'relative flex w-fit content-center bg-black/20 hover:bg-black/10 transition duration-500 dark:bg-white/20 items-center flex-col flex-nowrap gap-10 h-min justify-center overflow-visible p-px decoration-clone rounded-full',\n containerClassName\n )}\n {...props}\n >\n <div\n className={cn(\n 'w-auto text-white z-10 bg-black px-4 py-2 rounded-[inherit]',\n className\n )}\n >\n {children}\n </div>\n <motion.div\n className={cn(\n 'flex-none inset-0 overflow-hidden absolute z-0 rounded-[inherit]'\n )}\n style={{\n filter: 'blur(2px)',\n position: 'absolute',\n width: '100%',\n height: '100%',\n }}\n initial={{ background: mapDirectionToGradient('TOP') }}\n animate={{\n background: background,\n }}\n transition={{ ease: 'linear', duration: duration ?? 1 }}\n />\n <div className=\"bg-black absolute inset-[2px] z-1 flex-none rounded-[inherit]\" />\n </Tag>\n );\n}\n","import { useState } from 'react';\nimport { Badge } from '../badge';\nimport { Button } from '../button';\nimport { Card } from '../card';\nimport { Checkbox } from '../checkbox';\nimport { InputField } from '../input';\nimport { Typography } from '../typography';\n\nexport interface AuthFlipCardProps {\n initialMode?: 'login' | 'signup';\n}\n\nconst switchLabels = {\n login: 'Sign in',\n signup: 'Create account',\n};\n\nexport function AuthFlipCard({ initialMode = 'login' }: AuthFlipCardProps) {\n const [mode, setMode] = useState<'login' | 'signup'>(initialMode);\n\n const cardTransform = {\n transformStyle: 'preserve-3d' as const,\n perspective: '1200px',\n transition: 'transform 0.8s ease',\n transform: mode === 'signup' ? 'rotateY(180deg)' : 'rotateY(0deg)',\n };\n\n const faceStyles = {\n backfaceVisibility: 'hidden' as const,\n WebkitBackfaceVisibility: 'hidden' as const,\n position: 'absolute' as const,\n inset: 0,\n };\n\n return (\n <div className=\"w-full max-w-2xl rounded-[3rem] border border-border/40 bg-background/70 p-1 shadow-elevated backdrop-blur-xl\">\n <div className=\"flex items-center justify-between gap-4 px-6 py-5 rounded-[2.75rem] bg-muted/60 border-b border-border/40\">\n <div>\n <Typography variant=\"title\" className=\"text-xl font-black tracking-tight\">{switchLabels[mode]}</Typography>\n <Typography variant=\"caption\" className=\"text-muted-foreground\">A fully animated flip UI for login and signup workflows.</Typography>\n </div>\n <div className=\"flex items-center gap-2\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-2 font-black uppercase text-[10px] tracking-widest\">\n {mode === 'login' ? 'Returning' : 'New'} user\n </Badge>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"rounded-full px-4 py-2 font-black\"\n onClick={() => setMode(mode === 'login' ? 'signup' : 'login')}\n >\n {mode === 'login' ? 'Create account' : 'Sign in'}\n </Button>\n </div>\n </div>\n\n <div className=\"relative overflow-hidden rounded-[2.75rem] bg-background/90 p-8\" style={{ perspective: 1200 }}>\n <div style={cardTransform} className=\"relative min-h-[440px]\">\n <section style={faceStyles} className=\"relative rounded-[2.5rem] bg-slate-950/95 p-8 shadow-[0_40px_120px_-60px_rgba(15,23,42,0.8)]\">\n <div className=\"absolute -right-10 top-8 h-32 w-32 rounded-full bg-primary/20 blur-3xl\" />\n <Typography variant=\"title-lg\" className=\"mb-4 text-3xl font-black tracking-tight text-white\">\n Welcome back\n </Typography>\n <Typography className=\"mb-8 text-sm text-muted-foreground leading-6\">\n Securely sign in and resume your workspace with instant access to your dashboards.\n </Typography>\n <div className=\"space-y-4\">\n <InputField label=\"Email\" placeholder=\"alex@aether.com\" type=\"email\" required className=\"bg-background/10 text-white\" />\n <InputField label=\"Password\" placeholder=\"••••••••\" type=\"password\" required className=\"bg-background/10 text-white\" />\n </div>\n <div className=\"mt-6 flex items-center justify-between gap-4\">\n <Checkbox id=\"remember\" className=\"size-5 rounded-lg border-white/10 text-primary\" />\n <label htmlFor=\"remember\" className=\"text-sm font-medium text-muted-foreground\">Remember me</label>\n <Button variant=\"ghost\" size=\"sm\" className=\"text-primary font-black p-0 h-auto\">\n Forgot password?\n </Button>\n </div>\n <Button size=\"lg\" className=\"mt-8 w-full rounded-2xl bg-primary text-background font-black shadow-glow\">\n Continue to dashboard\n </Button>\n <div className=\"mt-8 border-t border-white/10 pt-6 text-center text-sm text-muted-foreground\">\n Sign in with your organization\n </div>\n </section>\n\n <section\n style={{ ...faceStyles, transform: 'rotateY(180deg)' }}\n className=\"relative rounded-[2.5rem] bg-slate-950/95 p-8 shadow-[0_40px_120px_-60px_rgba(15,23,42,0.8)]\"\n >\n <div className=\"absolute -left-8 top-12 h-32 w-32 rounded-full bg-cyan-500/15 blur-3xl\" />\n <Typography variant=\"title-lg\" className=\"mb-4 text-3xl font-black tracking-tight text-white\">\n Create your account\n </Typography>\n <Typography className=\"mb-8 text-sm text-muted-foreground leading-6\">\n Build a new workspace with an engaging animated signup flow for teams and product launches.\n </Typography>\n <div className=\"space-y-4\">\n <InputField label=\"Full name\" placeholder=\"Alex Rivera\" required className=\"bg-background/10 text-white\" />\n <InputField label=\"Email\" placeholder=\"alex@aether.com\" type=\"email\" required className=\"bg-background/10 text-white\" />\n <InputField label=\"Password\" placeholder=\"Create a password\" type=\"password\" required className=\"bg-background/10 text-white\" />\n </div>\n <div className=\"mt-6 flex items-center gap-3\">\n <Checkbox id=\"agree\" className=\"size-5 rounded-lg border-white/10 text-primary\" />\n <label htmlFor=\"agree\" className=\"text-sm font-medium text-muted-foreground\">I agree to terms and privacy.</label>\n </div>\n <Button size=\"lg\" className=\"mt-8 w-full rounded-2xl bg-cyan-500 text-slate-950 font-black shadow-glow\">\n Create account\n </Button>\n <div className=\"mt-8 grid gap-3 text-center text-sm text-muted-foreground\">\n <p>Instant setup with secure workspace onboarding.</p>\n </div>\n </section>\n </div>\n </div>\n </div>\n );\n}\n","import { motion } from 'framer-motion';\nimport { cn } from '@/utils/cn';\n\ninterface AnimatedGlowButtonProps {\n children: React.ReactNode;\n onClick?: () => void;\n variant?: 'primary' | 'secondary' | 'destructive';\n className?: string;\n disabled?: boolean;\n}\n\nexport function AnimatedGlowButton({\n children,\n onClick,\n variant = 'primary',\n className,\n disabled,\n}: AnimatedGlowButtonProps) {\n const variantClasses = {\n primary: 'bg-gradient-to-r from-blue-500 to-cyan-500 text-white',\n secondary: 'bg-gradient-to-r from-purple-500 to-pink-500 text-white',\n destructive: 'bg-gradient-to-r from-red-500 to-orange-500 text-white',\n };\n\n return (\n <motion.button\n whileHover={{ scale: 1.05 }}\n whileTap={{ scale: 0.95 }}\n onClick={onClick}\n disabled={disabled}\n className={cn(\n 'relative px-6 py-3 rounded-lg font-semibold transition-all overflow-hidden',\n variantClasses[variant],\n disabled && 'opacity-50 cursor-not-allowed',\n className,\n )}\n >\n {/* Animated glow effect */}\n <motion.div\n className=\"absolute inset-0 bg-gradient-to-r from-white/0 via-white/20 to-white/0\"\n animate={{\n x: ['100%', '-100%'],\n }}\n transition={{\n duration: 2,\n repeat: Infinity,\n }}\n />\n \n <span className=\"relative z-10 flex items-center justify-center gap-2\">{children}</span>\n </motion.button>\n );\n}\n","import { motion } from 'framer-motion';\nimport React from 'react';\nimport { cn } from '@/utils/cn';\n\ninterface FluidShapeProps {\n className?: string;\n colors?: string[];\n size?: 'sm' | 'md' | 'lg';\n}\n\nexport function FluidShape({ className, colors = ['#3b82f6', '#8b5cf6', '#ec4899'], size = 'md' }: FluidShapeProps) {\n const sizeClasses = {\n sm: 'w-32 h-32',\n md: 'w-48 h-48',\n lg: 'w-96 h-96',\n };\n\n return (\n <motion.div\n className={cn('relative', sizeClasses[size], className)}\n animate={{\n rotate: 360,\n }}\n transition={{\n duration: 20,\n repeat: Infinity,\n ease: 'linear',\n }}\n >\n {/* Outer blob */}\n <motion.div\n className=\"absolute inset-0 rounded-[30%] opacity-60\"\n style={{\n background: `linear-gradient(45deg, ${colors[0]}, ${colors[1]}, ${colors[2]})`,\n }}\n animate={{\n borderRadius: ['30% 70% 70% 30%', '70% 30% 30% 70%', '30% 70% 70% 30%'],\n }}\n transition={{\n duration: 8,\n repeat: Infinity,\n }}\n />\n\n {/* Inner blob */}\n <motion.div\n className=\"absolute inset-4 rounded-[40%] opacity-40\"\n style={{\n background: `linear-gradient(-45deg, ${colors[2]}, ${colors[0]}, ${colors[1]})`,\n }}\n animate={{\n borderRadius: ['40% 60% 60% 40%', '60% 40% 40% 60%', '40% 60% 60% 40%'],\n }}\n transition={{\n duration: 6,\n repeat: Infinity,\n delay: 0.5,\n }}\n />\n </motion.div>\n );\n}\n\nexport function HolographicCard({ children, className }: { children: React.ReactNode; className?: string }) {\n const [mousePosition, setMousePosition] = React.useState({ x: 0, y: 0 });\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n const rect = e.currentTarget.getBoundingClientRect();\n setMousePosition({\n x: (e.clientX - rect.left) / rect.width,\n y: (e.clientY - rect.top) / rect.height,\n });\n };\n\n return (\n <motion.div\n className={cn(\n 'relative p-6 rounded-2xl border backdrop-blur-xl overflow-hidden',\n 'bg-gradient-to-br from-white/10 to-white/5 border-white/20',\n className,\n )}\n onMouseMove={handleMouseMove}\n whileHover={{ scale: 1.02 }}\n style={{\n background: `radial-gradient(circle at ${mousePosition.x * 100}% ${mousePosition.y * 100}%, rgba(255,255,255,0.1), rgba(0,0,0,0.1))`,\n }}\n >\n {/* Holographic shimmer */}\n <motion.div\n className=\"absolute inset-0 bg-gradient-to-r from-transparent via-white/10 to-transparent\"\n animate={{\n x: ['-100%', '100%'],\n }}\n transition={{\n duration: 3,\n repeat: Infinity,\n }}\n />\n\n <div className=\"relative z-10\">{children}</div>\n </motion.div>\n );\n}\n\ninterface GlitchTextProps {\n text: string;\n className?: string;\n}\n\nexport function GlitchText({ text, className }: GlitchTextProps) {\n return (\n <motion.div\n className={cn('font-black text-2xl', className)}\n animate={{\n letterSpacing: ['-0.05em', '0.05em', '-0.05em'],\n }}\n transition={{\n duration: 0.3,\n repeat: Infinity,\n repeatDelay: 2,\n }}\n >\n <motion.span\n className=\"relative\"\n animate={{\n textShadow: [\n '0 0 0 transparent, 0 0 0 transparent',\n '-2px 0 #ff00ff, 2px 0 #00ffff, 0 0 10px rgba(0,255,255,0.3)',\n '0 0 0 transparent, 0 0 0 transparent',\n ],\n }}\n transition={{\n duration: 0.3,\n repeat: Infinity,\n repeatDelay: 2,\n }}\n >\n {text}\n </motion.span>\n </motion.div>\n );\n}\n","import { \n Button, \n useTheme,\n Typography\n} from '@/index';\nimport { cn } from '@/utils/cn';\nimport { useState, useEffect } from 'react';\n\nexport function MarketingNavbar() {\n const [isScrolled, setIsScrolled] = useState(false);\n const { theme, toggleTheme } = useTheme();\n\n useEffect(() => {\n const handleScroll = () => setIsScrolled(window.scrollY > 20);\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }, []);\n\n const navLinks = [\n { label: 'Platform', href: '#' },\n { label: 'Solutions', href: '#' },\n { label: 'Pricing', href: '#' },\n { label: 'Enterprise', href: '#' },\n ];\n\n return (\n <nav \n className={cn(\n \"fixed top-0 inset-x-0 z-[100] transition-all duration-300 px-6 py-4\",\n isScrolled \n ? \"bg-background/70 backdrop-blur-xl border-b border-border/50 py-3\" \n : \"bg-transparent\"\n )}\n >\n <div className=\"max-w-7xl mx-auto flex items-center justify-between\">\n {/* Brand */}\n <div className=\"flex items-center gap-3 group cursor-pointer\">\n <div className=\"size-10 flex items-center justify-center rounded-xl bg-primary text-primary-foreground font-black shadow-glow group-hover:scale-110 transition-transform\">\n A\n </div>\n <div className=\"hidden sm:block text-left\">\n <p className=\"text-sm font-bold tracking-tight text-foreground\">Aether UI</p>\n <p className=\"text-[10px] text-muted-foreground uppercase tracking-widest font-medium\">Design System</p>\n </div>\n </div>\n\n {/* Desktop Links */}\n <div className=\"hidden md:flex items-center gap-8\">\n {navLinks.map((link) => (\n <a \n key={link.label} \n href={link.href} \n className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors relative group\"\n >\n {link.label}\n <span className=\"absolute -bottom-1 left-0 w-0 h-0.5 bg-primary transition-all group-hover:w-full\" />\n </a>\n ))}\n </div>\n\n {/* Actions */}\n <div className=\"flex items-center gap-3\">\n <Button \n variant=\"ghost\" \n size=\"sm\" \n onClick={toggleTheme}\n className=\"size-9 p-0 rounded-full\"\n >\n {theme === 'dark' ? (\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707m0-11.314l.707.707m11.314 11.314l.707.707\" strokeLinecap=\"round\" /></svg>\n ) : (\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z\" strokeLinecap=\"round\" /></svg>\n )}\n </Button>\n <div className=\"hidden sm:block h-6 w-px bg-border/50 mx-1\" />\n <Button variant=\"ghost\" size=\"sm\" className=\"hidden sm:inline-flex\">Log in</Button>\n <Button variant=\"gradient\" size=\"sm\" className=\"shadow-glow-sm\">Get Started</Button>\n </div>\n </div>\n </nav>\n );\n}\n","import { \n Button, \n Typography, \n Badge, \n InputField,\n} from '@/index';\n\nexport function MarketingFooter() {\n const footerLinks = [\n {\n title: 'Platform',\n links: [\n { label: 'Components', href: '#' },\n { label: 'Templates', href: '#' },\n { label: 'Storybook', href: '#' },\n { label: 'Playground', href: '#' },\n { label: 'Roadmap', href: '#' },\n ],\n },\n {\n title: 'Resources',\n links: [\n { label: 'Documentation', href: '#' },\n { label: 'Design Kits', href: '#' },\n { label: 'Brand Assets', href: '#' },\n { label: 'Help Center', href: '#' },\n { label: 'Changelog', href: '#' },\n ],\n },\n {\n title: 'Company',\n links: [\n { label: 'About Us', href: '#' },\n { label: 'Careers', href: '#' },\n { label: 'Privacy Policy', href: '#' },\n { label: 'Terms of Service', href: '#' },\n { label: 'Press Kit', href: '#' },\n ],\n },\n ];\n\n return (\n <footer className=\"relative z-10 border-t border-border/50 bg-background/50 py-24 px-6 md:px-12 backdrop-blur-md overflow-hidden text-left\">\n {/* Background Mesh */}\n <div className=\"absolute top-0 right-0 h-96 w-full -translate-y-1/2 bg-info/5 blur-[100px]\" />\n \n <div className=\"mx-auto max-w-7xl\">\n <div className=\"grid gap-12 lg:grid-cols-[1fr_minmax(0,1.5fr)]\">\n {/* Brand & Newsletter */}\n <div className=\"space-y-8 max-w-md\">\n <div>\n <div className=\"flex items-center gap-3 mb-4\">\n <div className=\"size-10 flex items-center justify-center rounded-xl bg-primary text-primary-foreground font-black shadow-glow\">\n A\n </div>\n <Typography variant=\"title\" className=\"text-xl font-bold font-display tracking-tight text-foreground\">Aether UI</Typography>\n </div>\n <Typography variant=\"caption\" className=\"text-muted-foreground leading-relaxed\">\n The definitive UI library for product teams that demand polish and power without overhead. Designed in London, built for the world.\n </Typography>\n </div>\n\n <div className=\"space-y-4\">\n <Typography variant=\"title\" className=\"font-bold text-sm\">Subscribe to core engineering updates</Typography>\n <div className=\"flex gap-2 items-end\">\n <InputField label=\"Email Address\" placeholder=\"Email Address\" className=\"bg-background/50 h-10\" />\n <Button variant=\"primary\" className=\"h-10 px-6 font-bold shadow-glow-sm\">Join Beta</Button>\n </div>\n <p className=\"text-[10px] text-muted-foreground\">No spam. Only product announcements and ecosystem logs.</p>\n </div>\n </div>\n\n {/* Links Grid */}\n <div className=\"grid grid-cols-2 md:grid-cols-3 gap-8\">\n {footerLinks.map((section) => (\n <div key={section.title} className=\"space-y-6\">\n <p className=\"text-xs font-bold uppercase tracking-[0.2em] text-foreground\">{section.title}</p>\n <ul className=\"space-y-3\">\n {section.links.map((link) => (\n <li key={link.label}>\n <a \n href={link.href} \n className=\"text-sm text-muted-foreground hover:text-primary transition-colors font-medium\"\n >\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n\n {/* Bottom Bar */}\n <div className=\"mt-20 pt-8 border-t border-border/40 flex flex-col md:flex-row items-center justify-between gap-6\">\n <div className=\"flex items-center gap-6\">\n <a href=\"#\" className=\"text-muted-foreground hover:text-foreground text-xs transition-colors\">GitHub</a>\n <a href=\"#\" className=\"text-muted-foreground hover:text-foreground text-xs transition-colors\">Twitter (X)</a>\n <a href=\"#\" className=\"text-muted-foreground hover:text-foreground text-xs transition-colors\">Discord</a>\n </div>\n\n <div className=\"flex items-center gap-4\">\n <Badge variant=\"outline\" className=\"text-[9px] uppercase font-black py-0.5 tracking-widest bg-muted/40 opacity-70\">Region: Europe/London</Badge>\n <Typography variant=\"caption\" className=\"text-muted-foreground opacity-60\">© 2026 Aether Foundation. Built with intent.</Typography>\n </div>\n </div>\n </div>\n </footer>\n );\n}\n","import { \n Badge, \n Button, \n Typography, \n BorderBeam,\n Meteors\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function SaaSHero() {\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden antialiased\">\n {/* Immersive Depth Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none overflow-hidden\">\n <div className=\"absolute top-[-10%] left-[-5%] h-[700px] w-full max-w-7xl bg-[radial-gradient(ellipse_at_center,hsl(var(--primary)/0.08),transparent_70%)] blur-[100px] animate-pulse\" />\n <div className=\"absolute bottom-[10%] right-[-5%] h-[600px] w-[600px] rounded-full bg-info/10 blur-[130px] [animation-delay:3000ms]\" />\n \n {/* Subtle Atmospheric Meteors */}\n <Meteors count={6} />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 pt-16 w-full flex flex-col items-center\">\n {/* Modern Centered Hero */}\n <section className=\"px-6 py-32 md:py-48 lg:py-60 flex flex-col items-center text-center max-w-5xl\">\n <div className=\"space-y-10 w-full animate-fade-up\">\n {/* Refined Product Badge */}\n <div className=\"flex justify-center group\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-5 py-1.5 font-black uppercase text-[10px] tracking-[0.25em] border border-primary/20 bg-primary/5 shadow-glow relative overflow-hidden transition-all group-hover:border-primary/40 group-hover:px-8\">\n <span className=\"relative z-10\">Sensory Workspace v2.0</span>\n </Badge>\n </div>\n\n {/* High-Fidelity Brand Headline */}\n <div className=\"space-y-6 relative group\">\n <div className=\"absolute -inset-20 bg-primary/5 blur-[100px] rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n <Typography variant=\"display\" className=\"text-5xl md:text-8xl lg:text-[10rem] font-black tracking-tighter leading-[0.9] text-foreground lowercase\">\n reimagine <br /> \n <span className=\"ui-gradient-text italic font-black relative px-4\">\n digital depth.\n <div className=\"absolute inset-x-0 bottom-4 h-2 bg-primary/30 blur-xl opacity-40 animate-pulse pointer-events-none\" />\n </span>\n </Typography>\n </div>\n\n {/* Clear Value Proposition */}\n <Typography variant=\"lead\" className=\"text-muted-foreground text-lg md:text-2xl max-w-2xl mx-auto font-medium opacity-80 decoration-primary/20 decoration-2 italic\">\n Architecture for high-stakes platforms. From sub-millisecond peering to sensory motion primitives, built on top of our regional mesh.\n </Typography>\n\n {/* Refined CTA Group */}\n <div className=\"flex flex-col sm:flex-row items-center justify-center gap-6 pt-10 animate-fade-up\" style={{ animationDelay: '300ms' }}>\n <Button variant=\"primary\" size=\"lg\" className=\"h-18 px-14 text-xl font-black shadow-glow bg-foreground text-background rounded-3xl hover:scale-105 transition-all group overflow-hidden\">\n Initialize Protocol\n <div className=\"absolute inset-x-0 bottom-0 h-0.5 bg-primary/40 group-hover:h-full transition-all duration-500 opacity-20\" />\n </Button>\n <Button variant=\"outline\" size=\"lg\" className=\"h-18 px-12 text-lg font-bold border-2 border-border/40 rounded-3xl hover:bg-muted/30 hover:border-primary/40 transition-all font-mono\">\n --read docs\n </Button>\n </div>\n </div>\n\n {/* Immersive Mockup Showcase v2 */}\n <div className=\"mt-40 w-full max-w-6xl px-6 relative group animate-fade-up\" style={{ animationDelay: '600ms' }}>\n <div className=\"relative rounded-[4.5rem] border border-border/60 bg-muted/10 backdrop-blur-3xl aspect-video overflow-hidden shadow-2xl scale-95 group-hover:scale-100 transition-transform duration-1000\">\n <BorderBeam duration={15} delay={10} size={500} className=\"opacity-40\" />\n <div className=\"absolute inset-0 bg-gradient-to-br from-primary/[0.03] to-transparent opacity-60\" />\n \n <div className=\"absolute inset-0 flex items-center justify-center text-muted-foreground/10 italic font-black text-3xl select-none group-hover:text-primary/10 transition-colors\">\n Aether Workspace Console v2.0\n </div>\n \n {/* Internal Primitive Grid */}\n <div className=\"absolute inset-x-20 inset-y-20 border-2 border-dashed border-border/20 rounded-[3rem] opacity-40 group-hover:opacity-80 transition-opacity\" />\n </div>\n <div className=\"absolute -top-12 -right-12 size-64 rounded-full bg-primary/10 blur-[100px] opacity-0 group-hover:opacity-100 transition-opacity duration-[2000ms]\" />\n <div className=\"absolute -bottom-12 -left-12 size-80 rounded-full bg-info/10 blur-[120px] opacity-0 group-hover:opacity-100 transition-opacity duration-[2000ms]\" />\n </div>\n </section>\n\n {/* Brand Trust Layer */}\n <section className=\"px-6 py-24 border-t border-border/10 bg-muted/5 opacity-40 hover:opacity-80 transition-opacity duration-700\">\n <div className=\"max-w-7xl mx-auto flex flex-col md:flex-row items-center justify-between gap-12 text-left grayscale hover:grayscale-0 transition-all\">\n <Typography variant=\"caption\" className=\"font-black uppercase tracking-widest text-[11px] whitespace-nowrap opacity-60\">Verified Peering with:</Typography>\n <div className=\"flex flex-wrap items-center justify-center gap-16 font-black text-3xl tracking-tighter text-foreground/40 italic\">\n <span>NETLIFY</span>\n <span>LINEAR</span>\n <span>STRIPE</span>\n <span>VERCEL</span>\n <span>SUPABASE</span>\n </div>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Typography, \n BorderBeam,\n Meteors,\n Marquee\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function AetherPulseHero() {\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Immersive Genesis Glow Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none overflow-hidden\">\n <div className=\"absolute top-[-10%] left-1/2 -translate-x-1/2 h-[700px] w-full max-w-7xl bg-[radial-gradient(ellipse_at_center,hsl(var(--primary)/0.15),transparent_70%)] blur-[120px] animate-pulse\" />\n <div className=\"absolute top-[20%] left-1/2 -translate-x-1/2 h-[500px] w-full max-w-4xl bg-[radial-gradient(ellipse_at_center,hsl(var(--info)/0.1),transparent_70%)] blur-[100px] [animation-delay:2000ms]\" />\n \n {/* Subtle Meteors for depth */}\n <Meteors count={8} />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full flex flex-col items-center\">\n {/* Hero Section */}\n <section className=\"px-6 py-32 md:py-48 lg:py-64 flex flex-col items-center text-center max-w-6xl\">\n <div className=\"space-y-12 w-full animate-fade-up\">\n {/* Floating Pulse Badge */}\n <div className=\"flex justify-center group\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-2 font-black uppercase text-[10px] tracking-[0.3em] border border-primary/20 bg-primary/5 shadow-glow relative overflow-hidden\">\n <span className=\"relative z-10\">Neural Interface v4.0</span>\n <div className=\"absolute inset-0 bg-primary/20 blur-xl opacity-0 group-hover:opacity-100 transition-opacity duration-700\" />\n </Badge>\n </div>\n\n {/* Massive Centered Headline with Pulse Effect */}\n <div className=\"space-y-4 relative\">\n <Typography variant=\"display\" className=\"text-6xl md:text-8xl lg:text-[11rem] font-black tracking-tighter leading-none text-foreground uppercase italic animate-fade-in\">\n Build <br /> \n <span className=\"ui-gradient-text italic font-black relative\">\n Infinite\n <div className=\"absolute -inset-x-8 -inset-y-4 bg-primary/10 blur-[60px] rounded-full opacity-40 animate-pulse pointer-events-none\" />\n </span>\n </Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground text-xl md:text-3xl max-w-3xl mx-auto font-medium opacity-80 decoration-primary/20 decoration-2\">\n The world's most advanced sensory UI primitives. <br className=\"hidden md:block\" />\n Engineered for high-frequency engineering teams.\n </Typography>\n </div>\n\n {/* Glassmorphism Command CTA */}\n <div className=\"flex flex-col sm:flex-row items-center justify-center gap-6 pt-8 animate-fade-up\" style={{ animationDelay: '300ms' }}>\n <Button variant=\"primary\" size=\"lg\" className=\"h-18 px-14 text-xl font-black shadow-glow bg-foreground text-background rounded-[2rem] hover:scale-105 transition-transform group overflow-hidden\">\n <span className=\"relative z-10\">Deploy Infrastructure</span>\n <div className=\"absolute inset-x-0 bottom-0 h-1 bg-primary/40 group-hover:h-full transition-all duration-500 opacity-20\" />\n </Button>\n \n <div className=\"group relative\">\n <div className=\"absolute -inset-0.5 bg-gradient-to-r from-primary to-info rounded-3xl blur opacity-30 group-hover:opacity-100 transition duration-1000 group-hover:duration-200\" />\n <button className=\"relative h-18 px-12 bg-background border border-border/40 rounded-3xl flex items-center gap-4 hover:bg-muted/50 transition-all\">\n <span className=\"font-mono text-primary font-bold\">npx aether@init</span>\n <svg className=\"size-5 text-muted-foreground\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M8 4v8a4 4 0 0 0 8 0V4\" /><path d=\"m11 19 2 2 4-4\" /></svg>\n </button>\n </div>\n </div>\n </div>\n\n {/* Premium Mockup Showcase */}\n <div className=\"mt-40 w-full max-w-6xl relative group animate-fade-up\" style={{ animationDelay: '600ms' }}>\n <div className=\"relative rounded-[4rem] border-2 border-border/40 bg-muted/20 backdrop-blur-3xl aspect-[16/9] overflow-hidden shadow-2xl scale-95 group-hover:scale-100 transition-transform duration-1000\">\n <BorderBeam duration={10} delay={5} size={400} />\n <div className=\"absolute inset-0 bg-gradient-to-br from-primary/5 to-transparent opacity-40\" />\n \n {/* Internal Mockup Grid */}\n <div className=\"absolute inset-10 grid grid-cols-12 gap-6 opacity-30 group-hover:opacity-60 transition-opacity\">\n <div className=\"col-span-8 h-full rounded-3xl bg-muted/40 border border-border/60\" />\n <div className=\"col-span-4 h-full space-y-6\">\n <div className=\"h-1/3 rounded-3xl bg-muted/40 border border-border/60\" />\n <div className=\"h-2/3 rounded-3xl bg-muted/40 border border-border/60\" />\n </div>\n </div>\n </div>\n \n {/* Floating Sensory Orbs */}\n <div className=\"absolute -top-20 -right-20 size-80 rounded-full bg-primary/20 blur-[120px] opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n <div className=\"absolute -bottom-20 -left-20 size-64 rounded-full bg-info/20 blur-[100px] opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n </div>\n </section>\n\n {/* Dynamic Social Proof Marquee */}\n <section className=\"w-full py-24 border-y border-border/20 bg-muted/10 overflow-hidden\">\n <Marquee pauseOnHover className=\"[--duration:40s]\">\n {['Stripe', 'OpenAI', 'Vercel', 'Linear', 'Supabase', 'GitHub', 'Netlify', 'Framer'].map(brand => (\n <div key={brand} className=\"mx-12 flex items-center gap-4 grayscale opacity-40 hover:grayscale-0 hover:opacity-100 transition-all cursor-pointer\">\n <div className=\"size-10 rounded-xl bg-foreground\" />\n <span className=\"font-black tracking-tighter text-2xl uppercase italic\">{brand}</span>\n </div>\n ))}\n </Marquee>\n </section>\n\n {/* Feature Teaser */}\n <section className=\"px-6 py-40 max-w-7xl w-full\">\n <div className=\"grid gap-12 lg:grid-cols-2 items-center\">\n <div className=\"space-y-8 text-left\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-bold\">Performance Layer</Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tighter leading-none\">Sub-millisecond <br />Peering.</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-xl\">Deploy nodes globally with integrated p99 monitoring. Our sensory engine adapts in real-time to network congestion.</Typography>\n <Button variant=\"outline\" className=\"h-14 px-10 rounded-2xl font-bold border-2 border-border/60\">Explore the Protocol</Button>\n </div>\n <div className=\"relative h-[500px] rounded-[3.5rem] border-2 border-border/40 bg-muted/20 overflow-hidden group\">\n <div className=\"absolute inset-0 bg-[radial-gradient(circle_at_center,hsl(var(--primary)/0.1),transparent)] group-hover:scale-150 transition-transform duration-1000\" />\n <div className=\"absolute inset-0 flex items-center justify-center italic font-black text-foreground/10 text-2xl select-none\">Global Peering Visualization</div>\n </div>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Card, \n Typography,\n SpotlightCard,\n Divider,\n Marquee\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function NeonAgencyGrid() {\n const agencyServices = [\n { title: 'Visual Systems', desc: 'Crafting high-fidelity design primitives that scale from mobile nodes to regional clusters.', icon: 'VS' },\n { title: 'Neural Core', desc: 'Integrating generative AI layers directly into your sensory UI components.', icon: 'NC' },\n { title: 'Performance', desc: 'Optimizing for sub-millisecond interactivity across globally distributed data sources.', icon: 'PF' },\n { title: 'Security', desc: 'Hardened architecture patterns for enterprise-grade platform engineering.', icon: 'SC' },\n ];\n\n return (\n <div className=\"relative min-h-screen w-full bg-[#050505] text-white selection:bg-success/30 selection:text-success overflow-x-hidden antialiased\">\n {/* Dark Grid Overlay */}\n <div className=\"fixed inset-0 z-0 bg-[linear-gradient(to_right,#80808012_1px,transparent_1px),linear-gradient(to_bottom,#80808012_1px,transparent_1px)] bg-[size:32px_32px] [mask-image:radial-gradient(ellipse_60%_50%_at_50%_0%,#000_70%,transparent_100%)] opacity-30\" />\n \n {/* Neon Spotlight Effects */}\n <div className=\"fixed inset-0 z-0 pointer-events-none\">\n <div className=\"absolute top-[-10%] left-[-10%] h-[600px] w-[600px] rounded-full bg-success/10 blur-[150px] animate-pulse\" />\n <div className=\"absolute bottom-[-10%] right-[-10%] h-[500px] w-[500px] rounded-full bg-indigo-500/10 blur-[130px] [animation-delay:3000ms]\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16 flex flex-col items-center\">\n {/* Hero Branding */}\n <section className=\"px-6 py-32 md:py-48 flex flex-col items-center text-center max-w-5xl animate-fade-up\">\n <div className=\"space-y-12\">\n <div className=\"flex justify-center\">\n <Badge variant=\"outline\" className=\"rounded-full px-6 py-1.5 font-black uppercase text-[11px] tracking-[0.25em] border-success/40 text-success bg-success/5 shadow-[0_0_20px_rgba(34,197,94,0.15)]\">Agency Collection v1.0</Badge>\n </div>\n <Typography variant=\"display\" className=\"text-6xl md:text-9xl font-black tracking-tighter leading-none italic uppercase\">\n Systems <br /> \n <span className=\"text-success underline decoration-success/60 underline-offset-[16px] decoration-4 italic\">Everything.</span>\n </Typography>\n <Typography variant=\"lead\" className=\"text-white/60 text-xl font-medium max-w-2xl mx-auto px-6\">We design and build the world's most performant digital interfaces for the AI-first era.</Typography>\n <div className=\"flex items-center justify-center gap-6 pt-4\">\n <Button variant=\"primary\" className=\"h-16 px-12 rounded-2xl font-black text-lg bg-success hover:bg-success/80 text-background shadow-[0_0_30px_rgba(34,197,94,0.3)]\">Partner with us</Button>\n <Button variant=\"outline\" className=\"h-16 px-10 rounded-2xl font-bold border-white/20 text-white hover:bg-white/5\">View Latest Work</Button>\n </div>\n </div>\n </section>\n\n {/* Global Clients Marquee */}\n <div className=\"w-full py-16 opacity-30 group hover:opacity-60 transition-opacity border-y border-white/10 bg-white/[0.02]\">\n <Marquee className=\"[--duration:30s]\">\n {['NETLIFY', 'VERCEL', 'LINEAR', 'STRIPE', 'UBER', 'REPLIT', 'RAILWAY', 'SUPABASE'].map(client => (\n <span key={client} className=\"mx-16 text-3xl font-black tracking-tighter italic\">{client}</span>\n ))}\n </Marquee>\n </div>\n\n {/* Bento Service Grid */}\n <section className=\"px-6 py-40 max-w-7xl w-full\">\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 gap-6\">\n {/* Massive Main Feature */}\n <SpotlightCard className=\"lg:col-span-8 h-[500px] border-white/10 bg-white/[0.02] p-12 flex flex-col justify-between group overflow-hidden\">\n <div className=\"space-y-4 text-left\">\n <Badge variant=\"outline\" className=\"rounded-full border-success/40 text-success bg-success/5 font-black uppercase text-[10px]\">Capabilities</Badge>\n <Typography variant=\"title\" className=\"text-4xl md:text-6xl font-black tracking-tight leading-none italic\">Digital <br />Architectures.</Typography>\n <p className=\"text-xl text-white/40 max-w-md font-medium\">Complete visual systems built for high-performance and sub-millisecond precision.</p>\n </div>\n <div className=\"flex items-center gap-2 group-hover:translate-x-2 transition-transform\">\n <Typography className=\"text-sm font-black text-success uppercase tracking-widest\">Our Methodology</Typography>\n <svg className=\"size-4 text-success\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"M5 12h14M12 5l7 7-7 7\" /></svg>\n </div>\n <div className=\"absolute top-0 right-0 p-12 opacity-0 group-hover:opacity-100 transition-opacity duration-1000 translate-x-20 group-hover:translate-x-0 transition-transform\">\n <div className=\"size-64 rounded-full bg-success/5 blur-[80px]\" />\n </div>\n </SpotlightCard>\n\n {/* Side Secondary Feature */}\n <Card className=\"lg:col-span-4 h-[500px] border-white/10 bg-white/5 p-12 flex flex-col justify-center items-center text-center space-y-8 relative overflow-hidden backdrop-blur-3xl\">\n <div className=\"size-20 rounded-[2.5rem] bg-indigo-500/20 border border-indigo-500/40 flex items-center justify-center text-indigo-400 font-black text-2xl italic shadow-[0_0_30px_rgba(99,102,241,0.2)]\">AI</div>\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight italic\">Intelligence <br />Native.</Typography>\n <Divider className=\"w-12 bg-white/10\" />\n <p className=\"text-sm text-white/40 font-medium\">Automated frontend generation and neural-driven UX patterns integrated at the core.</p>\n <div className=\"absolute inset-0 bg-gradient-to-br from-indigo-500/5 to-transparent pointer-events-none\" />\n </Card>\n\n {/* Grid Items */}\n {agencyServices.map((service) => (\n <SpotlightCard key={service.title} className=\"lg:col-span-3 h-[320px] border-white/10 bg-white/[0.02] p-8 space-y-6 text-left group\">\n <div className=\"size-12 rounded-2xl bg-white/5 border border-white/10 flex items-center justify-center text-xs font-black italic group-hover:bg-success/10 group-hover:text-success transition-colors group-hover:border-success/40\">{service.icon}</div>\n <Typography variant=\"title\" className=\"text-2xl font-black tracking-tight italic\">{service.title}</Typography>\n <p className=\"text-sm text-white/40 font-medium leading-relaxed\">{service.desc}</p>\n </SpotlightCard>\n ))}\n <div className=\"lg:col-span-12 h-64 rounded-[3.5rem] border-2 border-dashed border-white/10 bg-white/[0.01] flex flex-col items-center justify-center space-y-4 hover:bg-white/[0.03] transition-all cursor-pointer group\">\n <div className=\"size-10 rounded-full bg-white/10 flex items-center justify-center group-hover:scale-110 transition-transform\">\n <svg className=\"size-5 text-white/40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}><path d=\"M5 12h14M12 5l7 7-7 7\" /></svg>\n </div>\n <Typography variant=\"title\" className=\"text-white/20 font-black italic uppercase tracking-widest text-xs\">View all platform primitives</Typography>\n </div>\n </div>\n </section>\n\n {/* Global CTA Section */}\n <section className=\"px-6 py-40 bg-white flex flex-col items-center text-center text-black w-full rounded-t-[5rem] space-y-12\">\n <Typography variant=\"display\" className=\"text-5xl md:text-8xl font-black tracking-tighter leading-none italic uppercase\">Ready to <br /><span className=\"text-indigo-600\">hyperscale?</span></Typography>\n <Typography variant=\"lead\" className=\"text-black/60 max-w-2xl mx-auto font-medium text-lg md:text-2xl\">Partner with our engineering group to design the next era of your sensory platform.</Typography>\n <div className=\"flex flex-col sm:flex-row gap-4 pt-4\">\n <Button variant=\"primary\" className=\"h-20 px-16 text-xl font-black bg-black text-white rounded-[2rem] hover:scale-105 transition-transform shadow-[0_20px_50px_rgba(0,0,0,0.2)]\">Schedule Call</Button>\n <Button variant=\"outline\" className=\"h-20 px-12 text-xl font-bold border-black/10 text-black hover:bg-black/5 rounded-[2rem]\">Download Catalog</Button>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Typography,\n InputField,\n BorderBeam,\n Marquee\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function DevNexusLanding() {\n return (\n <div className=\"relative min-h-screen w-full bg-[#fdfdfd] selection:bg-indigo-500/30 selection:text-indigo-600 overflow-x-hidden antialiased text-slate-900\">\n {/* Soft Diffusion Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none overflow-hidden\">\n <div className=\"absolute top-[-10%] left-[20%] h-[600px] w-[600px] rounded-full bg-indigo-500/5 blur-[120px] animate-pulse\" />\n <div className=\"absolute bottom-[-10%] right-[10%] h-[500px] w-[500px] rounded-full bg-blue-500/5 blur-[100px] [animation-delay:2000ms]\" />\n \n {/* Fine Grain Texture */}\n <div className=\"absolute inset-0 opacity-[0.015] bg-[url('https://grainy-gradients.vercel.app/noise.svg')] pointer-events-none\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full flex flex-col items-center\">\n {/* Terminal Hero Section */}\n <section className=\"px-6 py-28 md:py-40 lg:py-56 flex flex-col items-center text-center max-w-5xl animate-fade-up\">\n <div className=\"space-y-12\">\n <div className=\"flex justify-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-5 py-1.5 font-bold uppercase text-[10px] tracking-[0.2em] border-indigo-500/20 text-indigo-600 bg-indigo-50/50 shadow-sm\">Platform Core v2.4.1</Badge>\n </div>\n \n <div className=\"space-y-6\">\n <Typography variant=\"display\" className=\"text-5xl md:text-8xl font-black tracking-tighter leading-tight text-slate-950\">\n The engineering <br /> \n <span className=\"text-indigo-600 italic\">operating system.</span>\n </Typography>\n <Typography variant=\"lead\" className=\"text-slate-500 text-lg md:text-2xl max-w-2xl mx-auto font-medium px-6\">A production-ready foundation of high-fidelity components, sensory motion, and real-time peering primitives.</Typography>\n </div>\n\n {/* Minimal Terminal Command Input */}\n <div className=\"relative max-w-2xl mx-auto w-full group\">\n <div className=\"absolute -inset-4 bg-indigo-500/5 blur-3xl opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n <div className=\"relative flex items-center p-2 rounded-3xl bg-white border border-slate-200 shadow-xl focus-within:ring-4 focus-within:ring-indigo-500/10 transition-all overflow-hidden group-hover:border-indigo-200 duration-500\">\n <div className=\"flex-1 flex items-center gap-4 px-6\">\n <span className=\"font-mono text-indigo-600 font-black text-lg select-none\">$</span>\n <InputField \n label=\"\" \n placeholder=\"npm install aether-nexus-core\" \n defaultValue=\"npx aether create ./my-platform\"\n className=\"flex-1 border-none bg-transparent outline-none text-slate-900 font-mono font-bold text-lg h-14\" \n />\n </div>\n <Button variant=\"primary\" className=\"h-14 px-10 rounded-2xl font-black text-base bg-indigo-600 hover:bg-indigo-700 text-white shadow-lg shadow-indigo-600/20 active:scale-95 transition-transform group-hover:px-12 duration-500\">Run Command</Button>\n </div>\n <div className=\"flex items-center justify-center gap-8 mt-8 text-[11px] font-black uppercase tracking-widest text-slate-400\">\n <span className=\"flex items-center gap-2 group-hover:text-indigo-500 transition-colors cursor-pointer\"><div className=\"size-1.5 rounded-full bg-slate-300\" /> 14.1k Weekly Installs</span>\n <span className=\"flex items-center gap-2 group-hover:text-indigo-500 transition-colors cursor-pointer\"><div className=\"size-1.5 rounded-full bg-slate-300\" /> V2 Migration Guide</span>\n </div>\n </div>\n </div>\n </section>\n\n {/* High-Fidelity Feature Grid */}\n <section className=\"px-6 py-40 max-w-7xl w-full\">\n <div className=\"grid gap-12 lg:grid-cols-2 items-start\">\n {/* Complex Preview Interface */}\n <div className=\"relative rounded-[3.5rem] border-2 border-slate-100 bg-white shadow-2xl p-4 group animate-fade-up\">\n <div className=\"relative rounded-[2.5rem] overflow-hidden aspect-[4/3] bg-slate-50 border border-slate-100\">\n <BorderBeam duration={12} delay={5} size={300} className=\"opacity-40\" />\n <div className=\"absolute inset-x-0 top-0 h-14 bg-white border-b border-slate-100 flex items-center px-8 gap-3\">\n <div className=\"size-3 rounded-full bg-slate-200\" />\n <div className=\"size-3 rounded-full bg-slate-200\" />\n <div className=\"size-3 rounded-full bg-slate-200\" />\n </div>\n <div className=\"absolute inset-10 grid grid-cols-12 gap-8 opacity-40 group-hover:opacity-80 transition-opacity\">\n <div className=\"col-span-4 h-full rounded-3xl bg-white border border-slate-200 shadow-sm\" />\n <div className=\"col-span-8 h-full space-y-8\">\n <div className=\"h-32 rounded-3xl bg-white border border-slate-200 shadow-sm\" />\n <div className=\"h-full rounded-3xl bg-white border border-slate-200 shadow-sm\" />\n </div>\n </div>\n </div>\n <div className=\"absolute top-1/2 left-0 -translate-x-12 p-8 rounded-3xl bg-white shadow-2xl border border-slate-100 hidden lg:block hover:-translate-x-16 transition-transform\">\n <div className=\"size-12 rounded-2xl bg-indigo-600 text-white flex items-center justify-center font-black italic shadow-indigo-600/20 shadow-lg group-hover:rotate-6 transition-transform\">N</div>\n </div>\n </div>\n\n {/* Text Description Block */}\n <div className=\"space-y-16 text-left py-12 lg:pl-12\">\n <div className=\"space-y-6\">\n <Typography variant=\"display\" className=\"text-4xl md:text-6xl font-black tracking-tighter leading-none text-slate-950\">Visual systems <br />for high-stakes <br />interfaces.</Typography>\n <Typography variant=\"lead\" className=\"text-slate-500 font-medium text-xl leading-relaxed\">Stop managing component state manually. Join the foundational engineering teams built on top of our sensory peer middleware.</Typography>\n </div>\n \n <div className=\"grid gap-8\">\n {[\n { t: 'Sub-millisecond Interactivity', d: 'Global node placement for zero-latency peering across regional clusters.' },\n { t: 'Design System Hardened', d: 'A comprehensive suite of 1,200+ primitives verified for high-density dashboards.' }\n ].map(f => (\n <div key={f.t} className=\"flex gap-6 group cursor-pointer p-4 rounded-3xl hover:bg-indigo-50/50 transition-all -mx-4\">\n <div className=\"size-14 shrink-0 rounded-2xl bg-white border border-slate-100 flex items-center justify-center shadow-sm group-hover:border-indigo-200 group-hover:shadow-indigo-500/10 transition-all\">\n <svg className=\"size-6 text-indigo-600\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" /></svg>\n </div>\n <div className=\"space-y-1\">\n <Typography variant=\"title\" className=\"text-xl font-black text-slate-900\">{f.t}</Typography>\n <p className=\"text-sm text-slate-500 font-medium leading-relaxed\">{f.d}</p>\n </div>\n </div>\n ))}\n </div>\n \n <Button variant=\"outline\" className=\"h-16 px-10 rounded-2xl font-black text-base border-slate-200 hover:border-indigo-600 hover:text-indigo-600 bg-white transition-all\">Technical Protocol Manifest</Button>\n </div>\n </div>\n </section>\n\n {/* Minimal Marquee Footer Branding */}\n <section className=\"w-full py-24 bg-white border-y border-slate-100\">\n <Typography variant=\"caption\" className=\"text-center font-black uppercase tracking-widest text-[10px] text-slate-300 mb-12 block\">Built on top of leading primitives</Typography>\n <Marquee className=\"[--duration:25s]\">\n {['RUST', 'AWS', 'VERCEL', 'LINEAR', 'RAILWAY', 'SUPABASE', 'UPSTASH', 'STRIPE'].map(tech => (\n <span key={tech} className=\"mx-20 text-2xl font-black tracking-tighter text-slate-200 hover:text-slate-900 transition-colors cursor-pointer\">{tech}</span>\n ))}\n </Marquee>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { useState } from 'react';\nimport { \n Badge, \n Button, \n Card, \n CardHeader, \n CardTitle, \n CardContent, \n Typography,\n Avatar,\n AvatarFallback,\n Marquee,\n InputField\n} from '@/index';\nimport { MarketingNavbar } from '../marketing/MarketingNavbar';\nimport { MarketingFooter } from '../marketing/MarketingFooter';\n\nconst categories = ['All', 'Engineering', 'Design', 'AI', 'Product', 'Startup'];\n\nconst featuredPost = {\n tag: 'Engineering',\n title: 'The Architecture of Sub-Millisecond Distributed Systems',\n excerpt: 'How we reduced p99 latency from 220ms to 14ms across 12 regional clusters by rethinking the entire peering layer from the ground up.',\n author: { name: 'Elara Voss', role: 'Principal Engineer', initials: 'EV' },\n readTime: '14 min read',\n date: 'Apr 1, 2026',\n};\n\nconst posts = [\n { tag: 'AI', title: 'Building Neural-Native UI Components at Scale', excerpt: 'Integrating generative AI into design systems without sacrificing performance or predictability.', author: { name: 'Jordi Kael', initials: 'JK' }, readTime: '8 min', date: 'Mar 28' },\n { tag: 'Design', title: 'Sensory Motion: Beyond Micro-Animations', excerpt: 'A deep dive into how physics-based motion creates instinctive, responsive interface behaviors.', author: { name: 'Mia Chen', initials: 'MC' }, readTime: '6 min', date: 'Mar 24' },\n { tag: 'Product', title: 'Shipping Velocity Without Burning Teams Out', excerpt: 'The systems and rituals the fastest engineering orgs use to ship without compounding technical debt.', author: { name: 'Dev Rajan', initials: 'DR' }, readTime: '10 min', date: 'Mar 20' },\n { tag: 'Startup', title: 'Zero to One: Infrastructure for Pre-Seed Founders', excerpt: 'The exact stack we recommend for founders going from idea to first 1,000 users with minimal ops overhead.', author: { name: 'Aria Bloom', initials: 'AB' }, readTime: '12 min', date: 'Mar 15' },\n { tag: 'Engineering', title: 'Rust in Production: Two Years of Rewrites', excerpt: 'What we learned migrating 140k lines of TypeScript to Rust and what we would do differently.', author: { name: 'Elara Voss', initials: 'EV' }, readTime: '18 min', date: 'Mar 10' },\n { tag: 'AI', title: 'The Prompt Engineering Playbook for Product Teams', excerpt: 'Structured patterns for integrating LLMs into user-facing features without hallucination risk.', author: { name: 'Mia Chen', initials: 'MC' }, readTime: '9 min', date: 'Mar 5' },\n];\n\nconst tagColor: Record<string, string> = {\n Engineering: 'border-primary/30 bg-primary/5 text-primary',\n AI: 'border-info/30 bg-info/5 text-info',\n Design: 'border-success/30 bg-success/5 text-success',\n Product: 'border-warning/30 bg-warning/5 text-warning',\n Startup: 'border-purple-400/30 bg-purple-400/5 text-purple-400',\n};\n\nexport function BlogMagazineLayout() {\n const [activeCategory, setActiveCategory] = useState('All');\n\n const filtered = activeCategory === 'All' ? posts : posts.filter(p => p.tag === activeCategory);\n\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden antialiased\">\n {/* Subtle background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none\">\n <div className=\"absolute top-0 right-0 h-[600px] w-[600px] rounded-full bg-primary/5 blur-[150px] animate-pulse\" />\n <div className=\"absolute bottom-0 left-0 h-[400px] w-[400px] rounded-full bg-info/5 blur-[120px] [animation-delay:3000ms]\" />\n <div className=\"absolute inset-0 bg-[linear-gradient(to_right,#80808008_1px,transparent_1px),linear-gradient(to_bottom,#80808008_1px,transparent_1px)] bg-[size:40px_40px]\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n {/* Publication Header */}\n <section className=\"px-6 pt-24 pb-16 max-w-7xl mx-auto text-center space-y-8 border-b border-border/40\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-5 py-1.5 font-black uppercase text-[10px] tracking-[0.25em] border-primary/20\">\n The Aether Journal\n </Badge>\n <Typography variant=\"display\" className=\"text-6xl md:text-9xl font-black tracking-tighter leading-none italic lowercase\">\n think <span className=\"ui-gradient-text font-black not-italic underline decoration-2 underline-offset-[20px] decoration-primary/40\">deeper.</span>\n </Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground max-w-2xl mx-auto font-medium text-lg opacity-80\">\n Dispatches from the frontier of engineering, design, and the machines that think alongside us.\n </Typography>\n\n {/* Newsletter CTA */}\n <div className=\"flex flex-col sm:flex-row items-center justify-center gap-3 max-w-md mx-auto pt-4\">\n <InputField label=\"\" placeholder=\"your@dispatch.io\" className=\"flex-1 h-12 rounded-2xl bg-background border-border/60 text-sm\" />\n <Button variant=\"primary\" className=\"h-12 px-6 rounded-2xl font-black bg-foreground text-background whitespace-nowrap\">Subscribe Free</Button>\n </div>\n\n {/* Category Pills */}\n <div className=\"flex flex-wrap items-center justify-center gap-3 pt-4\">\n {categories.map(cat => (\n <button\n key={cat}\n onClick={() => setActiveCategory(cat)}\n className={`px-5 py-2 rounded-full text-xs font-black uppercase tracking-widest border transition-all ${activeCategory === cat ? 'bg-foreground text-background border-foreground' : 'border-border/40 text-muted-foreground hover:border-primary/40 hover:text-primary'}`}\n >\n {cat}\n </button>\n ))}\n </div>\n </section>\n\n {/* Featured Article */}\n <section className=\"px-6 py-20 max-w-7xl mx-auto\">\n <div className=\"grid lg:grid-cols-2 gap-16 items-center group cursor-pointer\">\n {/* Image Placeholder */}\n <div className=\"relative aspect-[4/3] rounded-[3.5rem] bg-muted/30 border-2 border-border/40 overflow-hidden group-hover:border-primary/40 transition-all duration-700 shadow-elevated\">\n <div className=\"absolute inset-0 bg-gradient-to-br from-primary/10 via-transparent to-info/10 opacity-0 group-hover:opacity-100 transition-opacity duration-700\" />\n <div className=\"absolute inset-0 flex items-center justify-center text-foreground/10 font-black text-4xl italic select-none group-hover:text-primary/20 transition-colors\">\n Featured Visual\n </div>\n <div className=\"absolute top-6 left-6\">\n <Badge variant=\"outline\" className={`rounded-full px-4 py-1 font-black text-[10px] uppercase tracking-widest ${tagColor[featuredPost.tag]}`}>\n {featuredPost.tag}\n </Badge>\n </div>\n </div>\n\n {/* Content */}\n <div className=\"space-y-8 text-left\">\n <div className=\"space-y-2\">\n <Typography variant=\"caption\" className=\"font-black uppercase tracking-[0.2em] text-muted-foreground text-[10px]\">\n Featured — {featuredPost.date}\n </Typography>\n <Typography variant=\"display\" className=\"text-4xl md:text-6xl font-black tracking-tighter leading-none group-hover:text-primary transition-colors duration-500\">\n {featuredPost.title}\n </Typography>\n </div>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg leading-relaxed\">\n {featuredPost.excerpt}\n </Typography>\n <div className=\"flex items-center gap-5 pt-4\">\n <Avatar className=\"size-12 rounded-2xl border border-border shadow-glow-sm\">\n <AvatarFallback className=\"font-black text-sm\">{featuredPost.author.initials}</AvatarFallback>\n </Avatar>\n <div className=\"text-left\">\n <p className=\"text-sm font-black\">{featuredPost.author.name}</p>\n <p className=\"text-xs text-muted-foreground font-medium\">{featuredPost.author.role} · {featuredPost.readTime}</p>\n </div>\n <Button variant=\"outline\" className=\"ml-auto h-10 px-6 rounded-2xl font-black text-xs uppercase tracking-widest border-border/60 group-hover:border-primary group-hover:text-primary transition-all\">\n Read Now →\n </Button>\n </div>\n </div>\n </div>\n </section>\n\n {/* Divider Marquee */}\n <div className=\"py-8 border-y border-border/20 opacity-30 hover:opacity-50 transition-opacity\">\n <Marquee className=\"[--duration:25s]\">\n {['Engineering', 'AI Research', 'Design Systems', 'Platform', 'Open Source', 'Infrastructure', 'Product Thinking', 'Startup Ops'].map(t => (\n <span key={t} className=\"mx-16 text-sm font-black uppercase tracking-[0.25em] text-foreground/40\">· {t}</span>\n ))}\n </Marquee>\n </div>\n\n {/* Article Grid */}\n <section className=\"px-6 py-24 max-w-7xl mx-auto\">\n <div className=\"flex items-center justify-between mb-16\">\n <Typography variant=\"title\" className=\"text-2xl font-black tracking-tight\">\n {activeCategory === 'All' ? 'Latest Dispatches' : `${activeCategory} Articles`}\n <span className=\"ml-3 text-muted-foreground font-bold opacity-40\">({filtered.length})</span>\n </Typography>\n <Button variant=\"ghost\" className=\"font-black text-xs uppercase tracking-widest text-primary\">View Archive →</Button>\n </div>\n\n <div className=\"grid gap-6 md:grid-cols-2 lg:grid-cols-3\">\n {filtered.map((post, i) => (\n <Card\n key={post.title}\n className={`rounded-[2.5rem] border-border/40 bg-background/50 p-8 space-y-6 text-left hover:border-primary/40 transition-all group cursor-pointer shadow-elevated hover:-translate-y-1 ${i === 0 && activeCategory === 'All' ? 'md:col-span-2 lg:col-span-1' : ''}`}\n >\n <CardHeader className=\"p-0\">\n <Badge variant=\"outline\" className={`self-start rounded-full px-3 py-1 font-black text-[9px] uppercase tracking-widest mb-2 ${tagColor[post.tag] || 'border-border/40'}`}>\n {post.tag}\n </Badge>\n <CardTitle className=\"text-xl font-black tracking-tight leading-tight group-hover:text-primary transition-colors\">\n {post.title}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"p-0\">\n <p className=\"text-sm text-muted-foreground font-medium leading-relaxed line-clamp-2\">{post.excerpt}</p>\n </CardContent>\n <div className=\"flex items-center gap-3 pt-2 border-t border-border/30\">\n <Avatar className=\"size-8 rounded-xl border border-border\">\n <AvatarFallback className=\"text-[10px] font-black\">{post.author.initials}</AvatarFallback>\n </Avatar>\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-xs font-black truncate\">{post.author.name}</p>\n </div>\n <span className=\"text-[10px] font-bold text-muted-foreground shrink-0\">{post.readTime} · {post.date}</span>\n </div>\n </Card>\n ))}\n </div>\n\n <div className=\"flex justify-center mt-16\">\n <Button variant=\"outline\" className=\"h-14 px-12 rounded-2xl font-black text-sm uppercase tracking-widest border-border/60 hover:border-primary/40 transition-all\">\n Load More Dispatches\n </Button>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Card, \n CardHeader, \n CardTitle, \n CardContent, \n Typography,\n Stat,\n Button,\n cn \n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function FeatureBentoGrid() {\n const features = [\n {\n title: 'Real-time Telemetry',\n description: 'Monitor p95 latency thresholds across all regional nodes with zero refresh delay.',\n className: 'md:col-span-2 lg:col-span-3 p-12 lg:p-16',\n icon: 'RT',\n visual: (\n <div className=\"grid grid-cols-2 md:grid-cols-4 gap-4 pt-12\">\n <Stat label=\"Global Latency\" value=\"142ms\" trend={-12} />\n <Stat label=\"Peak Throughput\" value=\"1.2PB\" trend={8.2} />\n <Stat label=\"Active Streams\" value=\"84k\" trend={14.1} />\n <Stat label=\"Node Health\" value=\"99.9%\" trend={0.1} />\n </div>\n )\n },\n {\n title: 'Mesh Visual Tier',\n description: 'Dynamic HSL-based backgrounds that respond to engineering system events.',\n className: 'md:col-span-1 lg:col-span-2 p-10',\n icon: 'MV',\n },\n {\n title: 'Auth Immersive',\n description: 'Conversion-ready split-screen flows with high-fidelity visual depth.',\n className: 'md:col-span-1 lg:col-span-1 p-10',\n icon: 'AI',\n }\n ];\n\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden flex flex-col\">\n {/* Mesh Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-40 overflow-hidden\">\n <div className=\"absolute top-[10%] left-[-5%] h-[500px] w-[500px] rounded-full bg-primary/20 blur-[120px] animate-pulse\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 flex-1 flex flex-col items-center p-6 pt-32 pb-40 max-w-7xl mx-auto space-y-24\">\n {/* Feature Hero */}\n <div className=\"text-center space-y-8 max-w-4xl animate-fade-up\">\n <div className=\"flex justify-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-2 font-black uppercase text-[10px] tracking-widest border-primary/20 bg-primary/5\">Platform Capabilities</Badge>\n </div>\n <Typography as=\"h2\" variant=\"display\" className=\"text-6xl md:text-8xl font-black tracking-tighter leading-none\">Engineering <span className=\"italic underline underline-offset-[20px] decoration-primary/40 font-black\">power</span> in every primitive.</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg md:text-2xl tracking-tight max-w-2xl mx-auto\">Aether UI surfaces are built to handle high-density data while maintaining a premium, high-fidelity aesthetic.</Typography>\n </div>\n\n {/* Bento Grid */}\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 w-full animate-fade-up\" style={{ animationDelay: '200ms' }}>\n {features.map((feature, i) => (\n <Card \n key={i} \n className={cn(\n \"rounded-[3.5rem] border-border/60 bg-muted/20 backdrop-blur-sm shadow-elevated flex flex-col justify-between hover:border-primary/40 transition-all group overflow-hidden text-left\",\n feature.className\n )}\n >\n <CardHeader className=\"p-0\">\n <div className=\"size-16 rounded-[2rem] bg-foreground text-background flex items-center justify-center font-black text-xl italic shadow-glow mb-8 scale-90 group-hover:scale-100 transition-transform\">\n {feature.icon}\n </div>\n <CardTitle className=\"text-3xl font-black tracking-tight mb-4 group-hover:text-primary transition-colors leading-none\">{feature.title}</CardTitle>\n <p className=\"text-lg text-muted-foreground font-medium leading-relaxed max-w-md\">{feature.description}</p>\n </CardHeader>\n {feature.visual && <CardContent className=\"p-0 mt-8\">{feature.visual}</CardContent>}\n \n {/* Decorative element */}\n <div className=\"absolute top-0 right-0 h-40 w-40 bg-primary/5 blur-[50px] -translate-y-1/2 translate-x-1/2 rounded-full pointer-events-none group-hover:bg-primary/10 transition-all opacity-0 group-hover:opacity-100\" />\n </Card>\n ))}\n </div>\n\n {/* Bottom Action */}\n <div className=\"pt-8 text-center animate-fade-in [animation-delay:400ms]\">\n <Button variant=\"outline\" size=\"lg\" className=\"h-20 px-16 rounded-[2.5rem] text-xl font-black italic shadow-glow-sm border-border/60\">Explore API Component Map</Button>\n </div>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Card, \n Typography,\n Switch\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function PremiumPricing() {\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Immersive Sensory Backdrop */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-20 overflow-hidden\">\n <div className=\"absolute top-0 left-[30%] h-[600px] w-[600px] rounded-full bg-primary/20 blur-[120px] animate-pulse\" />\n <div className=\"absolute bottom-0 right-[20%] h-[500px] w-[500px] rounded-full bg-info/20 blur-[130px] animate-pulse [animation-delay:2000ms]\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n <section className=\"px-6 py-32 text-center space-y-12\">\n <div className=\"flex justify-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-2 font-black uppercase text-[10px] tracking-widest border-primary/20 bg-primary/5\">Platform Tiers</Badge>\n </div>\n <Typography variant=\"display\" className=\"text-6xl md:text-[8rem] font-black tracking-tighter leading-none opacity-80 decoration-primary/40\">Scalable <span className=\"italic underline underline-offset-[20px] font-black ui-gradient-text decoration-primary/40\">Equity.</span></Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg md:text-2xl tracking-tight max-w-2xl mx-auto pt-8\">Professional engineering primitives shouldn't be locked behind a gateway. Pay for resource consumption, not features.</Typography>\n \n {/* Billing Toggle */}\n <div className=\"flex items-center justify-center gap-6 pt-12 animate-fade-up\">\n <Typography className=\"text-xs font-black uppercase tracking-widest text-muted-foreground\">Regional Clusters</Typography>\n <Switch defaultChecked className=\"shadow-glow-sm\" />\n <Typography className=\"text-xs font-black uppercase tracking-widest text-foreground\">Global Hyperscale</Typography>\n </div>\n </section>\n\n <section className=\"px-6 pb-40 max-w-7xl mx-auto\">\n <div className=\"grid gap-8 md:grid-cols-3\">\n {[\n { name: 'Developer', price: '0', desc: 'Personal experimentation and hobbyist projects.', features: ['1 Global Node', 'Sensory Motion Primitives', 'Community Support', 'p95 Analytics Buffers'] },\n { name: 'Pro', price: '49', desc: 'Professional engineers scaling their first platforms.', features: ['12 High-Perf Nodes', 'Custom Design Tokens', 'Private Release Channel', 'Full Security Baseline'], active: true },\n { name: 'Scale', price: 'Custom', desc: 'Mission-critical hardware and deep sensory systems.', features: ['Unlimited Cluster Access', 'Direct Engineering Support', 'SAML/Okta Integration', 'Hyperscale Observability'] }\n ].map((tier) => (\n <Card key={tier.name} className={`rounded-[3.5rem] border-2 ${tier.active ? 'border-primary border-[3px] bg-primary/5' : 'border-border/40 bg-muted/20'} backdrop-blur-sm p-12 space-y-12 text-left hover:border-primary/40 transition-all group shadow-elevated relative overflow-hidden`}>\n {tier.active && <div className=\"absolute top-8 right-8\">\n <Badge variant=\"soft-primary\" className=\"rounded-full font-black text-[10px] uppercase px-4 py-1.5 shadow-glow border-primary/30\">Most Popular</Badge>\n </div>}\n <div className=\"space-y-4\">\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tighter\">{tier.name}</Typography>\n <Typography className=\"text-sm text-muted-foreground font-medium max-w-[200px]\">{tier.desc}</Typography>\n </div>\n <div className=\"space-y-1\">\n <Typography variant=\"display\" className=\"text-6xl font-black tracking-tighter leading-none\">{tier.price === 'Custom' ? 'Custom' : `$${tier.price}`}<span className=\"text-xl font-bold tracking-tight text-muted-foreground opacity-60\">/mo</span></Typography>\n </div>\n <div className=\"space-y-4\">\n {tier.features.map(f => (\n <div key={f} className=\"flex items-center gap-4 group/item\">\n <div className=\"size-5 rounded-full bg-success/10 border border-success/40 flex items-center justify-center text-success group-hover/item:bg-success group-hover/item:text-white transition-all\">\n <svg className=\"size-3.5\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"m20 6-11 11-5-5\" /></svg>\n </div>\n <p className=\"text-sm font-medium text-foreground/80\">{f}</p>\n </div>\n ))}\n </div>\n <Button variant={tier.active ? 'primary' : 'outline'} size=\"lg\" className={`h-16 w-full rounded-2xl font-black text-lg ${tier.active ? 'shadow-glow bg-foreground text-background' : 'border-border/60'} transition-all`}>Get Started Now</Button>\n </Card>\n ))}\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Card, \n Typography,\n Avatar,\n AvatarFallback\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function WallOfLove() {\n const testimonials = [\n {\n name: 'Sarah Drasner',\n role: 'VP Engineering, Netlify',\n content: 'The depth of the Aether UI system is unparalleled. We were able to ship our new dashboard 4 weeks ahead of schedule with better fidelity than we could have built manually.',\n avatar: 'SD'\n },\n {\n name: 'Guillermo Rauch',\n role: 'CEO, Vercel',\n content: 'Aether UI represents the next generation of sensory web design. It is not just a component library; it is a framework for high-performance visual storytelling.',\n avatar: 'GR'\n },\n {\n name: 'Lee Robinson',\n role: 'VP Product, Vercel',\n content: 'The motion primitives and mesh background systems are incredibly well-architected. It makes building premium software feel like magic.',\n avatar: 'LR'\n },\n {\n name: 'Rauno Freiberg',\n role: 'Design Engineer, Linear',\n content: 'Finally, a library that understands the nuances of light, depth, and micro-interactions. The Aether team has set a new bar for the industry.',\n avatar: 'RF'\n }\n ];\n\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Dynamic Sensory Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-20\">\n <div className=\"absolute top-0 right-0 h-[600px] w-[600px] rounded-full bg-primary/20 blur-[120px] animate-pulse\" />\n <div className=\"absolute bottom-0 left-0 h-[500px] w-[500px] rounded-full bg-info/20 blur-[130px] animate-pulse [animation-delay:2000ms]\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n <section className=\"px-6 py-32 text-center space-y-12\">\n <div className=\"flex justify-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-2 font-black uppercase text-[10px] tracking-widest border-primary/20 bg-primary/5\">Social Consensus</Badge>\n </div>\n <Typography variant=\"display\" className=\"text-6xl md:text-[8rem] font-black tracking-tighter leading-none opacity-80 decoration-primary/40\">Wall of <span className=\"italic underline underline-offset-[20px] font-black ui-gradient-text decoration-primary/40\">Love.</span></Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg md:text-2xl tracking-tight max-w-2xl mx-auto pt-8\">Trusted by 14,000+ engineering teams at high-growth organizations worldwide.</Typography>\n </section>\n\n <section className=\"px-6 pb-40 max-w-7xl mx-auto\">\n <div className=\"columns-1 md:columns-2 gap-8 space-y-8\">\n {testimonials.map((t, i) => (\n <Card key={i} className=\"break-inside-avoid rounded-[3rem] border-border/60 bg-muted/20 backdrop-blur-sm p-10 space-y-8 text-left hover:border-primary/40 hover:bg-muted/40 transition-all group shadow-elevated\">\n <div className=\"flex items-center gap-4\">\n <Avatar className=\"size-10 rounded-full border border-border shadow-elevated\">\n <AvatarFallback>{t.avatar}</AvatarFallback>\n </Avatar>\n <div className=\"space-y-0.5\">\n <p className=\"text-sm font-bold text-foreground group-hover:text-primary transition-colors\">{t.name}</p>\n <p className=\"text-[10px] text-muted-foreground font-medium uppercase tracking-widest\">{t.role}</p>\n </div>\n </div>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg leading-relaxed italic group-hover:text-foreground transition-colors\">\"{t.content}\"</Typography>\n </Card>\n ))}\n </div>\n\n <div className=\"mt-32 p-20 rounded-[4rem] bg-foreground text-background text-center space-y-12 animate-fade-up\">\n <Typography variant=\"display\" className=\"text-4xl md:text-6xl font-black tracking-tighter italic\">Ready to join the leaders?</Typography>\n <Button variant=\"outline\" size=\"lg\" className=\"h-16 px-12 rounded-3xl font-black text-lg border-background/20 hover:bg-background hover:text-foreground transition-all\">Start your Aether journey</Button>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { cn } from '@/utils/cn';\n\ninterface TemplateMeshBackgroundProps {\n className?: string;\n variant?: 'primary' | 'info' | 'success' | 'mixed';\n}\n\nexport function TemplateMeshBackground({ className, variant = 'mixed' }: TemplateMeshBackgroundProps) {\n return (\n <div className={cn(\"fixed inset-0 z-0 pointer-events-none overflow-hidden opacity-40 dark:opacity-30\", className)}>\n {variant === 'mixed' || variant === 'primary' ? (\n <div className=\"absolute top-[10%] left-[-5%] h-[600px] w-[600px] rounded-full bg-primary/25 blur-[120px] animate-pulse\" />\n ) : null}\n \n {variant === 'mixed' || variant === 'info' ? (\n <div className=\"absolute top-[30%] right-[-10%] h-[700px] w-[700px] rounded-full bg-info/20 blur-[130px] animate-pulse [animation-delay:2000ms]\" />\n ) : null}\n \n {variant === 'mixed' || variant === 'success' ? (\n <div className=\"absolute bottom-[-10%] left-[10%] h-[550px] w-[550px] rounded-full bg-success/15 blur-[110px] animate-pulse [animation-delay:4000ms]\" />\n ) : null}\n\n {/* Decorative center orb for depth */}\n <div className=\"absolute top-1/2 left-1/2 h-[400px] w-[400px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary/5 blur-[150px] dark:bg-white/5\" />\n </div>\n );\n}\n","import { Badge, Button, Card, CardContent, CardHeader, CardTitle, Divider, Marquee, MarketingFooter, MarketingNavbar, Stat, Typography } from '@/index';\nimport { TemplateMeshBackground } from '@/templates/TemplateMeshBackground';\n\nexport function CosmicLaunchPage() {\n return (\n <div className=\"relative min-h-screen w-full overflow-hidden bg-slate-950 text-slate-50\">\n <TemplateMeshBackground className=\"bg-background\" variant=\"mixed\" />\n <MarketingNavbar />\n\n <main className=\"relative z-10 pt-28 pb-24 px-6 lg:px-12\">\n <section className=\"mx-auto max-w-6xl space-y-12 text-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-5 py-2 text-xs uppercase tracking-[0.32em] font-black text-primary-foreground bg-primary/10 shadow-glow\">\n 3D Launch Suite\n </Badge>\n <div className=\"space-y-6\">\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tight leading-[0.96] text-white\">\n Launch immersive product worlds with color, depth, and motion.\n </Typography>\n <Typography className=\"mx-auto max-w-3xl text-lg text-slate-300 leading-8\">\n CosmicLaunch is a premium marketing surface built for modern SaaS and digital products. Use it to showcase feature-rich offerings, design systems, and experiential brand launches.\n </Typography>\n </div>\n\n <div className=\"flex flex-col items-center justify-center gap-4 sm:flex-row\">\n <Button variant=\"primary\" className=\"rounded-full px-10 py-4 text-lg font-black shadow-[0_24px_80px_rgba(59,130,246,0.22)]\">\n Activate Launch Mode\n </Button>\n <Button variant=\"outline\" className=\"rounded-full px-10 py-4 text-lg text-white/80 border-white/20 hover:border-primary/40\">\n View Demo Kit\n </Button>\n </div>\n\n <div className=\"grid gap-6 lg:grid-cols-3\">\n {[\n { label: 'Realtime visuals', value: '3D motion-ready UI', tone: 'text-primary' },\n { label: 'Premium system', value: 'Ready for teams', tone: 'text-info' },\n { label: 'Launch ready', value: 'Pixel-perfect blocks', tone: 'text-emerald-300' },\n ].map((item) => (\n <Card key={item.label} className=\"border border-white/10 bg-white/5 shadow-glow-sm\">\n <CardContent className=\"space-y-3 p-8\">\n <p className=\"text-xs uppercase tracking-[0.24em] text-slate-400\">{item.label}</p>\n <Typography variant=\"title\" className={`text-3xl font-black ${item.tone}`}>\n {item.value}\n </Typography>\n <p className=\"text-sm text-slate-300 leading-6\">\n Experience polished 3D gradients, layered depth, and hero motion that feel premium on every screen.\n </p>\n </CardContent>\n </Card>\n ))}\n </div>\n </section>\n\n <section className=\"mx-auto mt-20 max-w-7xl rounded-[3rem] border border-white/10 bg-slate-900/80 p-10 shadow-[0_40px_120px_rgba(15,23,42,0.35)] backdrop-blur-xl\">\n <div className=\"grid gap-10 xl:grid-cols-[1.15fr_0.85fr]\">\n <div className=\"space-y-8\">\n <Typography variant=\"title\" className=\"text-4xl font-black tracking-tight text-white\">\n Build a thematic launch experience that feels cinematic.\n </Typography>\n <Typography className=\"max-w-2xl text-base text-slate-300 leading-7\">\n The CosmicLaunch page comes with hero motion, contextual stats, and a conversion funnel that keeps prospects focused on your premium value.\n </Typography>\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <Stat label=\"Interactive blocks\" value=\"5\" helpText=\"Hero, Gallery, Features, Stats, CTA\" />\n <Stat label=\"Ready for production\" value=\"100%\" helpText=\"No static placeholders\" />\n </div>\n </div>\n\n <div className=\"space-y-6 rounded-[2.5rem] border border-white/10 bg-slate-950/80 p-8 shadow-glow\">\n <div className=\"flex items-center justify-between gap-4\">\n <Badge variant=\"soft\" className=\"rounded-full px-4 py-2 uppercase tracking-[0.24em] text-xs font-semibold bg-slate-800/70 text-slate-200\">\n Featured launch\n </Badge>\n <p className=\"text-sm uppercase tracking-[0.2em] text-slate-400\">Live preview</p>\n </div>\n <div className=\"space-y-4\">\n <Typography variant=\"title\" className=\"text-3xl font-black text-white\">Launch-ready pricing</Typography>\n <div className=\"rounded-[2rem] bg-slate-800/80 p-6 shadow-[0_24px_80px_rgba(15,23,42,0.55)]\">\n <p className=\"text-sm text-slate-400 uppercase tracking-[0.2em]\">Workspace Starter</p>\n <Typography variant=\"title\" className=\"text-5xl font-black text-white\">$32</Typography>\n <p className=\"text-sm text-slate-400\">/ month billed annually</p>\n <div className=\"mt-6 space-y-3 text-sm text-slate-300\">\n <p>✓ 3D hero sections</p>\n <p>✓ Premium composable layouts</p>\n <p>✓ Motion-ready theme tokens</p>\n </div>\n <Button variant=\"primary\" className=\"mt-8 w-full rounded-full py-4 font-black\">\n Start with Cosmic\n </Button>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <section className=\"mx-auto mt-20 max-w-6xl space-y-8 text-center\">\n <Typography variant=\"title\" className=\"text-4xl font-black text-white\">Trusted by design systems that need a bold first impression.</Typography>\n <Marquee className=\"[--duration:28s] text-slate-400 uppercase tracking-[0.4em] text-sm font-semibold\">\n {['AEROSPACE', 'NEBULA', 'VECTOR', 'ZEUS', 'LUCID', 'NORTHERN', 'POLARIS', 'EMBER'].join(' ')}\n </Marquee>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { Badge, Button, Card, CardContent, CardHeader, CardDescription, CardTitle, Divider, MarketingFooter, MarketingNavbar, Typography } from '@/index';\nimport { TemplateMeshBackground } from '@/templates/TemplateMeshBackground';\n\nexport function VertexStudioShowcase() {\n return (\n <div className=\"relative min-h-screen w-full overflow-hidden bg-[#050816] text-white\">\n <TemplateMeshBackground className=\"bg-background\" variant=\"info\" />\n <MarketingNavbar />\n\n <main className=\"relative z-10 pt-28 pb-24 px-6 lg:px-12\">\n <section className=\"mx-auto max-w-6xl space-y-10 text-center\">\n <Badge variant=\"soft-info\" className=\"rounded-full px-5 py-2 text-xs uppercase tracking-[0.32em] font-black text-info-foreground bg-info/10 shadow-glow\">\n Studio Showcase\n </Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tight leading-[0.92]\">\n A polished showcase for motion-driven creative brands.\n </Typography>\n <Typography className=\"mx-auto max-w-3xl text-lg text-slate-300 leading-8\">\n Vertex Studio brings together immersive swatches, case study cards, and product highlights with premium spacing and glass-like surfaces.\n </Typography>\n <div className=\"flex flex-col items-center justify-center gap-4 sm:flex-row\">\n <Button variant=\"primary\" className=\"rounded-full px-12 py-4 text-lg font-black shadow-glow\">\n Start the studio tour\n </Button>\n <Button variant=\"outline\" className=\"rounded-full px-12 py-4 text-lg text-white/80 border-white/20 hover:border-info/40\">\n Explore case study\n </Button>\n </div>\n </section>\n\n <section className=\"mt-20 grid gap-6 lg:grid-cols-[1fr_0.9fr]\">\n <div className=\"space-y-8\">\n <div className=\"rounded-[3rem] border border-white/10 bg-white/5 p-10 shadow-glow-sm backdrop-blur-xl\">\n <Typography variant=\"title\" className=\"text-3xl font-black text-white\">Expression through interface.</Typography>\n <Typography className=\"mt-4 text-base leading-7 text-slate-300\">\n This template is built to elevate creative agencies, product studios, and experiential teams with bold type, layered imagery, and vibrant callouts.\n </Typography>\n <div className=\"mt-8 grid gap-4 sm:grid-cols-2\">\n {[\n { title: 'Case flows', description: 'Designed to feel tactile and decisive.' },\n { title: 'Brand spotlight', description: 'Large headers with premium hierarchy.' },\n ].map((item) => (\n <Card key={item.title} className=\"border border-white/10 bg-slate-950/75\">\n <CardContent className=\"p-6\">\n <p className=\"text-sm uppercase tracking-[0.24em] text-slate-400\">{item.title}</p>\n <Typography variant=\"title\" className=\"mt-3 text-2xl font-black text-white\">{item.description}</Typography>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n\n <div className=\"grid gap-6 md:grid-cols-2\">\n <Card className=\"rounded-[2.5rem] border border-white/10 bg-slate-900/90 p-8 shadow-[0_30px_90px_rgba(15,23,42,0.35)]\">\n <CardHeader>\n <CardTitle className=\"text-2xl font-black text-white\">Studio pulse</CardTitle>\n <CardDescription className=\"text-slate-400\">Surface project tempo with premium metrics.</CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4 pt-4 text-slate-300\">\n <div className=\"flex items-center justify-between gap-3\"><span>Launch cadence</span><span className=\"font-black text-white\">3.2x</span></div>\n <div className=\"flex items-center justify-between gap-3\"><span>Client delight</span><span className=\"font-black text-white\">98%</span></div>\n </CardContent>\n </Card>\n\n <Card className=\"rounded-[2.5rem] border border-white/10 bg-slate-900/90 p-8 shadow-[0_30px_90px_rgba(15,23,42,0.35)]\">\n <CardHeader>\n <CardTitle className=\"text-2xl font-black text-white\">Featured work</CardTitle>\n <CardDescription className=\"text-slate-400\">A gallery of high-impact product stories.</CardDescription>\n </CardHeader>\n <CardContent className=\"grid gap-3 pt-4 text-slate-300\">\n <div className=\"rounded-3xl border border-white/10 bg-slate-950/60 p-4\">Visual system refresh for an AI product.</div>\n <div className=\"rounded-3xl border border-white/10 bg-slate-950/60 p-4\">Launch strategy design for a fintech platform.</div>\n </CardContent>\n </Card>\n </div>\n </div>\n\n <div className=\"rounded-[3rem] border border-white/10 bg-gradient-to-br from-[#0e1727] via-[#111827] to-[#08101f] p-8 shadow-glow-sm backdrop-blur-xl\">\n <div className=\"space-y-6\">\n <div className=\"flex items-center justify-between gap-4\">\n <Badge variant=\"outline\" className=\"rounded-full px-4 py-2 text-xs uppercase tracking-[0.2em] font-semibold text-slate-200 border-slate-600/60\">Studio kit</Badge>\n <p className=\"text-sm uppercase tracking-[0.2em] text-slate-400\">Best for agencies</p>\n </div>\n <Typography variant=\"title\" className=\"text-4xl font-black text-white\">Design systems with intentional motion.</Typography>\n <Divider className=\"border-slate-700/70\" />\n <Typography className=\"text-base leading-7 text-slate-300\">\n Bring your creative presentation into a modern product surface with layered cards, hover states, and a spacious hero grid ready for real marketing content.\n </Typography>\n <Button variant=\"primary\" className=\"w-full rounded-full py-4 text-lg font-black\">Open the studio</Button>\n </div>\n </div>\n </section>\n\n <section className=\"mx-auto mt-16 max-w-6xl space-y-6\">\n <div className=\"grid gap-4 md:grid-cols-3\">\n {['Creative systems', '3D accent layers', 'Motion-ready blocks'].map((label) => (\n <Card key={label} className=\"rounded-[2rem] border border-white/10 bg-white/5 p-6 text-slate-300\">\n <Typography variant=\"title\" className=\"text-xl font-black text-white\">{label}</Typography>\n <p className=\"mt-3 text-sm leading-6 text-slate-400\">A premium template designed to present polished deliverables and studio narratives in one page.</p>\n </Card>\n ))}\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { Badge, Button, Card, CardContent, CardHeader, CardTitle, Divider, MarketingFooter, MarketingNavbar, Stat, Typography } from '@/index';\nimport { TemplateMeshBackground } from '@/templates/TemplateMeshBackground';\n\nexport function OrbitalCommerceSuite() {\n return (\n <div className=\"relative min-h-screen w-full overflow-hidden bg-slate-950 text-white\">\n <TemplateMeshBackground className=\"bg-background\" variant=\"success\" />\n <MarketingNavbar />\n\n <main className=\"relative z-10 pt-28 pb-24 px-6 lg:px-12\">\n <section className=\"mx-auto max-w-6xl space-y-10 text-center\">\n <Badge variant=\"soft-success\" className=\"rounded-full px-5 py-2 text-xs uppercase tracking-[0.32em] font-black text-emerald-foreground bg-emerald/10 shadow-glow\">\n Commerce suite\n </Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tight leading-[0.92]\">\n Orbital commerce surfaces with premium product storytelling.\n </Typography>\n <Typography className=\"mx-auto max-w-3xl text-lg text-slate-300 leading-8\">\n Present premium products with layered exploration panels, interactive specs, and a high-impact buy funnel that feels like a next-generation commerce experience.\n </Typography>\n <div className=\"flex flex-col items-center justify-center gap-4 sm:flex-row\">\n <Button variant=\"primary\" className=\"rounded-full px-12 py-4 text-lg font-black shadow-glow\">\n Launch store page\n </Button>\n <Button variant=\"outline\" className=\"rounded-full px-12 py-4 text-lg text-white/80 border-white/20 hover:border-emerald/40\">\n View product detail\n </Button>\n </div>\n </section>\n\n <section className=\"mx-auto mt-20 grid gap-8 lg:grid-cols-[1.05fr_0.95fr]\">\n <div className=\"rounded-[3rem] border border-white/10 bg-slate-900/80 p-10 shadow-glow-sm backdrop-blur-xl\">\n <div className=\"flex flex-col gap-4\">\n <Badge variant=\"outline\" className=\"w-max rounded-full px-4 py-2 text-xs uppercase tracking-[0.2em] text-slate-300 border-slate-600/70\">\n Product launch\n </Badge>\n <Typography variant=\"title\" className=\"text-4xl font-black text-white\">Orbital commerce that feels premium in every detail.</Typography>\n <Typography className=\"max-w-2xl text-base text-slate-300 leading-7\">\n Build a product page with layered imagery, rich feature callouts, and a checkout call-to-action designed for early access and launch campaigns.\n </Typography>\n </div>\n\n <div className=\"mt-10 grid gap-6 sm:grid-cols-2\">\n <Stat label=\"Units tracked\" value=\"18K\" helpText=\"Launch-ready analytics\" />\n <Stat label=\"Conversion\" value=\"7.8%\" helpText=\"Product story optimized\" />\n </div>\n </div>\n\n <Card className=\"rounded-[3rem] border border-white/10 bg-gradient-to-br from-slate-950/90 to-slate-900/80 p-8 shadow-[0_30px_90px_rgba(15,23,42,0.4)]\">\n <CardHeader>\n <CardTitle className=\"text-3xl font-black text-white\">Orbital Smart Speaker</CardTitle>\n <p className=\"text-sm text-slate-400\">Premium product detail designed for a futuristic commerce launch.</p>\n </CardHeader>\n <CardContent className=\"space-y-5 pt-4 text-slate-300\">\n <div className=\"grid gap-4 sm:grid-cols-2\">\n {['Ultra-warm tone', 'Gesture controls', 'Spatial audio', 'AI companion'].map((feature) => (\n <div key={feature} className=\"rounded-3xl border border-white/10 bg-slate-950/80 p-5\">\n <p className=\"text-sm uppercase tracking-[0.18em] text-slate-400\">{feature}</p>\n <Typography className=\"mt-3 text-2xl font-black text-white\">{feature}</Typography>\n </div>\n ))}\n </div>\n\n <div className=\"rounded-[2rem] border border-white/10 bg-slate-950/80 p-6 shadow-[0_30px_60px_rgba(15,23,42,0.3)]\">\n <div className=\"flex items-center justify-between gap-4\">\n <div>\n <p className=\"text-sm uppercase tracking-[0.18em] text-slate-400\">Price</p>\n <Typography variant=\"title\" className=\"text-5xl font-black text-white\">$249</Typography>\n <p className=\"text-sm text-slate-500\">One-time purchase with lifetime firmware updates.</p>\n </div>\n <Button variant=\"primary\" className=\"rounded-full px-8 py-4 font-black\">Preorder</Button>\n </div>\n <Divider className=\"my-6 border-slate-700/70\" />\n <div className=\"grid gap-3 sm:grid-cols-3\">\n <div>\n <p className=\"text-xs uppercase tracking-[0.18em] text-slate-500\">Stock</p>\n <p className=\"text-lg font-black text-white\">In stock</p>\n </div>\n <div>\n <p className=\"text-xs uppercase tracking-[0.18em] text-slate-500\">Shipping</p>\n <p className=\"text-lg font-black text-white\">2–4 days</p>\n </div>\n <div>\n <p className=\"text-xs uppercase tracking-[0.18em] text-slate-500\">Variants</p>\n <p className=\"text-lg font-black text-white\">4 colors</p>\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n </section>\n\n <section className=\"mx-auto mt-16 max-w-6xl rounded-[3rem] border border-white/10 bg-slate-900/80 p-10 shadow-[0_40px_120px_rgba(15,23,42,0.3)] backdrop-blur-xl\">\n <div className=\"grid gap-6 lg:grid-cols-3\">\n {[\n { title: 'Launch date', value: 'Q3 2026' },\n { title: 'Early access', value: 'Notify list' },\n { title: 'Design system', value: 'Composable UI' },\n ].map((metric) => (\n <div key={metric.title} className=\"rounded-3xl border border-white/10 bg-slate-950/75 p-6\">\n <p className=\"text-xs uppercase tracking-[0.24em] text-slate-400\">{metric.title}</p>\n <Typography className=\"mt-4 text-3xl font-black text-white\">{metric.value}</Typography>\n </div>\n ))}\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { Badge, Button, Card, CardContent, CardHeader, CardTitle, MarketingFooter, MarketingNavbar, Stat, Typography } from '@/index';\nimport { TemplateMeshBackground } from '@/templates/TemplateMeshBackground';\n\nexport function LuminousWorkspace() {\n return (\n <div className=\"relative min-h-screen w-full overflow-hidden bg-[#08101c] text-white\">\n <TemplateMeshBackground className=\"bg-background\" variant=\"primary\" />\n <MarketingNavbar />\n\n <main className=\"relative z-10 pt-28 pb-24 px-6 lg:px-12\">\n <section className=\"mx-auto max-w-6xl space-y-10 text-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-5 py-2 text-xs uppercase tracking-[0.32em] font-black text-primary-foreground bg-primary/10 shadow-glow\">\n Workspace Visuals\n </Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tight leading-[0.92]\">\n Luminous dashboards built for immersive status monitoring.\n </Typography>\n <Typography className=\"mx-auto max-w-3xl text-lg text-slate-300 leading-8\">\n The Luminous Workspace template brings together command panels, high-contrast charts, and layered metric surfaces for teams that need instant clarity and premium polish.\n </Typography>\n <div className=\"flex flex-col items-center justify-center gap-4 sm:flex-row\">\n <Button variant=\"primary\" className=\"rounded-full px-12 py-4 text-lg font-black shadow-glow\">\n Enter Workspace\n </Button>\n <Button variant=\"outline\" className=\"rounded-full px-12 py-4 text-lg text-white/80 border-white/20 hover:border-primary/40\">\n View analytics\n </Button>\n </div>\n </section>\n\n <section className=\"mx-auto mt-20 grid gap-8 lg:grid-cols-[1fr_0.9fr]\">\n <div className=\"space-y-8\">\n <Card className=\"rounded-[3rem] border border-white/10 bg-slate-900/80 p-10 shadow-glow-sm backdrop-blur-xl\">\n <div className=\"flex items-center justify-between gap-4\">\n <div>\n <Typography variant=\"title\" className=\"text-3xl font-black text-white\">Realtime mission control</Typography>\n <p className=\"mt-3 text-base text-slate-300 leading-7\">Track performance, incident status, and usage over time with a UI that keeps motion calm and focus sharp.</p>\n </div>\n <Badge variant=\"outline\" className=\"rounded-full px-4 py-2 text-xs uppercase tracking-[0.2em] text-slate-200 border-slate-600/60\">\n Workspace live\n </Badge>\n </div>\n\n <div className=\"mt-10 grid gap-4 sm:grid-cols-2\">\n <Stat label=\"Alerts\" value=\"3\" helpText=\"Critical workflows\" />\n <Stat label=\"Team velocity\" value=\"88%\" helpText=\"Sprint efficiency\" />\n </div>\n </Card>\n\n <div className=\"grid gap-6 md:grid-cols-2\">\n {[\n { name: 'Uptime', value: '99.97%' },\n { name: 'Latency', value: '21ms' },\n { name: 'Tasks', value: '84' },\n { name: 'Customer', value: '24/7' },\n ].map((metric) => (\n <Card key={metric.name} className=\"rounded-[2.5rem] border border-white/10 bg-slate-900/85 p-8 text-slate-300 shadow-[0_20px_70px_rgba(15,23,42,0.32)]\">\n <p className=\"text-xs uppercase tracking-[0.22em] text-slate-500\">{metric.name}</p>\n <Typography variant=\"title\" className=\"mt-4 text-4xl font-black text-white\">{metric.value}</Typography>\n </Card>\n ))}\n </div>\n </div>\n\n <Card className=\"rounded-[3rem] border border-white/10 bg-slate-900/80 p-10 shadow-[0_30px_90px_rgba(15,23,42,0.35)]\">\n <CardHeader>\n <CardTitle className=\"text-3xl font-black text-white\">Command palette</CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-6 pt-4 text-slate-300\">\n <div className=\"rounded-[2rem] border border-white/10 bg-slate-950/70 p-6\">\n <p className=\"text-sm uppercase tracking-[0.18em] text-slate-400\">Focus mode</p>\n <Typography className=\"mt-3 text-3xl font-black text-white\">Run a new deployment</Typography>\n <p className=\"mt-3 text-sm text-slate-400 leading-6\">One-click actions and live state controls keep the workspace fast and confident.</p>\n </div>\n <div className=\"space-y-4\">\n <div className=\"flex items-center justify-between rounded-3xl border border-white/10 bg-slate-950/70 p-5\">\n <div>\n <p className=\"text-xs uppercase tracking-[0.18em] text-slate-400\">Next step</p>\n <p className=\"text-lg font-black text-white\">Sync release artifacts</p>\n </div>\n <Button variant=\"primary\" className=\"rounded-full px-6 py-3 font-black\">Sync</Button>\n </div>\n <div className=\"rounded-3xl border border-white/10 bg-slate-950/70 p-5\">\n <p className=\"text-xs uppercase tracking-[0.18em] text-slate-400\">Workspace note</p>\n <p className=\"mt-3 text-sm leading-6 text-slate-300\">Resolve the active incident and schedule the next regional review in one view.</p>\n </div>\n </div>\n </CardContent>\n </Card>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { Badge, Button, Card, CardContent, CardHeader, CardTitle, Chart, Divider, MarketingFooter, MarketingNavbar, Stat, Timeline, TimelineItem, Typography } from '@/index';\nimport { TemplateMeshBackground } from '@/templates/TemplateMeshBackground';\n\nexport function NebulaDashboard() {\n return (\n <div className=\"relative min-h-screen w-full overflow-hidden bg-[#04070d] text-white\">\n <TemplateMeshBackground className=\"bg-background\" variant=\"mixed\" />\n <MarketingNavbar />\n\n <main className=\"relative z-10 pt-28 pb-24 px-6 lg:px-12\">\n <section className=\"mx-auto max-w-6xl space-y-10 text-center\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-5 py-2 text-xs uppercase tracking-[0.32em] font-black text-primary-foreground bg-primary/10 shadow-glow\">\n Analytics portal\n </Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tight leading-[0.92]\">\n Nebula Dashboard brings 3D metrics and executive signals into one premium surface.\n </Typography>\n <Typography className=\"mx-auto max-w-3xl text-lg text-slate-300 leading-8\">\n This dashboard page is perfect for data products, operations centers, and strategy reviews that need polished hierarchy and expressive motion-ready panels.\n </Typography>\n <Button variant=\"primary\" className=\"rounded-full px-12 py-4 text-lg font-black shadow-glow\">\n Explore analytics\n </Button>\n </section>\n\n <section className=\"mx-auto mt-20 grid gap-8 lg:grid-cols-[0.65fr_0.35fr]\">\n <div className=\"space-y-8\">\n <div className=\"grid gap-6 sm:grid-cols-2\">\n <Stat label=\"Growth\" value=\"+42%\" helpText=\"Month over month\" />\n <Stat label=\"Engagement\" value=\"92%\" helpText=\"Time on task\" />\n </div>\n <Card className=\"rounded-[3rem] border border-white/10 bg-slate-900/80 p-8 shadow-glow-sm backdrop-blur-xl\">\n <CardHeader>\n <CardTitle className=\"text-3xl font-black text-white\">Cohort performance</CardTitle>\n </CardHeader>\n <CardContent className=\"pt-4 text-slate-300\">\n <Chart\n title=\"Conversion mix\"\n description=\"A high-fidelity chart designed for product operations.\" \n data={[\n { label: 'Activation', value: 72, color: '#0ea5e9' },\n { label: 'Retention', value: 61, color: '#34d399' },\n { label: 'Revenue', value: 49, color: '#f97316' },\n ]}\n />\n </CardContent>\n </Card>\n </div>\n\n <Card className=\"rounded-[3rem] border border-white/10 bg-slate-900/85 p-8 shadow-[0_30px_90px_rgba(15,23,42,0.35)]\">\n <CardHeader>\n <div className=\"flex items-center justify-between gap-4\">\n <div>\n <CardTitle className=\"text-3xl font-black text-white\">Executive signals</CardTitle>\n <p className=\"text-sm text-slate-400\">Data suite for board-ready storytelling.</p>\n </div>\n <Badge variant=\"outline\" className=\"rounded-full px-4 py-2 text-xs uppercase tracking-[0.2em] text-slate-200 border-slate-600/60\">\n Live\n </Badge>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-6 pt-4 text-slate-300\">\n <div className=\"space-y-4 rounded-[2rem] border border-white/10 bg-slate-950/70 p-5\">\n <div className=\"flex items-center justify-between\">\n <p className=\"text-xs uppercase tracking-[0.18em] text-slate-400\">Monthly overview</p>\n <p className=\"font-black text-white\">+13%</p>\n </div>\n <p className=\"text-sm text-slate-400 leading-6\">Revenue, engagement, and retention signals all surface in a single glance.</p>\n </div>\n <Timeline className=\"space-y-4\">\n <TimelineItem title=\"Launch experiment\" time=\"Today\" status=\"success\">\n Campaign A/B now live with high-velocity leads.\n </TimelineItem>\n <TimelineItem title=\"Design review\" time=\"Tomorrow\" status=\"info\">\n Stakeholder evaluation for the next sprint board.\n </TimelineItem>\n <TimelineItem title=\"Ops sync\" time=\"This week\" status=\"warning\">\n Prepared incident loop and throughput dashboard.\n </TimelineItem>\n </Timeline>\n </CardContent>\n </Card>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Card, \n Stat, \n Typography,\n Divider,\n Marquee,\n Meteors,\n BorderBeam,\n OrbitingCircles\n} from '@/index';\nimport { MarketingNavbar } from './MarketingNavbar';\nimport { MarketingFooter } from './MarketingFooter';\n\nexport function FullLandingPage() {\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden antialiased\">\n {/* Global Background Layer */}\n <div className=\"fixed inset-0 z-0 pointer-events-none overflow-hidden\">\n <div className=\"absolute top-[-10%] left-[-5%] h-[800px] w-full max-w-7xl bg-[radial-gradient(ellipse_at_center,hsl(var(--primary)/0.1),transparent_70%)] blur-[120px] animate-pulse\" />\n <div className=\"absolute bottom-[20%] right-[-10%] h-[600px] w-[600px] rounded-full bg-info/10 blur-[130px] [animation-delay:3000ms]\" />\n <Meteors count={12} />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n {/* Master Hero Section (Genesis V2) */}\n <section className=\"px-6 py-32 md:py-48 flex flex-col items-center text-center max-w-5xl mx-auto\">\n <div className=\"space-y-12 w-full animate-fade-down\">\n <div className=\"flex justify-center group cursor-pointer\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-1.5 font-black uppercase text-[10px] tracking-[0.25em] border border-primary/20 bg-primary/5 shadow-glow relative overflow-hidden transition-all group-hover:scale-110\">\n <span className=\"relative z-10 italic\">Aether Engine v4.8 Beta</span>\n <div className=\"absolute inset-0 bg-primary/20 blur-xl opacity-0 group-hover:opacity-100 transition-opacity\" />\n </Badge>\n </div>\n\n <div className=\"space-y-6 relative group\">\n <div className=\"absolute -inset-20 bg-primary/5 blur-[100px] rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n <Typography variant=\"display\" className=\"text-5xl md:text-9xl font-black tracking-tighter leading-[0.85] text-foreground lowercase\">\n sensory <br /> \n <span className=\"ui-gradient-text italic font-black relative px-4\">\n middleware.\n <div className=\"absolute inset-x-0 bottom-4 h-3 bg-primary/30 blur-2xl opacity-40 animate-pulse pointer-events-none\" />\n </span>\n </Typography>\n </div>\n\n <Typography variant=\"lead\" className=\"text-muted-foreground text-xl md:text-3xl max-w-2xl mx-auto font-medium opacity-80 decoration-primary/20 decoration-2 italic\">\n Architecture for high-stakes platform engineering. From sub-millisecond peering to sensory motion primitives.\n </Typography>\n\n <div className=\"flex flex-col sm:flex-row items-center justify-center gap-6 pt-10 animate-fade-up\" style={{ animationDelay: '300ms' }}>\n <Button variant=\"primary\" className=\"h-18 px-14 text-xl font-black shadow-glow bg-foreground text-background rounded-3xl hover:scale-105 transition-all group overflow-hidden\">\n Initialize Workspace\n <div className=\"absolute inset-x-0 bottom-0 h-1 bg-primary/40 group-hover:h-full transition-all duration-500 opacity-20\" />\n </Button>\n <button className=\"h-18 px-10 rounded-3xl font-mono text-lg font-bold border-2 border-border/40 hover:bg-muted/30 hover:border-primary/40 transition-all\">\n --npx aether@core\n </button>\n </div>\n </div>\n\n {/* Immersive Mockup Section */}\n <div className=\"mt-40 w-full relative animate-fade-up group\" style={{ animationDelay: '600ms' }}>\n <div className=\"relative rounded-[4.5rem] border-2 border-border/40 backdrop-blur-3xl aspect-video overflow-hidden shadow-2xl scale-95 group-hover:scale-100 transition-transform duration-1000\">\n <BorderBeam duration={20} delay={10} size={400} className=\"opacity-40\" />\n <div className=\"absolute inset-x-20 inset-y-20 border-2 border-dashed border-border/20 rounded-[3rem] group-hover:border-primary/20 transition-colors\" />\n <div className=\"absolute inset-0 flex items-center justify-center text-muted-foreground/10 italic font-black text-4xl select-none group-hover:text-primary/10 transition-colors\">Global Node Deployment Workspace</div>\n </div>\n \n {/* Orbs */}\n <div className=\"absolute -top-12 -right-12 size-64 rounded-full bg-primary/10 blur-[100px] opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n <div className=\"absolute -bottom-12 -left-12 size-80 rounded-full bg-info/10 blur-[120px] opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n </div>\n </section>\n\n {/* Global Peering Marquee */}\n <section className=\"w-full py-16 opacity-30 group hover:opacity-60 transition-opacity border-y border-border/10 bg-muted/5 mt-20\">\n <Marquee className=\"[--duration:40s]\">\n {['NETLIFY', 'VERCEL', 'LINEAR', 'STRIPE', 'UBER', 'REPLIT', 'RAILWAY', 'SUPABASE'].map(brand => (\n <span key={brand} className=\"mx-16 text-3xl font-black tracking-tighter italic grayscale\">{brand}</span>\n ))}\n </Marquee>\n </section>\n\n {/* Bento Intelligence Grid (Mapple-inspired) */}\n <section className=\"px-6 py-40 max-w-7xl mx-auto space-y-20\">\n <div className=\"text-left space-y-6\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-bold\">Capabilities</Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tighter leading-none italic uppercase\">Power in <br />every primitive.</Typography>\n </div>\n \n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 gap-8\">\n <Card className=\"lg:col-span-8 h-[500px] rounded-[3.5rem] border-border/40 bg-muted/20 backdrop-blur-sm p-12 flex flex-col justify-between group overflow-hidden shadow-elevated\">\n <div className=\"space-y-6\">\n <div className=\"size-16 rounded-[2rem] bg-foreground text-background flex items-center justify-center font-black text-xl italic shadow-glow\">01</div>\n <Typography variant=\"title\" className=\"text-4xl md:text-5xl font-black tracking-tight leading-none italic\">Digital <br />Architectures.</Typography>\n <p className=\"text-xl text-muted-foreground max-w-md font-medium\">Complete visual systems built for high-performance and sub-millisecond precision across regional clusters.</p>\n </div>\n <div className=\"flex items-center gap-2 group-hover:translate-x-2 transition-transform\">\n <Typography className=\"text-sm font-black text-primary uppercase tracking-widest leading-none\">Methodology</Typography>\n <svg className=\"size-4 text-primary\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"M5 12h14M12 5l7 7-7 7\" /></svg>\n </div>\n <div className=\"absolute top-0 right-0 p-12 opacity-0 group-hover:opacity-100 transition-opacity duration-1000 -translate-y-12 group-hover:translate-y-0 transition-transform\">\n <div className=\"size-64 rounded-full bg-primary/10 blur-[80px]\" />\n </div>\n </Card>\n\n <Card className=\"lg:col-span-4 h-[500px] rounded-[3.5rem] border-border/40 bg-primary/5 p-12 flex flex-col justify-center items-center text-center space-y-8 relative overflow-hidden backdrop-blur-3xl shadow-elevated border-dashed\">\n <div className=\"size-20 rounded-[2.5rem] bg-foreground text-background border border-border flex items-center justify-center font-black text-2xl italic shadow-glow\">AI</div>\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight italic leading-tight\">Intelligence <br />Native.</Typography>\n <Divider className=\"w-12 border-primary/40\" />\n <p className=\"text-sm text-muted-foreground font-medium\">Automated frontend generation and neural-driven UX patterns integrated at the core of all sensory shells.</p>\n </Card>\n\n <div className=\"lg:col-span-12 grid grid-cols-2 md:grid-cols-4 gap-8\">\n {[\n { l: 'Latency', v: '14ms', t: -12 },\n { l: 'Uptime', v: '99.9%', t: 0.1 },\n { l: 'Nodes', v: '1.2k', t: 24 },\n { l: 'Requests', v: '4.2M', t: 8.4 }\n ].map(s => (\n <div key={s.l} className=\"p-8 rounded-[2.5rem] bg-muted/20 border border-border/40 text-left space-y-4 hover:border-primary/40 transition-all cursor-pointer shadow-glow-sm\">\n <p className=\"text-[10px] font-black uppercase tracking-widest text-muted-foreground\">{s.l}</p>\n <Typography variant=\"display\" className=\"text-4xl font-black tracking-tighter leading-none\">{s.v}</Typography>\n <Stat label=\"\" value=\"\" trend={s.t} className=\"mt-2 border-none p-0 bg-transparent h-auto\" />\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* Global Peering (OrbitingCircles) */}\n <section className=\"px-6 py-40 bg-muted/20 border-y border-border/10 flex flex-col items-center\">\n <div className=\"max-w-4xl w-full text-center space-y-16 py-20 relative\">\n <div className=\"absolute inset-0 z-0 flex items-center justify-center opacity-30 pointer-events-none\">\n <OrbitingCircles radius={200} duration={30} delay={5} className=\"size-10 bg-primary/20 border border-primary opacity-60 blur-md\" />\n <OrbitingCircles radius={350} duration={60} delay={10} className=\"size-14 bg-info/20 border border-info opacity-40 blur-lg\" />\n </div>\n <div className=\"relative z-10 space-y-6\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-bold\">Network Architecture</Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-8xl font-black tracking-tighter leading-[0.9] italic\">Regional <br /><span className=\"text-primary italic\">Distribution.</span></Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground max-w-2xl mx-auto font-medium text-lg md:text-2xl pt-6 italic\">We peer directly with your infrastructure providers to reduce the distance between primitive logic and the sensory interface.</Typography>\n </div>\n </div>\n </section>\n\n {/* Master CTA (Dark Mode Overload) */}\n <section className=\"px-6 py-40 flex flex-col items-center text-center bg-foreground text-background w-full rounded-t-[5rem] space-y-16 animate-fade-up\">\n <Typography variant=\"display\" className=\"text-6xl md:text-9xl font-black tracking-tighter leading-[0.8] italic uppercase\">Initialize <br /><span className=\"text-primary italic\">Hyperscale.</span></Typography>\n <Typography variant=\"lead\" className=\"text-background/60 max-w-2xl mx-auto font-medium text-xl md:text-3xl italic\">Aether Engine v4.8 is now available for production peer groups. Start building the next decade of sensory interfaces today.</Typography>\n <div className=\"flex flex-col sm:flex-row gap-6 pt-8\">\n <Button variant=\"primary\" className=\"h-20 px-16 text-2xl font-black bg-primary text-primary-foreground rounded-[2rem] hover:scale-105 transition-transform shadow-[0_20px_50px_rgba(var(--primary-rgb),0.3)]\">Get Implementation Spec</Button>\n <Button variant=\"outline\" className=\"h-20 px-14 text-2xl font-bold border-background/10 text-background hover:bg-background hover:text-background transition-all rounded-[2rem] font-mono\">--view repo</Button>\n </div>\n \n <div className=\"pt-20 opacity-20 hover:opacity-100 transition-opacity duration-1000\">\n <Marquee className=\"[--duration:20s] [--gap:8rem]\">\n {['RUST', 'V0', 'AWS', 'GO', 'K8S', 'MODAL'].map(tech => (\n <span key={tech} className=\"text-xl font-black tracking-widest italic\">{tech}</span>\n ))}\n </Marquee>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import React from 'react';\nimport { Sidebar, Badge, Button, useTheme, Typography } from '@/index';\nimport { TemplateMeshBackground } from '../TemplateMeshBackground';\n\ninterface AppPageWrapperProps {\n children: React.ReactNode;\n activePage: string;\n onPageChange?: (page: string) => void;\n title?: string;\n}\n\nexport function AppPageWrapper({ children, activePage, onPageChange, title }: AppPageWrapperProps) {\n const { theme, toggleTheme } = useTheme();\n\n const sidebarSections = [\n {\n title: 'Workspace',\n items: [\n { label: 'Overview', icon: 'OV', active: activePage === 'Overview', onClick: () => onPageChange?.('Overview') },\n { label: 'Analytics', icon: 'AN', badge: '12', active: activePage === 'Analytics', onClick: () => onPageChange?.('Analytics') },\n { label: 'Customers', icon: 'CU', active: activePage === 'Customers', onClick: () => onPageChange?.('Customers') },\n { label: 'Billing', icon: 'BL', active: activePage === 'Billing', onClick: () => onPageChange?.('Billing') },\n ],\n },\n {\n title: 'Operations',\n items: [\n { label: 'Webhooks', icon: 'WH', badge: '7', active: activePage === 'Webhooks', onClick: () => onPageChange?.('Webhooks') },\n { label: 'Logs', icon: 'LO', active: activePage === 'Logs', onClick: () => onPageChange?.('Logs') },\n { label: 'Settings', icon: 'ST', active: activePage === 'Settings', onClick: () => onPageChange?.('Settings') },\n ],\n },\n ];\n\n return (\n <div className=\"flex h-screen w-full overflow-hidden bg-background relative\">\n <TemplateMeshBackground variant=\"info\" className=\"opacity-10 dark:opacity-10\" />\n\n {/* App Sidebar */}\n <Sidebar\n header={\n <div className=\"flex items-center gap-3 px-2 group cursor-pointer\">\n <div className=\"size-10 rounded-xl bg-primary text-primary-foreground flex items-center justify-center font-black shadow-glow transform group-hover:scale-105 transition-transform\">A</div>\n <div className=\"flex flex-col text-left\">\n <p className=\"text-sm font-bold tracking-tight text-foreground leading-none\">Aether Shell</p>\n <p className=\"text-[10px] uppercase tracking-widest text-muted-foreground mt-1\">V0.4.2 Production</p>\n </div>\n </div>\n }\n footer={\n <div className=\"space-y-4 px-2\">\n <Badge variant=\"soft-success\" className=\"w-full justify-center text-[9px] font-black uppercase tracking-widest py-0.5 border-success/30\">System: Operational</Badge>\n <div className=\"flex items-center gap-3 rounded-2xl bg-muted/60 p-2 border border-border/50\">\n <div className=\"size-9 rounded-full bg-primary/20 flex items-center justify-center text-primary font-bold text-xs ring-1 ring-primary/40\">SK</div>\n <div className=\"flex-1 overflow-hidden text-left\">\n <p className=\"truncate text-xs font-bold text-foreground\">Sarah K.</p>\n <p className=\"truncate text-[10px] text-muted-foreground font-medium\">Platform Lead</p>\n </div>\n </div>\n </div>\n }\n sections={sidebarSections as any}\n defaultCollapsed={false}\n />\n\n {/* Main Content Area */}\n <main className=\"relative z-10 flex flex-1 flex-col overflow-hidden\">\n <header className=\"sticky top-0 z-30 flex h-20 shrink-0 items-center justify-between border-b border-border/60 bg-background/50 px-8 backdrop-blur-xl\">\n <div className=\"flex items-center gap-6\">\n <Typography variant=\"title\" className=\"text-xl font-bold tracking-tight text-foreground\">{title || activePage}</Typography>\n <div className=\"flex h-6 w-px bg-border/60\" />\n <div className=\"flex items-center gap-2\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-3 py-1 text-[10px] border-primary/20\">Main Orbit</Badge>\n <span className=\"text-[10px] text-muted-foreground uppercase tracking-widest font-bold\">Prod-East-01</span>\n </div>\n </div>\n\n <div className=\"flex items-center gap-4\">\n <div className=\"hidden lg:flex items-center gap-2 rounded-2xl bg-muted/50 border border-border/50 px-3 py-1.5 cursor-pointer hover:bg-muted/80 transition-colors\">\n <svg className=\"size-3.5 text-muted-foreground\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}><circle cx=\"11\" cy=\"11\" r=\"8\" /><path d=\"m21 21-4.3-4.3\" /></svg>\n <span className=\"text-xs font-bold text-muted-foreground\">Search logs (Cmd+K)</span>\n </div>\n \n <Button \n variant=\"ghost\" \n size=\"sm\" \n onClick={toggleTheme}\n className=\"size-10 p-0 rounded-2xl border border-border/50 bg-background/50 hover:bg-muted transition-colors\"\n >\n {theme === 'dark' ? (\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707m0-11.314l.707.707m11.314 11.314l.707.707\" strokeLinecap=\"round\" /></svg>\n ) : (\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z\" strokeLinecap=\"round\" /></svg>\n )}\n </Button>\n\n <Button variant=\"primary\" size=\"sm\" className=\"h-10 px-6 font-bold shadow-glow text-xs rounded-2xl\">New Command</Button>\n </div>\n </header>\n\n <div className=\"flex-1 overflow-y-auto w-full\">\n <div className=\"max-w-[1600px] mx-auto\">\n {children}\n </div>\n </div>\n </main>\n </div>\n );\n}\n","import { useState } from 'react';\nimport { Stat, Chart, Button, Card, CardHeader, CardTitle, CardContent, Typography } from '@/index';\nimport { cn } from '@/utils/cn';\nimport { AppPageWrapper } from './AppPageWrapper';\n\nexport function AnalyticsDashboardShell() {\n const [activePage, setActivePage] = useState('Overview');\n\n return (\n <AppPageWrapper \n activePage={activePage} \n onPageChange={setActivePage}\n title=\"Platform Overview\"\n >\n <div className=\"space-y-8 p-12\">\n {/* Real-time Status Banner */}\n <div className=\"flex items-center justify-between p-6 rounded-[2.5rem] bg-indigo-500/10 border border-indigo-500/20 backdrop-blur-sm shadow-glow-sm overflow-hidden relative group\">\n <div className=\"absolute top-0 right-0 h-full w-full bg-indigo-500/5 -translate-y-full group-hover:translate-y-0 transition-transform duration-700\" />\n <div className=\"relative z-10 flex items-center gap-6\">\n <div className=\"size-16 rounded-3xl bg-indigo-500/20 flex items-center justify-center text-indigo-500 shadow-glow ring-1 ring-indigo-500/40\">\n <svg className=\"size-10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}><path d=\"M13 2L3 14h9l-1 8 10-12h-9l1-8z\" /></svg>\n </div>\n <div className=\"text-left\">\n <Typography variant=\"title\" className=\"text-2xl font-black tracking-tight\">Performance Boosted</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground opacity-80 font-medium\">Your platform nodes are operating at <span className=\"text-indigo-500 font-bold italic\">112%</span> efficiency across all regions.</Typography>\n </div>\n </div>\n <Button variant=\"primary\" className=\"relative z-10 bg-indigo-500 hover:bg-indigo-600 text-white font-black shadow-glow px-8 h-12 rounded-2xl\">Upgrade Infrastructure</Button>\n </div>\n\n {/* Stats Grid */}\n <div className=\"grid gap-6 md:grid-cols-2 lg:grid-cols-4 animate-fade-up\">\n <Stat label=\"Total Revenue\" value=\"$42,481\" trend={12.4} helpText=\"vs last month\" />\n <Stat label=\"Active Subscriptions\" value=\"1,284\" trend={8.1} helpText=\"Steady growth\" />\n <Stat label=\"Avg. Order Value\" value=\"$124\" trend={-2.1} helpText=\"Minor dip\" />\n <Stat label=\"Customer Churn\" value=\"0.8%\" trend={-4.5} helpText=\"Improved retention\" />\n </div>\n\n <div className=\"grid gap-8 lg:grid-cols-2 animate-fade-up\" style={{ animationDelay: '200ms' }}>\n {/* Analytics Chart */}\n <Chart\n title=\"Metric Performance\"\n description=\"Platform adoption across core user segments and product cohorts.\"\n data={[\n { label: 'Onboarding', value: 92, color: 'hsl(var(--primary))' },\n { label: 'Retention', value: 81, color: 'hsl(var(--info))' },\n { label: 'Expansion', value: 76, color: 'hsl(var(--success))' },\n { label: 'Churn Risk', value: 12, color: 'hsl(var(--destructive))' },\n ]}\n showLegend\n className=\"rounded-[2.5rem] border-border/60 shadow-elevated\"\n />\n\n {/* Recent Activity Card */}\n <Card className=\"flex flex-col rounded-[2.5rem] border-border/60 shadow-elevated overflow-hidden text-left\">\n <CardHeader className=\"p-8 border-b border-border/40 bg-muted/20\">\n <div className=\"flex items-center justify-between\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-2xl font-black tracking-tight\">Real-time Stream</CardTitle>\n <p className=\"text-sm text-muted-foreground font-medium\">Latest workspace events across core regions.</p>\n </div>\n <div className=\"flex -space-x-4\">\n {[1,2,3].map(i => <div key={i} className=\"size-10 rounded-full bg-muted border-2 border-background shadow-elevated\" />)}\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"p-8\">\n <div className=\"space-y-6\">\n {[\n { event: 'New customer signup', user: 'Alex Rivera', time: '2m ago', color: 'bg-primary' },\n { event: 'Payment successful', user: 'Billing System', time: '14m ago', color: 'bg-success' },\n { event: 'Webhook failed', user: 'API Gateway', time: '41m ago', color: 'bg-destructive' },\n { event: 'New team member', user: 'Jessica Smith', time: '2h ago', color: 'bg-info' },\n ].map((item, i) => (\n <div key={i} className=\"flex items-center gap-4 group cursor-pointer hover:bg-muted/30 p-2 rounded-2xl transition-colors -mx-2\">\n <div className={cn('size-3 shrink-0 rounded-full shadow-glow-sm ring-4 ring-background', item.color)} />\n <div className=\"flex-1 space-y-0.5\">\n <p className=\"text-sm font-bold text-foreground group-hover:text-primary transition-colors\">{item.event}</p>\n <p className=\"text-xs text-muted-foreground font-medium\">{item.user}</p>\n </div>\n <span className=\"text-[10px] font-black text-muted-foreground uppercase tracking-widest\">{item.time}</span>\n </div>\n ))}\n </div>\n </CardContent>\n <div className=\"mt-auto border-t border-border/40 p-6 bg-muted/10\">\n <Button variant=\"ghost\" fullWidth size=\"lg\" className=\"rounded-2xl font-black text-sm text-primary\">Browse Global Activity Feed</Button>\n </div>\n </Card>\n </div>\n\n {/* Action Center */}\n <div className=\"relative min-h-[320px] rounded-[3.5rem] border-2 border-dashed border-border/80 bg-muted/30 p-12 flex flex-col items-center justify-center text-center space-y-6 animate-fade-up\" style={{ animationDelay: '400ms' }}>\n <div className=\"size-20 rounded-[2.5rem] bg-background border border-border/60 shadow-elevated flex items-center justify-center text-primary group-hover:scale-110 transition-transform\">\n <svg className=\"size-10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={1.5}><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" /><path d=\"M3 9h18\" /><path d=\"M9 21V9\" /></svg>\n </div>\n <div className=\"space-y-2\">\n <Typography as=\"h3\" variant=\"display\" className=\"text-4xl font-black tracking-tighter leading-none\">Deploy custom primitives.</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground max-w-xl mx-auto font-medium\">Your engineering workspace is ready for specialized data visualizations. Connect your first data source to begin.</Typography>\n </div>\n <div className=\"flex gap-4\">\n <Button variant=\"primary\" size=\"lg\" className=\"h-14 px-10 text-base font-black shadow-glow rounded-2xl\">Connect Data Source</Button>\n <Button variant=\"outline\" size=\"lg\" className=\"h-14 px-10 text-base font-bold rounded-2xl border-border/60\">View Documentation</Button>\n </div>\n </div>\n </div>\n </AppPageWrapper>\n );\n}\n","import { useState } from 'react';\nimport { \n Badge, \n Button, \n Card, \n CardHeader, \n CardTitle, \n CardContent, \n DataTable,\n Typography,\n ActionBar,\n useSonner\n} from '@/index';\nimport { AppPageWrapper } from './AppPageWrapper';\n\ninterface Node extends Record<string, unknown> {\n id: string;\n name: string;\n status: string;\n region: string;\n cpu: string;\n memory: string;\n}\n\nexport function ManagementConsole() {\n const [activePage, setActivePage] = useState('Overview');\n const { toast } = useSonner();\n\n const mockData: Node[] = [\n { id: '1', name: 'Production Node Alpha', status: 'Healthy', region: 'US-East-1', cpu: '12%', memory: '4.2GB' },\n { id: '2', name: 'Staging Environment', status: 'Healthy', region: 'US-West-2', cpu: '5%', memory: '1.8GB' },\n { id: '3', name: 'Backup Cluster', status: 'Syncing', region: 'EU-Central-1', cpu: '45%', memory: '12.4GB' },\n { id: '4', name: 'Redis Cache Layer', status: 'Warning', region: 'AP-South-1', cpu: '88%', memory: '14.1GB' },\n { id: '5', name: 'Edge Gateway v2', status: 'Healthy', region: 'Global', cpu: '2%', memory: '0.4GB' },\n ];\n\n return (\n <AppPageWrapper \n activePage={activePage} \n onPageChange={setActivePage}\n title=\"Management Console\"\n >\n <div className=\"space-y-8 p-12 text-left animate-fade-up\">\n {/* Upper Stats Row */}\n <div className=\"grid gap-6 md:grid-cols-3\">\n <Card className=\"rounded-[2.5rem] border-border/40 bg-background/50 shadow-elevated p-8 text-left group hover:border-primary/40 transition-all\">\n <div className=\"flex items-center justify-between mb-4\">\n <div className=\"size-12 rounded-2xl bg-primary/10 flex items-center justify-center text-primary shadow-glow ring-1 ring-primary/40\">\n <svg className=\"size-6\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M5 22h14M5 2h14M17 22V2M7 22V2M12 22V2M12 7v5M12 17v5M5 12h14\" /></svg>\n </div>\n <Badge variant=\"soft-primary\" className=\"rounded-full shadow-glow-sm border-primary/20 bg-primary/5\">99.9% SLI</Badge>\n </div>\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight leading-none\">Active Nodes</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium mt-4\">128 active clusters across <span className=\"text-foreground font-bold underline decoration-primary/40 underline-offset-4\">14 regions</span> worldwide.</Typography>\n </Card>\n\n <Card className=\"rounded-[2.5rem] border-border/40 bg-background/50 shadow-elevated p-8 text-left group hover:border-info/40 transition-all\">\n <div className=\"flex items-center justify-between mb-4\">\n <div className=\"size-12 rounded-2xl bg-info/10 flex items-center justify-center text-info shadow-glow ring-1 ring-info/40\">\n <svg className=\"size-6\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z\" /><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\" /><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\" /></svg>\n </div>\n <Badge variant=\"soft-info\" className=\"rounded-full shadow-glow-sm border-info/20 bg-info/5\">Operational</Badge>\n </div>\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight leading-none\">Edge Traffic</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium mt-4\">Managing <span className=\"text-foreground font-bold underline decoration-info/40 underline-offset-4\">4.2M req/sec</span> with average p99 of 142ms.</Typography>\n </Card>\n\n <Card className=\"rounded-[2.5rem] border-border/40 bg-background/50 shadow-elevated p-8 text-left group hover:border-warning/40 transition-all\">\n <div className=\"flex items-center justify-between mb-4\">\n <div className=\"size-12 rounded-2xl bg-warning/10 flex items-center justify-center text-warning shadow-glow ring-1 ring-warning/40\">\n <svg className=\"size-6\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\" /></svg>\n </div>\n <Badge variant=\"soft-warning\" className=\"rounded-full shadow-glow-sm border-warning/20 bg-warning/5\">2 Alerts</Badge>\n </div>\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight leading-none\">System Health</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium mt-4\">Redis Cache in <span className=\"text-warning font-bold italic underline decoration-warning/40 underline-offset-4\">AP-South-1</span> is reporting 88% memory load.</Typography>\n </Card>\n </div>\n\n {/* Inventory Management */}\n <Card className=\"rounded-[3rem] border-border/40 bg-background/50 shadow-elevated overflow-hidden animate-fade-up\" style={{ animationDelay: '200ms' }}>\n <CardHeader className=\"p-10 border-b border-border/40 bg-muted/20 flex flex-col md:flex-row md:items-center justify-between gap-6 text-left\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-3xl font-black tracking-tight\">Resource Inventory</CardTitle>\n <p className=\"text-base text-muted-foreground font-medium\">Manage and monitor all production entities from a single command interface.</p>\n </div>\n <div className=\"flex items-center gap-3\">\n <Button variant=\"outline\" className=\"h-12 px-6 rounded-2xl font-bold shadow-glow-sm\">Export Inventory</Button>\n <Button variant=\"primary\" className=\"h-12 px-8 rounded-2xl font-black shadow-glow bg-foreground text-background\">Provision New Instance</Button>\n </div>\n </CardHeader>\n <CardContent className=\"p-0\">\n <div className=\"relative min-h-[400px]\">\n <DataTable<Node> \n columns={[\n { key: 'name', header: 'Resource Name', accessor: 'name', cell: (row) => <span className=\"font-bold text-foreground\">{row.name}</span> },\n { key: 'status', header: 'Status', accessor: 'status', cell: (row) => <Badge variant={row.status === 'Healthy' ? 'soft-success' : 'soft-warning'} className=\"font-black px-3 py-1 uppercase text-[9px] tracking-widest bg-muted/40\">{row.status}</Badge> },\n { key: 'region', header: 'Region', accessor: 'region', cell: (row) => <span className=\"text-xs font-bold text-muted-foreground bg-muted/50 px-3 py-1.5 rounded-xl border border-border/40 italic\">{row.region}</span> },\n { key: 'cpu', header: 'CPU Usage', accessor: 'cpu', cell: (row) => <span className=\"font-mono font-bold text-foreground\">{row.cpu}</span> },\n { key: 'memory', header: 'Memory Load', accessor: 'memory', cell: (row) => <span className=\"font-mono font-bold text-foreground\">{row.memory}</span> }\n ]} \n data={mockData} \n />\n\n {/* Floating Bulk Action Bar */}\n <div className=\"absolute bottom-8 inset-x-0 px-8 pointer-events-none\">\n <div className=\"max-w-4xl mx-auto pointer-events-auto\">\n <ActionBar \n title=\"Resource Management\"\n description=\"Apply global commands to selected production infrastructure nodes.\"\n actions={[\n { label: 'Reboot Instances', variant: 'outline', onClick: () => toast({ title: 'Rebooting instances...' }) },\n { label: 'Scale Up Cluster', variant: 'primary', onClick: () => toast({ title: 'Scaling up resources...' }) },\n ]}\n />\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n </AppPageWrapper>\n );\n}\n","import { useState } from 'react';\nimport { \n Tabs, \n TabsList, \n TabsTrigger, \n TabsContent, \n Card, \n CardHeader, \n CardTitle, \n CardContent, \n InputField, \n Switch, \n Button, \n Typography,\n Badge,\n Divider\n} from '@/index';\nimport { AppPageWrapper } from './AppPageWrapper';\n\nexport function ProductSettingsLayout() {\n const [activePage, setActivePage] = useState('Settings');\n\n return (\n <AppPageWrapper \n activePage={activePage} \n onPageChange={setActivePage}\n title=\"Global Configuration\"\n >\n <div className=\"p-12 space-y-12 animate-fade-up\">\n <Tabs defaultValue=\"general\">\n <div className=\"flex flex-col lg:flex-row gap-12\">\n {/* Sidebar-style Tabs */}\n <aside className=\"w-full lg:w-72 shrink-0\">\n <div className=\"sticky top-12 space-y-8\">\n <div className=\"space-y-2 text-left\">\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight\">Settings</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium\">Manage your workspace nodes and engineering policies.</Typography>\n </div>\n \n <TabsList className=\"flex flex-col h-auto bg-transparent border-l border-border/60 p-0 rounded-none items-start gap-1\">\n <TabsTrigger value=\"general\" className=\"w-full justify-start data-[state=active]:bg-primary/10 data-[state=active]:text-primary border-l-2 border-transparent data-[state=active]:border-primary transition-all px-6 py-3 rounded-r-2xl font-bold\">General</TabsTrigger>\n <TabsTrigger value=\"security\" className=\"w-full justify-start data-[state=active]:bg-primary/10 data-[state=active]:text-primary border-l-2 border-transparent data-[state=active]:border-primary transition-all px-6 py-3 rounded-r-2xl font-bold\">Security</TabsTrigger>\n <TabsTrigger value=\"team\" className=\"w-full justify-start data-[state=active]:bg-primary/10 data-[state=active]:text-primary border-l-2 border-transparent data-[state=active]:border-primary transition-all px-6 py-3 rounded-r-2xl font-bold\">Team</TabsTrigger>\n <TabsTrigger value=\"billing\" className=\"w-full justify-start data-[state=active]:bg-primary/10 data-[state=active]:text-primary border-l-2 border-transparent data-[state=active]:border-primary transition-all px-6 py-3 rounded-r-2xl font-bold\">Billing</TabsTrigger>\n <TabsTrigger value=\"api\" className=\"w-full justify-start data-[state=active]:bg-primary/10 data-[state=active]:text-primary border-l-2 border-transparent data-[state=active]:border-primary transition-all px-6 py-3 rounded-r-2xl font-bold\">API Integration</TabsTrigger>\n </TabsList>\n </div>\n </aside>\n\n {/* Main Settings Content */}\n <div className=\"flex-1 max-w-4xl space-y-8\">\n <TabsContent value=\"general\" className=\"space-y-8 m-0 outline-none\">\n <Card className=\"rounded-[2.5rem] border-border/40 bg-background/50 shadow-elevated p-8 text-left\">\n <CardHeader className=\"px-0 pt-0 pb-8 border-b border-border/40 flex flex-row items-center justify-between\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-2xl font-black tracking-tight\">Workspace Identity</CardTitle>\n <p className=\"text-sm text-muted-foreground font-medium\">Public project details and appearance.</p>\n </div>\n <Badge variant=\"soft-primary\" className=\"rounded-full shadow-glow-sm\">Global Scope</Badge>\n </CardHeader>\n <CardContent className=\"px-0 pt-10 space-y-8\">\n <div className=\"grid md:grid-cols-2 gap-8\">\n <InputField label=\"Project Name\" placeholder=\"My Enterprise Orbit\" defaultValue=\"Aether Workspace\" required className=\"bg-background/40\" />\n <InputField label=\"Shared URL\" placeholder=\"company.aether.com\" defaultValue=\"aether-main.orbit.app\" className=\"bg-background/40\" />\n </div>\n <div className=\"space-y-4\">\n <Typography variant=\"caption\" className=\"font-bold uppercase tracking-widest text-[10px] px-1 text-muted-foreground\">Workspace Description</Typography>\n <textarea className=\"w-full min-h-[120px] rounded-[1.75rem] border border-border bg-background/40 p-6 text-sm font-medium focus:ring-2 focus:ring-primary/20 transition-all outline-none\" placeholder=\"The primary operational cluster for our cloud-native assets...\" />\n </div>\n </CardContent>\n </Card>\n\n <Card className=\"rounded-[2.5rem] border-border/40 bg-background/50 shadow-elevated p-8 text-left\">\n <CardHeader className=\"px-0 pt-0 pb-6\">\n <CardTitle className=\"text-2xl font-black tracking-tight\">Engineering Policies</CardTitle>\n <p className=\"text-sm text-muted-foreground font-medium\">Control platform features and sensory enhancements.</p>\n </CardHeader>\n <CardContent className=\"px-0 pt-6 space-y-6\">\n {[\n { label: 'Sensory Motion & Depth', description: 'Enable OrbitingCircles and fluid transitions globally.', active: true },\n { label: 'Public Indexing', description: 'Allow search engines to discover this workspace documentation.', active: false },\n { label: 'Cloud Bursting', description: 'Auto-provision nodes when traffic exceeds p95 thresholds.', active: true },\n { label: 'Telemetry Persistence', description: 'Store logs for up to 90 days across all clusters.', active: true },\n ].map((policy, i) => (\n <div key={policy.label}>\n <div className=\"flex items-center justify-between group\">\n <div className=\"space-y-0.5\">\n <p className=\"text-sm font-bold text-foreground transition-colors group-hover:text-primary\">{policy.label}</p>\n <p className=\"text-xs text-muted-foreground font-medium\">{policy.description}</p>\n </div>\n <Switch defaultChecked={policy.active} className=\"shadow-glow-sm\" />\n </div>\n {i < 3 && <Divider className=\"opacity-40\" />}\n </div>\n ))}\n </CardContent>\n </Card>\n \n <div className=\"flex items-center justify-end gap-4 pt-4\">\n <Button variant=\"outline\" className=\"h-12 px-6 rounded-2xl font-bold shadow-glow-sm\">Discard Changes</Button>\n <Button variant=\"primary\" className=\"h-12 px-10 rounded-2xl font-black shadow-glow bg-foreground text-background\">Save Workspace Configuration</Button>\n </div>\n </TabsContent>\n </div>\n </div>\n </Tabs>\n </div>\n </AppPageWrapper>\n );\n}\n","import { \n InputField, \n Button, \n Card, \n Badge, \n Typography, \n Accordion\n} from '@/index';\nimport { MarketingNavbar } from '../marketing/MarketingNavbar';\nimport { MarketingFooter } from '../marketing/MarketingFooter';\n\nexport function KnowledgeBasePortal() {\n const faqCategories = [\n { title: 'Getting Started', items: 12 },\n { title: 'API & Integration', items: 24 },\n { title: 'Billing & Plans', items: 8 },\n { title: 'Security', items: 15 },\n { title: 'Cloud Infrastructure', items: 19 },\n { title: 'Team Collaboration', items: 6 },\n ];\n\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Universal Mesh Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-20 overflow-hidden\">\n <div className=\"absolute top-[10%] left-[5%] h-[500px] w-[500px] rounded-full bg-primary/20 blur-[120px] animate-pulse\" />\n <div className=\"absolute top-[40%] right-[10%] h-[600px] w-[600px] rounded-full bg-info/20 blur-[130px] animate-pulse [animation-delay:2000ms]\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n {/* Knowledge Search Hero */}\n <section className=\"px-6 py-20 md:py-32 lg:py-40 bg-muted/20 border-b border-border/40\">\n <div className=\"max-w-4xl mx-auto text-center space-y-12\">\n <div className=\"space-y-6\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-black uppercase text-[10px] tracking-widest border-primary/20\">Documentation Portal</Badge>\n <Typography as=\"h1\" variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tighter leading-none text-foreground\">Find your <span className=\"ui-gradient-text italic font-black underline\">answers</span> instantly.</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground max-w-2xl mx-auto font-medium\">Search our entire engineering log, component API, and architecture guides across all regions.</Typography>\n </div>\n\n <div className=\"relative max-w-2xl mx-auto group\">\n <div className=\"absolute inset-0 bg-primary/10 blur-[40px] rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-700\" />\n <div className=\"relative flex items-center gap-2 p-2 rounded-[2rem] bg-background border border-border/60 shadow-elevated focus-within:ring-2 focus-within:ring-primary/20 transition-all\">\n <div className=\"flex-1 flex items-center gap-3 px-4\">\n <svg className=\"size-5 text-muted-foreground\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}><circle cx=\"11\" cy=\"11\" r=\"8\" /><path d=\"m21 21-4.3-4.3\" /></svg>\n <InputField \n label=\"\"\n placeholder=\"How do I configure p95 latency thresholds?\" \n className=\"flex-1 bg-transparent border-none outline-none text-base font-medium placeholder:text-muted-foreground\" \n />\n </div>\n <Button variant=\"primary\" className=\"h-12 px-8 rounded-2xl font-black shadow-glow\">Search Logs</Button>\n </div>\n <div className=\"flex flex-wrap items-center justify-center gap-6 mt-6\">\n <span className=\"text-[11px] font-black uppercase tracking-widest text-muted-foreground\">Popular:</span>\n {['Authentication', 'CLI Hookup', 'CSS Variables', 'Motion API'].map(tag => (\n <button key={tag} className=\"text-xs font-bold text-foreground/70 hover:text-primary transition-colors hover:underline underline-offset-4\">{tag}</button>\n ))}\n </div>\n </div>\n </div>\n </section>\n\n {/* Content Explorer */}\n <section className=\"px-6 py-24 md:py-32 max-w-7xl mx-auto\">\n <div className=\"grid gap-8 md:grid-cols-2 lg:grid-cols-3\">\n {faqCategories.map((cat, i) => (\n <Card key={cat.title} className=\"rounded-[2.5rem] border-border/40 bg-background/50 p-8 shadow-elevated text-left hover:border-primary/40 transition-all group animate-fade-up\" style={{ animationDelay: `${i * 50}ms` }}>\n <div className=\"size-14 rounded-2xl bg-muted border border-border/60 flex items-center justify-center text-primary group-hover:bg-primary/10 transition-colors mb-8 shadow-glow-sm\">\n <svg className=\"size-7\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" /></svg>\n </div>\n <Typography variant=\"title\" className=\"text-xl font-bold tracking-tight mb-2 group-hover:text-primary transition-colors\">{cat.title}</Typography>\n <Typography variant=\"caption\" className=\"text-muted-foreground font-medium mb-6\">Explore {cat.items} technical guides and implementation patterns for this module.</Typography>\n <Button variant=\"ghost\" className=\"p-0 h-auto font-black text-xs uppercase tracking-widest text-primary hover:bg-transparent hover:translate-x-1 transition-transform inline-flex items-center gap-2\">\n Learn More <svg className=\"size-3\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"m9 18 6-6-6-6\" /></svg>\n </Button>\n </Card>\n ))}\n </div>\n </section>\n\n {/* Featured Documentation */}\n <section className=\"px-6 py-24 bg-muted/20 border-y border-border/40 flex flex-col items-center\">\n <div className=\"max-w-4xl w-full space-y-12 text-left\">\n <div className=\"space-y-4\">\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight\">Technical Overview</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium\">Standard protocols for high-performance product engineering.</Typography>\n </div>\n \n <div className=\"space-y-4\">\n <Accordion \n items={[\n { id: '1', title: \"Standard Infrastructure Provisioning\", content: \"Learn how to use Aether CLI to provision AWS nodes globally using our standardized Terraform primitives.\" },\n { id: '2', title: \"Authentication Flow v0.4.2\", content: \"Details on the JWT/SAML integration strategy and how to customize the sensory auth background.\" },\n { id: '3', title: \"Regional Data Sovereignty\", content: \"Guidelines for managing user data across EU/US/APAC regions while maintaining p95 compliance.\" }\n ]}\n />\n </div>\n </div>\n </section>\n\n {/* Support Section */}\n <section className=\"px-6 py-32 text-center max-w-4xl mx-auto space-y-8 animate-fade-up\">\n <div className=\"size-24 rounded-[2.5rem] bg-background border-2 border-primary/20 shadow-glow mx-auto flex items-center justify-center text-primary italic font-black text-4xl\">?</div>\n <div className=\"space-y-4\">\n <Typography variant=\"display\" className=\"text-4xl md:text-5xl font-black tracking-tighter\">Still have questions?</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium opacity-80\">Our engineering support team is available 24/7 for Enterprise customers in the Slack Connect channel.</Typography>\n </div>\n <div className=\"flex flex-wrap justify-center gap-4\">\n <Button variant=\"primary\" size=\"lg\" className=\"h-16 px-10 rounded-2xl font-black shadow-glow bg-foreground text-background\">Open Support Ticket</Button>\n <Button variant=\"outline\" size=\"lg\" className=\"h-16 px-10 rounded-2xl font-bold border-border/60\">Community Forum</Button>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { useState, useRef, useEffect } from 'react';\nimport { \n Badge, \n Button, \n Card,\n Typography,\n Avatar,\n AvatarFallback,\n InputField,\n ScrollArea,\n Spinner\n} from '@/index';\n\ninterface Message {\n id: string;\n role: 'user' | 'assistant';\n content: string;\n timestamp: Date;\n status?: 'thinking' | 'done';\n}\n\nconst SUGGESTED_PROMPTS = [\n 'Summarize our Q1 engineering sprint',\n 'Draft a technical RFC for the caching layer',\n 'Explain p99 latency in simple terms',\n 'Write a bash script to monitor CPU usage',\n];\n\nconst INITIAL_MESSAGES: Message[] = [\n {\n id: '1',\n role: 'assistant',\n content: 'Hello! I\\'m **Nexus**, your engineering AI assistant. I can help with code reviews, architectural decisions, documentation drafts, and complex debugging. What are you working on today?',\n timestamp: new Date(),\n status: 'done',\n },\n];\n\nconst MOCK_RESPONSES = [\n 'That\\'s a great question. Based on your system architecture, I\\'d recommend a **write-through cache** pattern with a TTL of 300 seconds. This balances consistency with read performance for your use case.',\n 'I\\'ve analyzed the pattern you described. The bottleneck is likely in your **serialization layer** — consider switching from JSON to **MessagePack** for a ~40% throughput improvement.',\n 'Here\\'s a draft RFC structure:\\n\\n**Problem Statement:** ...\\n**Proposed Solution:** ...\\n**Alternatives Considered:** ...\\n**Migration Plan:** ...\\n\\nWant me to expand any section?',\n 'The root cause is a **thundering herd problem**. When the cache expires, all concurrent requests hit the DB simultaneously. The fix is to use **probabilistic early expiration** or a mutex lock on cache refresh.',\n];\n\nfunction renderContent(text: string) {\n return text.split(/\\*\\*(.*?)\\*\\*/g).map((part, i) =>\n i % 2 === 1\n ? <strong key={i} className=\"font-black text-foreground\">{part}</strong>\n : <span key={i}>{part}</span>\n );\n}\n\nexport function AIChatInterface() {\n const [messages, setMessages] = useState<Message[]>(INITIAL_MESSAGES);\n const [input, setInput] = useState('');\n const [isThinking, setIsThinking] = useState(false);\n const [activeThread, setActiveThread] = useState('Engineering');\n const bottomRef = useRef<HTMLDivElement>(null);\n\n const threads = [\n { name: 'Engineering', badge: '3', active: true },\n { name: 'Product Spec', badge: '1', active: false },\n { name: 'Code Review', badge: '', active: false },\n { name: 'RFC Draft', badge: '', active: false },\n ];\n\n const handleSend = (msg?: string) => {\n const text = msg || input.trim();\n if (!text || isThinking) return;\n\n const userMsg: Message = {\n id: Date.now().toString(),\n role: 'user',\n content: text,\n timestamp: new Date(),\n status: 'done',\n };\n\n const thinkingMsg: Message = {\n id: (Date.now() + 1).toString(),\n role: 'assistant',\n content: '',\n timestamp: new Date(),\n status: 'thinking',\n };\n\n setMessages(prev => [...prev, userMsg, thinkingMsg]);\n setInput('');\n setIsThinking(true);\n\n setTimeout(() => {\n const response = MOCK_RESPONSES[Math.floor(Math.random() * MOCK_RESPONSES.length)];\n setMessages(prev => prev.map(m =>\n m.id === thinkingMsg.id\n ? { ...m, content: response, status: 'done' }\n : m\n ));\n setIsThinking(false);\n }, 1800);\n };\n\n useEffect(() => {\n bottomRef.current?.scrollIntoView({ behavior: 'smooth' });\n }, [messages]);\n\n return (\n <div className=\"h-screen w-full bg-background text-foreground flex flex-col overflow-hidden antialiased\">\n {/* Top Bar */}\n <div className=\"h-16 border-b border-border/60 bg-background/80 backdrop-blur-xl flex items-center justify-between px-6 shrink-0 z-20\">\n <div className=\"flex items-center gap-4\">\n <div className=\"size-9 rounded-2xl bg-foreground text-background flex items-center justify-center font-black text-sm italic shadow-glow\">N</div>\n <div>\n <Typography variant=\"title\" className=\"text-base font-black leading-none\">Nexus AI</Typography>\n <p className=\"text-[10px] font-black uppercase tracking-widest text-success mt-0.5\">● Online · GPT-4o Powered</p>\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n <Badge variant=\"soft-primary\" className=\"rounded-full border-primary/20 font-black text-[10px] uppercase tracking-widest\">Engineering Mode</Badge>\n <Button variant=\"outline\" className=\"h-8 px-4 rounded-xl text-xs font-black border-border/60\">New Thread</Button>\n </div>\n </div>\n\n <div className=\"flex flex-1 min-h-0\">\n {/* Sidebar — Thread List */}\n <aside className=\"hidden md:flex flex-col w-64 border-r border-border/40 bg-muted/10 shrink-0\">\n <div className=\"p-4 border-b border-border/30\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-muted-foreground mb-3\">Threads</p>\n <div className=\"space-y-1.5\">\n {threads.map(thread => (\n <button\n key={thread.name}\n onClick={() => setActiveThread(thread.name)}\n className={`w-full flex items-center justify-between px-4 py-3 rounded-2xl text-left transition-all group ${activeThread === thread.name ? 'bg-foreground text-background' : 'hover:bg-muted/50 text-muted-foreground hover:text-foreground'}`}\n >\n <span className=\"text-sm font-bold truncate\">{thread.name}</span>\n {thread.badge && (\n <span className={`text-[10px] font-black px-2 py-0.5 rounded-full ${activeThread === thread.name ? 'bg-background/20' : 'bg-primary/10 text-primary'}`}>\n {thread.badge}\n </span>\n )}\n </button>\n ))}\n </div>\n </div>\n\n <div className=\"p-4 mt-auto border-t border-border/30\">\n <div className=\"flex items-center gap-3 px-2\">\n <Avatar className=\"size-9 rounded-xl border border-border\">\n <AvatarFallback className=\"font-black text-xs\">DR</AvatarFallback>\n </Avatar>\n <div className=\"min-w-0\">\n <p className=\"text-xs font-black truncate\">Dev Rajan</p>\n <p className=\"text-[10px] text-muted-foreground font-medium\">Pro Plan</p>\n </div>\n </div>\n </div>\n </aside>\n\n {/* Main Chat Area */}\n <div className=\"flex-1 flex flex-col min-w-0 min-h-0\">\n {/* Messages */}\n <ScrollArea className=\"flex-1 min-h-0\">\n <div className=\"max-w-3xl mx-auto px-4 sm:px-8 py-10 space-y-8\">\n {messages.map((msg) => (\n <div key={msg.id} className={`flex gap-4 ${msg.role === 'user' ? 'flex-row-reverse' : 'flex-row'} animate-fade-up`}>\n {/* Avatar */}\n <Avatar className={`size-9 rounded-2xl border shrink-0 mt-1 ${msg.role === 'assistant' ? 'bg-foreground border-border shadow-glow' : 'bg-muted border-border/60'}`}>\n <AvatarFallback className={`font-black text-xs italic ${msg.role === 'assistant' ? 'bg-foreground text-background' : ''}`}>\n {msg.role === 'assistant' ? 'N' : 'DR'}\n </AvatarFallback>\n </Avatar>\n\n {/* Bubble */}\n <div className={`max-w-[75%] space-y-1 ${msg.role === 'user' ? 'items-end' : 'items-start'} flex flex-col`}>\n <p className={`text-[10px] font-black uppercase tracking-widest ${msg.role === 'user' ? 'text-right text-muted-foreground' : 'text-muted-foreground'}`}>\n {msg.role === 'assistant' ? 'Nexus AI' : 'You'} · {msg.timestamp.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}\n </p>\n <div className={`rounded-[1.75rem] px-6 py-4 text-sm font-medium leading-relaxed whitespace-pre-wrap ${\n msg.role === 'user'\n ? 'bg-foreground text-background rounded-tr-lg'\n : 'bg-muted/40 border border-border/40 text-foreground rounded-tl-lg'\n }`}>\n {msg.status === 'thinking' ? (\n <div className=\"flex items-center gap-3 text-muted-foreground\">\n <Spinner size=\"sm\" />\n <span className=\"italic text-xs\">Thinking deeply...</span>\n </div>\n ) : (\n renderContent(msg.content)\n )}\n </div>\n </div>\n </div>\n ))}\n <div ref={bottomRef} />\n </div>\n </ScrollArea>\n\n {/* Suggested Prompts */}\n {messages.length <= 1 && (\n <div className=\"px-4 sm:px-8 pb-4 max-w-3xl mx-auto w-full\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-muted-foreground mb-3\">Suggested</p>\n <div className=\"flex flex-wrap gap-2\">\n {SUGGESTED_PROMPTS.map(p => (\n <button\n key={p}\n onClick={() => handleSend(p)}\n className=\"px-4 py-2 rounded-2xl border border-border/60 text-xs font-bold text-muted-foreground hover:border-primary/40 hover:text-primary hover:bg-primary/5 transition-all\"\n >\n {p}\n </button>\n ))}\n </div>\n </div>\n )}\n\n {/* Input Bar */}\n <div className=\"px-4 sm:px-8 pb-6 pt-3 border-t border-border/30 bg-background/80 backdrop-blur-xl max-w-3xl mx-auto w-full\">\n <div className=\"relative flex items-end gap-3 p-2 rounded-[2rem] bg-muted/30 border border-border/60 focus-within:border-primary/40 focus-within:bg-background transition-all shadow-elevated\">\n <InputField\n label=\"\"\n value={input}\n onChange={(e) => setInput(e.target.value)}\n onKeyDown={(e) => { if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); handleSend(); }}}\n placeholder=\"Ask Nexus anything about your engineering stack…\"\n className=\"flex-1 border-none bg-transparent outline-none h-12 px-4 text-sm font-medium resize-none\"\n />\n <Button\n variant=\"primary\"\n onClick={() => handleSend()}\n disabled={!input.trim() || isThinking}\n className=\"h-11 w-11 rounded-[1.5rem] p-0 bg-foreground text-background shrink-0 flex items-center justify-center shadow-glow hover:scale-105 transition-transform disabled:opacity-30 disabled:hover:scale-100\"\n >\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path d=\"M12 19V5M5 12l7-7 7 7\" />\n </svg>\n </Button>\n </div>\n <p className=\"text-[10px] text-center text-muted-foreground font-medium mt-3 opacity-40\">\n Nexus can make mistakes. Verify critical engineering decisions independently.\n </p>\n </div>\n </div>\n\n {/* Right Panel — Context */}\n <aside className=\"hidden xl:flex flex-col w-72 border-l border-border/40 bg-muted/5 shrink-0 p-6 space-y-8\">\n <div className=\"space-y-4\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-muted-foreground\">Context Window</p>\n <Card className=\"rounded-[2rem] border-border/40 bg-background/40 p-5 space-y-3\">\n <div className=\"flex items-center justify-between\">\n <p className=\"text-xs font-black\">Tokens Used</p>\n <Badge variant=\"soft-primary\" className=\"rounded-full text-[9px] font-black border-primary/20\">2,841 / 128k</Badge>\n </div>\n <div className=\"h-1.5 rounded-full bg-muted overflow-hidden\">\n <div className=\"h-full w-[2.2%] rounded-full bg-primary\" />\n </div>\n </Card>\n </div>\n\n <div className=\"space-y-4\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-muted-foreground\">Active Tools</p>\n <div className=\"space-y-2\">\n {[\n { name: 'Code Interpreter', icon: '</>', active: true },\n { name: 'Web Search', icon: '⊕', active: true },\n { name: 'File Analysis', icon: '◈', active: false },\n ].map(tool => (\n <div key={tool.name} className={`flex items-center gap-3 px-4 py-3 rounded-2xl transition-all ${tool.active ? 'bg-primary/5 border border-primary/20' : 'bg-muted/20 border border-border/30 opacity-40'}`}>\n <span className=\"text-xs font-black text-primary\">{tool.icon}</span>\n <span className=\"text-xs font-bold flex-1\">{tool.name}</span>\n <div className={`size-2 rounded-full ${tool.active ? 'bg-success' : 'bg-muted-foreground'}`} />\n </div>\n ))}\n </div>\n </div>\n\n <div className=\"space-y-4\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-muted-foreground\">Quick Actions</p>\n <div className=\"grid grid-cols-2 gap-2\">\n {['Export Chat', 'Share Link', 'Clear Thread', 'Save Snippet'].map(action => (\n <button key={action} className=\"p-3 rounded-2xl bg-muted/20 border border-border/30 text-[10px] font-black uppercase tracking-wider text-muted-foreground hover:bg-muted/40 hover:text-foreground transition-all text-center\">\n {action}\n </button>\n ))}\n </div>\n </div>\n </aside>\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { Button, Typography, useTheme, Avatar, AvatarFallback } from '@/index';\nimport { TemplateMeshBackground } from '../TemplateMeshBackground';\n\ninterface AuthPageWrapperProps {\n children: React.ReactNode;\n title: string;\n description: string;\n showBackToSite?: boolean;\n}\n\nexport function AuthPageWrapper({ children, title, description, showBackToSite = true }: AuthPageWrapperProps) {\n const { theme, toggleTheme } = useTheme();\n\n return (\n <div className=\"relative min-h-screen w-full flex flex-col items-center justify-center bg-background selection:bg-primary/30 selection:text-primary overflow-hidden\">\n <TemplateMeshBackground variant=\"mixed\" className=\"opacity-40\" />\n\n {/* Floating Header */}\n <div className=\"fixed top-0 inset-x-0 z-50 p-6 flex items-center justify-between pointer-events-none\">\n <div className=\"flex items-center gap-2 px-3 py-2 rounded-2xl bg-background/50 border border-border/40 backdrop-blur-md pointer-events-auto shadow-elevated group cursor-pointer\">\n <div className=\"size-8 rounded-lg bg-primary text-primary-foreground flex items-center justify-center font-black transition-transform group-hover:scale-105\">A</div>\n <p className=\"text-sm font-bold tracking-tight text-foreground\">Aether UI</p>\n </div>\n\n <div className=\"pointer-events-auto flex items-center gap-3\">\n {showBackToSite && (\n <Button variant=\"ghost\" size=\"sm\" className=\"hidden sm:flex rounded-xl font-bold bg-background/50 hover:bg-background/80 transition-colors\">\n Back to main site\n </Button>\n )}\n <Button variant=\"ghost\" size=\"sm\" onClick={toggleTheme} className=\"size-9 p-0 rounded-full bg-background/50 backdrop-blur-md border border-border/40\">\n {theme === 'dark' ? (\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707m0-11.314l.707.707m11.314 11.314l.707.707\" strokeLinecap=\"round\" /></svg>\n ) : (\n <svg className=\"size-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z\" strokeLinecap=\"round\" /></svg>\n )}\n </Button>\n </div>\n </div>\n\n <main className=\"relative z-10 w-full max-w-7xl mx-auto px-6 py-20 flex items-center justify-center\">\n <div className=\"grid lg:grid-cols-2 gap-20 items-center justify-center w-full\">\n {/* Left Side: Immersive Brand Messge */}\n <div className=\"hidden lg:flex flex-col space-y-8 animate-fade-up text-left max-w-lg\">\n <div className=\"space-y-4\">\n <div className=\"size-16 rounded-3xl bg-primary/10 flex items-center justify-center ring-1 ring-primary/40 shadow-glow text-primary\">\n <svg className=\"size-10\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\" /></svg>\n </div>\n <Typography variant=\"display\" className=\"text-5xl font-black tracking-tighter leading-none\">{title}</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg opacity-80\">{description}</Typography>\n </div>\n \n <div className=\"pt-8 space-y-8 border-t border-border/60\">\n <div className=\"space-y-2\">\n <p className=\"text-sm font-bold text-foreground\">Aether Core Platform</p>\n <p className=\"text-sm text-muted-foreground\">\"The fastest deployment we've ever managed. The library is not only beautiful but incredibly powerful at its core.\"</p>\n </div>\n <div className=\"flex items-center gap-4\">\n <Avatar className=\"size-10 rounded-full border border-border shadow-elevated\">\n <AvatarFallback>JT</AvatarFallback>\n </Avatar>\n <div className=\"text-left\">\n <p className=\"text-xs font-bold text-foreground leading-none\">James Thornton</p>\n <p className=\"text-[10px] text-muted-foreground uppercase tracking-widest font-black mt-1\">VP Engineering, Linear</p>\n </div>\n </div>\n </div>\n </div>\n\n {/* Right Side: Auth Content */}\n <div className=\"w-full flex justify-center animate-fade-in [animation-delay:200ms]\">\n {children}\n </div>\n </div>\n </main>\n\n {/* Footer Legal */}\n <footer className=\"fixed bottom-0 inset-x-0 p-6 flex flex-col md:flex-row items-center justify-between text-muted-foreground font-medium pointer-events-none\">\n <p className=\"text-[10px] uppercase tracking-[0.2em] pointer-events-auto\">Aether Foundation © 2026</p>\n <div className=\"flex items-center gap-6 pointer-events-auto\">\n <a href=\"#\" className=\"text-[10px] uppercase tracking-widest hover:text-primary transition-colors\">Privacy Policy</a>\n <a href=\"#\" className=\"text-[10px] uppercase tracking-widest hover:text-primary transition-colors\">Terms of Service</a>\n </div>\n </footer>\n </div>\n );\n}\n","import { \n Button, \n Card, \n InputField, \n Typography, \n Meteors \n} from '@/index';\nimport { AuthPageWrapper } from './AuthPageWrapper';\n\nexport function PremiumAuthLogin() {\n return (\n <AuthPageWrapper \n title=\"Welcome back\" \n description=\"Enter your credentials to access your project dashboard and performance metrics.\"\n showBackToSite\n >\n <Card className=\"relative z-10 w-full max-w-md border-border/50 bg-background/60 backdrop-blur-xl shadow-elevated p-8 rounded-[2.5rem] overflow-hidden\">\n {/* Magic Background for Card */}\n <div className=\"absolute inset-x-0 top-0 h-40 bg-primary/5 blur-[50px] -translate-y-1/2 pointer-events-none\" />\n \n <div className=\"flex flex-col items-center gap-6 text-center mb-8 lg:hidden\">\n <div className=\"size-12 rounded-2xl bg-primary text-primary-foreground flex items-center justify-center shadow-glow\">\n A\n </div>\n <div className=\"space-y-1\">\n <Typography as=\"h2\" variant=\"title-lg\">Login to Aether</Typography>\n <Typography variant=\"caption\" className=\"text-muted-foreground\">Sign in to your account.</Typography>\n </div>\n </div>\n\n <div className=\"space-y-6\">\n <div className=\"space-y-4\">\n <InputField \n label=\"Email address\"\n placeholder=\"name@company.com\" \n type=\"email\" \n required \n className=\"bg-background/40 hover:bg-background/60 transition-colors\"\n />\n <div className=\"space-y-1\">\n <div className=\"flex items-center justify-between px-1\">\n <Typography variant=\"caption\" className=\"text-muted-foreground font-bold uppercase tracking-widest text-[10px]\">Password</Typography>\n <Button variant=\"ghost\" size=\"sm\" className=\"h-auto p-0 text-primary hover:text-primary-foreground text-xs font-bold\">Forgot?</Button>\n </div>\n <InputField \n label=\"\"\n placeholder=\"••••••••\" \n type=\"password\" \n required \n className=\"bg-background/40 hover:bg-background/60 transition-colors\"\n />\n </div>\n </div>\n\n <Button variant=\"primary\" className=\"w-full h-14 text-base font-black shadow-glow rounded-2xl\">\n Sign in to Aether\n </Button>\n\n <div className=\"relative border-t border-border/60 pt-8 mt-4 text-center\">\n <div className=\"absolute inset-x-0 -top-3 flex justify-center\">\n <span className=\"bg-background px-3 text-[10px] font-black uppercase tracking-widest text-muted-foreground\">Or continue with</span>\n </div>\n <div className=\"grid grid-cols-2 gap-4\">\n <Button variant=\"outline\" className=\"h-12 rounded-xl bg-background/40 hover:bg-background/60 transition-all font-bold\">\n <svg className=\"size-4 mr-2\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12.48 10.92v3.28h7.84c-.24 1.84-.92 3.32-2.12 4.52-1.32 1.32-3.4 2.76-7.72 2.76-6.68 0-12.16-5.4-12.16-12.08s5.48-12.08 12.16-12.08c3.6 0 6.16 1.44 8.08 3.28l2.32-2.32c-2.6-2.48-5.92-3.96-10.4-3.96-8.28 0-15 6.72-15 15s6.72 15 15 15c4.48 0 7.88-1.48 10.44-4.12 2.68-2.68 3.52-6.44 3.52-9.36 0-.92-.08-1.8-.24-2.68h-13.72z\" /></svg>\n Google\n </Button>\n <Button variant=\"outline\" className=\"h-12 rounded-xl bg-background/40 hover:bg-background/60 transition-all font-bold\">\n <svg className=\"size-4 mr-2\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 0c-6.626 0-12 5.373-12 12c0 5.302 3.438 9.8 8.207 11.387c.6.113.82-.258.82-.577c0-.285-.011-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61c-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 21.795 24 17.298 24 12c0-6.627-5.373-12-12-12\" /></svg>\n GitHub\n </Button>\n </div>\n </div>\n </div>\n\n <div className=\"mt-8 text-center\">\n <Typography variant=\"caption\" className=\"text-muted-foreground font-medium\">Don't have an account? <Button variant=\"ghost\" size=\"sm\" className=\"text-primary hover:text-primary-foreground p-0 h-auto font-black italic\">Create an account</Button></Typography>\n </div>\n </Card>\n </AuthPageWrapper>\n );\n}\n","import { useState } from 'react';\nimport { \n Badge, \n Button, \n Card, \n CardHeader, \n CardTitle, \n CardContent, \n Stepper, \n InputField,\n Typography,\n Avatar,\n AvatarFallback,\n Checkbox\n} from '@/index';\nimport { AuthPageWrapper } from './AuthPageWrapper';\n\nexport function InteractiveSignupStepper() {\n const [currentStep, setCurrentStep] = useState(1);\n \n const steps = [\n { id: '1', title: 'Identity', description: 'Personal workspace setup.' },\n { id: '2', title: 'Network', description: 'Regional node selection.' },\n { id: '3', title: 'Protocol', description: 'Engineering policy agreement.' },\n ];\n\n return (\n <AuthPageWrapper showMeteors={false}>\n <div className=\"w-full max-w-2xl mx-auto space-y-12 animate-fade-up text-left\">\n {/* Stepper Navigation */}\n <div className=\"px-4\">\n <Stepper \n steps={steps} \n currentStep={currentStep} \n className=\"w-full\"\n />\n </div>\n\n <Card className=\"rounded-[3rem] border-border/40 bg-background/40 backdrop-blur-xl shadow-elevated overflow-hidden\">\n <CardHeader className=\"p-10 border-b border-border/40 bg-muted/20\">\n <div className=\"flex items-center justify-between\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-3xl font-black tracking-tight\">\n {currentStep === 1 && \"Initialize Identity\"}\n {currentStep === 2 && \"Node Allocation\"}\n {currentStep === 3 && \"Finalize Protocol\"}\n </CardTitle>\n <p className=\"text-base text-muted-foreground font-medium\">\n Step {currentStep} of 3: Secure your Aether workspace primitives.\n </p>\n </div>\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-black uppercase text-[10px] tracking-widest shadow-glow-sm border-primary/20\">Phase {currentStep}</Badge>\n </div>\n </CardHeader>\n\n <CardContent className=\"p-10\">\n {currentStep === 1 && (\n <div className=\"space-y-8 animate-fade-in\">\n <div className=\"flex items-center gap-6 p-6 rounded-3xl bg-primary/5 border border-primary/20\">\n <Avatar className=\"size-20 rounded-2xl border-2 border-background shadow-glow\">\n <AvatarFallback>U</AvatarFallback>\n </Avatar>\n <div className=\"space-y-1\">\n <Typography variant=\"title\" className=\"text-xl font-bold\">New Architect Profile</Typography>\n <p className=\"text-sm text-muted-foreground font-medium leading-tight\">Your sensory persona across the global node network.</p>\n </div>\n </div>\n <div className=\"grid md:grid-cols-2 gap-6\">\n <InputField label=\"Full Name\" placeholder=\"Alex Rivera\" defaultValue=\"Alex Rivera\" className=\"bg-background/40\" />\n <InputField label=\"Username\" placeholder=\"alex_orbit\" defaultValue=\"alex_orbit\" className=\"bg-background/40\" />\n </div>\n <InputField label=\"Professional Domain\" placeholder=\"platform_engineering\" defaultValue=\"infrastructure\" className=\"bg-background/40\" />\n </div>\n )}\n\n {currentStep === 2 && (\n <div className=\"space-y-8 animate-fade-in\">\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium italic\">\"Latency is the enemy of presence. Selective node peering ensures p99 stability.\"</Typography>\n <div className=\"grid gap-4\">\n {['US-East-1 (Primary)', 'EU-Central-1', 'AP-South-1 (Edge)'].map((region, i) => (\n <div key={region} className={`flex items-center justify-between p-6 rounded-[2rem] border-2 transition-all cursor-pointer ${i === 0 ? 'border-primary bg-primary/5' : 'border-border/40 hover:border-primary/20'}`}>\n <div className=\"flex items-center gap-4\">\n <div className={`size-4 rounded-full border-2 ${i === 0 ? 'border-primary bg-primary' : 'border-muted-foreground/40'}`} />\n <span className=\"font-bold text-foreground\">{region}</span>\n </div>\n <Badge variant=\"outline\" className=\"text-[10px] font-black uppercase tracking-widest\">Active</Badge>\n </div>\n ))}\n </div>\n </div>\n )}\n\n {currentStep === 3 && (\n <div className=\"space-y-8 animate-fade-in text-left\">\n <div className=\"p-8 rounded-[2.5rem] bg-muted/30 border border-border/40 space-y-6\">\n <Typography variant=\"title\" className=\"text-xl font-bold tracking-tight\">Foundation Agreement</Typography>\n <p className=\"text-sm text-muted-foreground font-medium leading-relaxed\">By finalizing this protocol, you agree to the global Aether SLA and data sovereignty policies for all regional clusters.</p>\n <div className=\"flex items-center space-x-3 group\">\n <Checkbox id=\"terms\" defaultChecked className=\"size-6 rounded-lg shadow-glow-sm\" />\n <label htmlFor=\"terms\" className=\"text-sm font-bold text-foreground/80 group-hover:text-primary transition-colors cursor-pointer leading-none\">I accept all engineering and sensory policies.</label>\n </div>\n </div>\n <Card className=\"rounded-[2.5rem] border-border/40 bg-success/5 p-6 border-dashed\">\n <p className=\"text-xs font-medium text-success text-center italic\">Encryption keys have been generated and synced with US-East-1 Primary.</p>\n </Card>\n </div>\n )}\n </CardContent>\n\n <CardContent className=\"p-10 pt-0 flex items-center justify-between gap-4\">\n <Button \n variant=\"ghost\" \n className=\"h-14 px-8 rounded-2xl font-bold text-muted-foreground hover:text-foreground\"\n onClick={() => setCurrentStep(prev => Math.max(1, prev - 1))}\n disabled={currentStep === 1}\n >\n Previous Phase\n </Button>\n <Button \n variant=\"primary\" \n className=\"h-14 px-12 rounded-2xl font-black shadow-glow bg-foreground text-background\"\n onClick={() => {\n if (currentStep < 3) setCurrentStep(prev => prev + 1);\n else alert('Protocol Finalized.');\n }}\n >\n {currentStep < 3 ? 'Proceed to Next Phase' : 'Finalize Initialization'}\n </Button>\n </CardContent>\n </Card>\n </div>\n </AuthPageWrapper>\n );\n}\n","import { AuthFlipCard } from '../../components/ui/auth-flip-card';\nimport { AuthPageWrapper } from './AuthPageWrapper';\n\nexport function FlipAuthPortal() {\n return (\n <AuthPageWrapper\n title=\"Flip into your workspace\"\n description=\"An interactive authentication experience with login and signup on an animated flip card.\"\n showBackToSite\n >\n <div className=\"w-full max-w-4xl p-6\">\n <AuthFlipCard />\n </div>\n </AuthPageWrapper>\n );\n}\n","import { \n Badge, \n Button, \n Card, \n CardHeader, \n CardTitle, \n CardContent, \n Typography, \n Avatar,\n AvatarFallback,\n Divider,\n Chart\n} from '@/index';\nimport { AppPageWrapper } from '../app/AppPageWrapper';\n\nexport function UserProfileDashboard() {\n return (\n <AppPageWrapper \n activePage=\"Profile\" \n onPageChange={() => {}}\n title=\"Personal Workspace\"\n >\n <div className=\"p-12 space-y-12 animate-fade-up max-w-6xl mx-auto text-left\">\n {/* Profile Identity Card */}\n <div className=\"relative p-10 rounded-[3.5rem] bg-indigo-500/10 border-2 border-indigo-500/20 shadow-glow-sm overflow-hidden group\">\n <div className=\"absolute top-0 right-0 h-full w-full bg-indigo-500/5 -translate-y-full group-hover:translate-y-0 transition-transform duration-1000\" />\n <div className=\"relative z-10 flex flex-col md:flex-row items-center gap-10\">\n <div className=\"relative group/avatar cursor-pointer\">\n <div className=\"absolute inset-x-0 bottom-0 top-0 bg-primary/20 blur-[30px] rounded-full opacity-0 group-hover/avatar:opacity-100 transition-opacity\" />\n <Avatar className=\"size-32 rounded-[2.5rem] border-4 border-background shadow-elevated transition-transform group-hover/avatar:scale-105\">\n <AvatarFallback>SK</AvatarFallback>\n </Avatar>\n <div className=\"absolute -bottom-2 -right-2 size-10 rounded-2xl bg-success text-success-foreground border-4 border-background flex items-center justify-center shadow-lg\">\n <svg className=\"size-5\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"m20 6-11 11-5-5\" /></svg>\n </div>\n </div>\n <div className=\"flex-1 space-y-4 text-center md:text-left\">\n <div className=\"space-y-1\">\n <div className=\"flex flex-wrap items-center justify-center md:justify-start gap-4\">\n <Typography variant=\"display\" className=\"text-4xl md:text-5xl font-black tracking-tight leading-none\">Sarah Kohen</Typography>\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-black uppercase text-[10px] tracking-[0.2em] shadow-glow-sm border-primary/20\">Lead Architect</Badge>\n </div>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg\">Platform Engineering & Distributed Systems at Aether Labs</Typography>\n </div>\n <div className=\"flex flex-wrap justify-center md:justify-start gap-3\">\n <Button variant=\"primary\" className=\"h-10 px-6 rounded-xl font-bold shadow-glow bg-foreground text-background\">Edit Identity</Button>\n <Button variant=\"outline\" className=\"h-10 px-6 rounded-xl font-bold border-border/60\">Public Profile</Button>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"grid gap-8 md:grid-cols-2\">\n {/* Activity & Contributions */}\n <Card className=\"rounded-[3rem] border-border/40 bg-background/50 shadow-elevated p-10 space-y-8 flex flex-col\">\n <CardHeader className=\"p-0 border-b border-border/40 pb-8\">\n <div className=\"flex items-center justify-between\">\n <div className=\"space-y-1 text-left\">\n <CardTitle className=\"text-2xl font-black tracking-tight\">Engineering Pulse</CardTitle>\n <p className=\"text-sm text-muted-foreground font-medium\">Activity and commit frequency across clusters.</p>\n </div>\n <div className=\"size-12 rounded-2xl bg-success/10 flex items-center justify-center text-success shadow-glow-sm ring-1 ring-success/30\">\n <svg className=\"size-6\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2}><path d=\"M22 12h-4l-3 9L9 3l-3 9H2\" /></svg>\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"p-0 flex-1 flex items-center pt-8\">\n <Chart \n title=\"Commit Frequency\"\n description=\"\"\n data={[\n { label: 'Jan', value: 42, color: 'hsl(var(--primary))' },\n { label: 'Feb', value: 92, color: 'hsl(var(--info))' },\n { label: 'Mar', value: 76, color: 'hsl(var(--success))' }\n ]} \n className=\"h-40 border-none px-0\"\n />\n </CardContent>\n </Card>\n\n {/* Security & Access */}\n <Card className=\"rounded-[3rem] border-border/40 bg-background/50 shadow-elevated p-10 space-y-8 text-left\">\n <CardHeader className=\"p-0 pb-8 border-b border-border/40\">\n <CardTitle className=\"text-2xl font-black tracking-tight\">Security Baseline</CardTitle>\n <p className=\"text-sm text-muted-foreground font-medium\">Manage multi-cluster credentials and sessions.</p>\n </CardHeader>\n <CardContent className=\"p-0 pt-8 space-y-6\">\n {[\n { label: 'SAML Integration', status: 'Active', method: 'Okta Enterprise' },\n { label: 'SSH Global Key', status: 'Expiring soon', method: 'ED25519-AES' },\n { label: 'Cloud API Tokens', status: '3 Active', method: 'Production Access' }\n ].map((item) => (\n <div key={item.label} className=\"flex items-center justify-between group cursor-pointer\">\n <div className=\"space-y-1\">\n <p className=\"text-sm font-bold text-foreground group-hover:text-primary transition-colors\">{item.label}</p>\n <p className=\"text-xs text-muted-foreground font-medium italic\">{item.method}</p>\n </div>\n <Badge variant=\"outline\" className=\"text-[10px] font-black uppercase tracking-widest\">{item.status}</Badge>\n </div>\n ))}\n <Button variant=\"outline\" fullWidth className=\"h-12 rounded-2xl border-border/60 font-black text-xs uppercase tracking-widest hover:border-primary/40 transition-all\">Manage Keys & Access</Button>\n </CardContent>\n </Card>\n </div>\n\n {/* Action History / Feed */}\n <Card className=\"rounded-[3rem] border-border/40 bg-background/50 shadow-elevated p-10 text-left\">\n <CardHeader className=\"p-0 pb-8 border-b border-border/40 flex items-center justify-between\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-2xl font-black tracking-tight\">Access History</CardTitle>\n <p className=\"text-sm text-muted-foreground font-medium\">Recent login events and administrative sessions.</p>\n </div>\n <Button variant=\"ghost\" className=\"text-primary font-black uppercase text-[10px] tracking-widest shadow-glow-sm\">View full audit</Button>\n </CardHeader>\n <CardContent className=\"p-0 pt-10\">\n <div className=\"space-y-8\">\n {[\n { action: 'Production Deployment Successful', cluster: 'AWS-East-1', time: '14 min ago', status: 'Success' },\n { action: 'API Key Revoked', cluster: 'Internal Dashboard', time: '2h ago', status: 'Security' },\n { action: 'SSH Login Detected', cluster: 'Node-Alpha-04', time: '5h ago', status: 'Access' }\n ].map((action, i) => (\n <div key={i} className=\"flex items-center justify-between group\">\n <div className=\"flex gap-4\">\n <div className=\"size-10 rounded-2xl bg-muted border border-border flex items-center justify-center text-muted-foreground font-black group-hover:bg-primary/10 group-hover:text-primary transition-all text-xs\">{(i+1).toString().padStart(2, '0')}</div>\n <div className=\"space-y-0.5\">\n <p className=\"text-sm font-bold text-foreground transition-colors group-hover:text-primary\">{action.action}</p>\n <p className=\"text-xs text-muted-foreground font-medium\">{action.cluster}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-6\">\n <p className=\"hidden md:block text-[10px] font-black uppercase tracking-widest text-muted-foreground\">{action.time}</p>\n <Badge variant=\"soft-primary\" className=\"rounded-full px-3 text-[10px] border-primary/20\">{action.status}</Badge>\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n </AppPageWrapper>\n );\n}\n","import { \n Badge, \n Button, \n Typography,\n Avatar,\n AvatarFallback,\n SpotlightCard,\n BorderBeam,\n Meteors\n} from '@/index';\nimport { MarketingNavbar } from '../marketing/MarketingNavbar';\nimport { MarketingFooter } from '../marketing/MarketingFooter';\n\nconst projects = [\n {\n title: 'Hyperion Platform',\n tags: ['Next.js', 'Distributed Systems', 'Rust'],\n year: '2026',\n type: 'Case Study',\n span: 'lg:col-span-2',\n height: 'h-[480px]',\n accent: 'group-hover:border-primary/60',\n glow: 'bg-primary/10',\n },\n {\n title: 'Sentinel AI Dashboard',\n tags: ['React', 'ML Ops', 'Tailwind'],\n year: '2025',\n type: 'Product Design',\n span: 'lg:col-span-1',\n height: 'h-[480px]',\n accent: 'group-hover:border-success/60',\n glow: 'bg-success/10',\n },\n {\n title: 'Nexus UI System',\n tags: ['Design Tokens', 'Storybook', 'Figma'],\n year: '2025',\n type: 'Design System',\n span: 'lg:col-span-1',\n height: 'h-[400px]',\n accent: 'group-hover:border-info/60',\n glow: 'bg-info/10',\n },\n {\n title: 'Orbit CLI',\n tags: ['Rust', 'Open Source', '12k Stars'],\n year: '2024',\n type: 'Open Source',\n span: 'lg:col-span-2',\n height: 'h-[400px]',\n accent: 'group-hover:border-warning/60',\n glow: 'bg-warning/10',\n },\n];\n\nconst skills = [\n { category: 'Engineering', items: ['Rust · Go · TypeScript', 'Distributed Systems', 'Platform Architecture', 'gRPC · WebAssembly'] },\n { category: 'Design', items: ['Design Systems', 'Motion & Interaction', 'Figma · Framer', 'Brand & Identity'] },\n { category: 'Leadership', items: ['Team Building', 'Technical Strategy', 'Open Source Programs', 'Engineering Culture'] },\n];\n\nexport function DarkPortfolioShowcase() {\n return (\n <div className=\"relative min-h-screen w-full bg-[#060608] text-white selection:bg-primary/30 selection:text-primary overflow-x-hidden antialiased\">\n {/* Dark Atmospheric Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none\">\n <div className=\"absolute top-0 right-0 h-[700px] w-[700px] rounded-full bg-primary/8 blur-[180px]\" />\n <div className=\"absolute bottom-0 left-0 h-[500px] w-[500px] rounded-full bg-info/6 blur-[150px]\" />\n <div className=\"absolute inset-0 bg-[linear-gradient(to_right,#ffffff04_1px,transparent_1px),linear-gradient(to_bottom,#ffffff04_1px,transparent_1px)] bg-[size:48px_48px] [mask-image:radial-gradient(ellipse_70%_70%_at_50%_50%,#000_40%,transparent_100%)]\" />\n <Meteors count={6} />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n {/* Hero Identity */}\n <section className=\"px-6 pt-32 pb-20 max-w-7xl mx-auto flex flex-col lg:flex-row items-start lg:items-end justify-between gap-12\">\n <div className=\"space-y-8 max-w-3xl animate-fade-up\">\n <div className=\"flex items-center gap-5\">\n <div className=\"relative\">\n <Avatar className=\"size-20 rounded-[2rem] border-2 border-white/10 shadow-[0_0_40px_rgba(255,255,255,0.05)]\">\n <AvatarFallback className=\"bg-white/5 font-black text-2xl italic text-white/60\">KR</AvatarFallback>\n </Avatar>\n <div className=\"absolute -bottom-1 -right-1 size-5 rounded-full bg-success border-2 border-[#060608]\" />\n </div>\n <div className=\"space-y-1\">\n <p className=\"text-sm font-black uppercase tracking-widest text-white/40\">Kai Rivera</p>\n <p className=\"text-xs font-medium text-white/20 italic\">Senior Platform Engineer · San Francisco</p>\n </div>\n </div>\n\n <Typography variant=\"display\" className=\"text-6xl md:text-9xl font-black tracking-tighter leading-[0.85] italic uppercase\">\n Engineering <br />\n <span className=\"ui-gradient-text font-black not-italic\">at scale.</span>\n </Typography>\n\n <Typography variant=\"lead\" className=\"text-white/50 font-medium text-xl max-w-xl leading-relaxed\">\n I build platforms that serve millions — from distributed infrastructure to the design systems that sit on top of them.\n </Typography>\n\n <div className=\"flex flex-wrap items-center gap-4 pt-4\">\n <Button variant=\"primary\" className=\"h-14 px-10 rounded-2xl font-black bg-white text-black hover:bg-white/90 shadow-[0_0_40px_rgba(255,255,255,0.15)]\">\n View Work\n </Button>\n <Button variant=\"outline\" className=\"h-14 px-8 rounded-2xl font-bold border-white/20 text-white hover:bg-white/5\">\n Get in Touch\n </Button>\n <div className=\"flex items-center gap-3 pl-4 border-l border-white/10\">\n {['GH', 'X', 'LI'].map(s => (\n <button key={s} className=\"size-10 rounded-xl border border-white/10 bg-white/5 hover:bg-white/10 hover:border-white/20 transition-all flex items-center justify-center text-xs font-black text-white/40\">\n {s}\n </button>\n ))}\n </div>\n </div>\n </div>\n\n {/* Live Stats */}\n <div className=\"grid grid-cols-2 gap-4 shrink-0 animate-fade-up\" style={{ animationDelay: '300ms' }}>\n {[\n { label: 'Years Experience', value: '9+' },\n { label: 'Projects Shipped', value: '84' },\n { label: 'GitHub Stars', value: '23k' },\n { label: 'Countries Deployed', value: '31' },\n ].map(stat => (\n <div key={stat.label} className=\"p-8 rounded-[2rem] bg-white/[0.03] border border-white/8 text-left space-y-2 hover:bg-white/[0.06] transition-all\">\n <Typography variant=\"display\" className=\"text-4xl font-black tracking-tighter leading-none\">{stat.value}</Typography>\n <p className=\"text-[10px] font-black uppercase tracking-widest text-white/30\">{stat.label}</p>\n </div>\n ))}\n </div>\n </section>\n\n {/* Work Grid */}\n <section className=\"px-6 py-20 max-w-7xl mx-auto space-y-8\">\n <div className=\"flex items-center justify-between\">\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight italic\">Selected Work</Typography>\n <Badge variant=\"outline\" className=\"rounded-full border-white/20 text-white/40 font-black uppercase text-[10px] tracking-widest\">{projects.length} Projects</Badge>\n </div>\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n {projects.map((project) => (\n <SpotlightCard\n key={project.title}\n className={`${project.span} ${project.height} border-white/8 bg-white/[0.02] p-10 flex flex-col justify-between group overflow-hidden relative cursor-pointer transition-all duration-700 ${project.accent}`}\n >\n {/* Glow Orb */}\n <div className={`absolute top-0 right-0 w-64 h-64 ${project.glow} blur-[100px] opacity-0 group-hover:opacity-100 transition-opacity duration-1000 pointer-events-none`} />\n \n {/* Top Meta */}\n <div className=\"flex items-start justify-between\">\n <div className=\"space-y-2\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-white/20\">{project.type} · {project.year}</p>\n <Typography variant=\"title\" className=\"text-3xl md:text-4xl font-black tracking-tight leading-none italic group-hover:text-white transition-colors text-white/80\">\n {project.title}\n </Typography>\n </div>\n <div className=\"size-10 rounded-xl bg-white/5 border border-white/10 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity group-hover:rotate-45 transform duration-500\">\n <svg className=\"size-4 text-white/60\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={2.5}>\n <path d=\"M7 17L17 7M17 7H7M17 7v10\" />\n </svg>\n </div>\n </div>\n\n {/* Bottom Tags */}\n <div className=\"flex flex-wrap gap-2\">\n {project.tags.map(tag => (\n <span key={tag} className=\"px-3 py-1.5 rounded-xl bg-white/5 border border-white/10 text-[10px] font-black uppercase tracking-widest text-white/30 group-hover:border-white/20 group-hover:text-white/50 transition-all\">\n {tag}\n </span>\n ))}\n </div>\n </SpotlightCard>\n ))}\n </div>\n </section>\n\n {/* Skills Section */}\n <section className=\"px-6 py-24 max-w-7xl mx-auto border-t border-white/8\">\n <Typography variant=\"title\" className=\"text-3xl font-black tracking-tight italic mb-16 text-white/80\">Capabilities</Typography>\n <div className=\"grid gap-8 md:grid-cols-3\">\n {skills.map(skill => (\n <div key={skill.category} className=\"space-y-6 p-8 rounded-[2.5rem] bg-white/[0.02] border border-white/8 hover:border-white/15 hover:bg-white/[0.04] transition-all group\">\n <p className=\"text-[10px] font-black uppercase tracking-[0.25em] text-white/30\">{skill.category}</p>\n <div className=\"space-y-3\">\n {skill.items.map(item => (\n <p key={item} className=\"text-base font-bold text-white/50 group-hover:text-white/70 transition-colors\">{item}</p>\n ))}\n </div>\n </div>\n ))}\n </div>\n </section>\n\n {/* Contact CTA */}\n <section className=\"px-6 py-40 flex flex-col items-center text-center max-w-4xl mx-auto space-y-10\">\n <div className=\"relative\">\n <div className=\"absolute -inset-20 bg-primary/8 blur-[100px] rounded-full\" />\n <div className=\"relative space-y-6\">\n <Typography variant=\"display\" className=\"text-5xl md:text-8xl font-black tracking-tighter leading-none italic uppercase\">\n Let's build <br /><span className=\"ui-gradient-text font-black\">something real.</span>\n </Typography>\n <Typography variant=\"lead\" className=\"text-white/50 max-w-xl mx-auto font-medium text-lg\">\n Open to senior engineering roles, advisory positions, and collaborative research projects.\n </Typography>\n </div>\n </div>\n <div className=\"relative rounded-[3.5rem] border border-white/10 bg-white/[0.02] p-12 w-full overflow-hidden\">\n <BorderBeam duration={12} delay={5} size={300} className=\"opacity-30\" />\n <div className=\"flex flex-col sm:flex-row items-center justify-between gap-6\">\n <div className=\"text-left\">\n <p className=\"font-black text-xl text-white\">kai@hyperion.build</p>\n <p className=\"text-white/30 text-xs font-medium mt-1\">Replies within 24 hours, usually much faster.</p>\n </div>\n <Button variant=\"primary\" className=\"h-14 px-12 rounded-2xl font-black bg-white text-black hover:scale-105 transition-transform whitespace-nowrap\">\n Send a Message →\n </Button>\n </div>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Card, \n Typography,\n Rating\n} from '@/index';\nimport { MarketingNavbar } from '../marketing/MarketingNavbar';\nimport { MarketingFooter } from '../marketing/MarketingFooter';\n\nexport function ProductMerchandisingDetail() {\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Mesh Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-20 overflow-hidden\">\n <div className=\"absolute top-[10%] left-[5%] h-[500px] w-[500px] rounded-full bg-primary/20 blur-[120px] animate-pulse\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-24 pb-32\">\n <div className=\"max-w-7xl mx-auto px-6\">\n {/* Breadcrumbs */}\n <div className=\"flex items-center gap-2 mb-12 text-xs font-bold uppercase tracking-widest text-muted-foreground animate-fade-in\">\n <span className=\"hover:text-primary transition-colors cursor-pointer\">Store</span>\n <svg className=\"size-3\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"m9 18 6-6-6-6\" /></svg>\n <span className=\"hover:text-primary transition-colors cursor-pointer\">Engineering Assets</span>\n <svg className=\"size-3\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"m9 18 6-6-6-6\" /></svg>\n <span className=\"text-foreground\">Orbit Pro Hub</span>\n </div>\n\n <div className=\"grid lg:grid-cols-2 gap-16 xl:gap-24 items-start\">\n {/* Product Visuals */}\n <div className=\"space-y-6 animate-fade-up\">\n <div className=\"aspect-[4/5] rounded-[3rem] bg-muted/40 border border-border/60 shadow-elevated relative overflow-hidden flex items-center justify-center group\">\n <div className=\"absolute inset-0 bg-primary/10 blur-[100px] opacity-0 group-hover:opacity-100 transition-opacity duration-1000\" />\n <div className=\"size-64 rounded-full bg-foreground/10 border-8 border-foreground/5 shadow-glow-sm flex items-center justify-center font-black text-9xl text-foreground/20 italic select-none\">A</div>\n <div className=\"absolute bottom-8 left-8\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-2 font-black uppercase text-[10px] tracking-widest shadow-glow border-primary/20\">Official Asset</Badge>\n </div>\n </div>\n <div className=\"grid grid-cols-4 gap-4\">\n {[1,2,3,4].map(i => (\n <div key={i} className=\"aspect-square rounded-2xl bg-muted/30 border border-border/40 hover:border-primary/50 transition-all cursor-pointer shadow-glow-sm\" />\n ))}\n </div>\n </div>\n\n {/* Product Info */}\n <div className=\"space-y-10 animate-fade-up text-left\" style={{ animationDelay: '200ms' }}>\n <div className=\"space-y-4\">\n <div className=\"flex items-center gap-4\">\n <Rating value={4.9} className=\"text-primary text-xs\" />\n <span className=\"text-[10px] font-black uppercase tracking-widest text-muted-foreground\">428 Verified Audits</span>\n </div>\n <Typography as=\"h1\" variant=\"display\" className=\"text-5xl md:text-7xl font-black tracking-tighter leading-none\">Orbit Pro Hub</Typography>\n <Typography variant=\"title-lg\" className=\"text-2xl font-black tracking-tight\"><span className=\"text-primary underline italic font-black underline-offset-8\">$1,299.00</span> <span className=\"text-muted-foreground line-through ml-3 font-bold opacity-40\">$1,650</span></Typography>\n </div>\n\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg border-l-4 border-primary/20 pl-6 py-2\">\n A high-performance engineering command center. Built with cold-rolled steel and integrated sensory telemetry for p95 monitoring.\n </Typography>\n\n <div className=\"grid grid-cols-2 gap-4\">\n <div className=\"p-6 rounded-[2rem] bg-muted/20 border border-border/40 space-y-2\">\n <p className=\"text-[10px] font-black uppercase tracking-widest text-muted-foreground\">In Stock</p>\n <p className=\"text-2xl font-black tracking-tight\">14 Units</p>\n </div>\n <div className=\"p-6 rounded-[2rem] bg-muted/20 border border-border/40 space-y-2\">\n <p className=\"text-[10px] font-black uppercase tracking-widest text-muted-foreground\">Deployment</p>\n <p className=\"text-2xl font-black tracking-tight\">Global</p>\n </div>\n </div>\n\n <div className=\"space-y-4 pt-4\">\n <Button variant=\"primary\" size=\"lg\" className=\"w-full h-16 rounded-[2rem] text-xl font-black shadow-glow group relative overflow-hidden\">\n <span className=\"relative z-10\">Initialize Acquisition</span>\n <div className=\"absolute inset-0 bg-white/20 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 skew-x-12\" />\n </Button>\n <Button variant=\"outline\" size=\"lg\" className=\"w-full h-16 rounded-[2rem] text-xl font-bold border-border/60\">Compare Model Specifications</Button>\n </div>\n\n <div className=\"pt-10 border-t border-border/60\">\n <Typography variant=\"caption\" className=\"font-black uppercase tracking-[0.2em] text-[10px] mb-6 block text-muted-foreground\">Technical Specifications</Typography>\n <div className=\"space-y-4\">\n {[\n { label: 'p95 Latency Threshold', value: '142ms' },\n { label: 'Throughput capacity', value: '1.2 PB/day' },\n { label: 'Security Grade', value: 'FIPS 140-2 Compliant' }\n ].map(spec => (\n <div key={spec.label} className=\"flex items-center justify-between font-bold\">\n <span className=\"text-sm text-muted-foreground\">{spec.label}</span>\n <span className=\"text-sm text-foreground\">{spec.value}</span>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n\n {/* Upsell / Details Section */}\n <div className=\"mt-32 pt-32 border-t border-border/40 animate-fade-up\" style={{ animationDelay: '400ms' }}>\n <div className=\"text-center max-w-3xl mx-auto space-y-6 mb-20 text-pretty\">\n <Typography as=\"h2\" variant=\"display\" className=\"text-4xl md:text-6xl font-black tracking-tighter leading-none\">Engineering grade for <span className=\"italic underline underline-offset-8 decoration-primary/40\">teams</span> that ship.</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium\">The Hub isn't just hardware—it's the core of your local development cluster, optimized for sensory feedback.</Typography>\n </div>\n \n <div className=\"grid gap-8 md:grid-cols-2 lg:grid-cols-3\">\n {[\n { title: 'Cold-Steel Chassis', desc: 'CNC-machined from single-source aerospace aluminum for zero thermal resonance.' },\n { title: 'Zero-Lag Telemetry', desc: 'Integrated e-ink display for p95 dashboard monitoring with zero active refresh power.' },\n { title: 'Mesh Integrated', desc: 'Native support for Aether Mesh background systems via secondary light channels.' }\n ].map((feature, i) => (\n <Card key={i} className=\"rounded-[2.5rem] border-border/60 bg-muted/10 p-10 text-left space-y-4 shadow-glow-sm hover:border-primary/40 transition-all cursor-pointer\">\n <div className=\"size-14 rounded-2xl bg-foreground text-background flex items-center justify-center font-black text-xl italic shadow-glow\">0{i+1}</div>\n <Typography variant=\"title\" className=\"text-xl font-bold tracking-tight\">{feature.title}</Typography>\n <Typography variant=\"caption\" className=\"text-muted-foreground font-medium leading-relaxed\">{feature.desc}</Typography>\n </Card>\n ))}\n </div>\n </div>\n </div>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Badge, \n Button, \n Card, \n CardContent, \n Typography,\n Divider,\n} from '@/index';\nimport { MarketingNavbar } from '../marketing/MarketingNavbar';\nimport { MarketingFooter } from '../marketing/MarketingFooter';\n\nexport function ReleaseTimelineChangelog() {\n const updates = [\n {\n version: 'v0.5.0-alpha',\n date: 'April 2026',\n title: 'Sensory Motion & Depth Primitives',\n description: 'Introducing OrbitingCircles, TemplateMeshBackground, and enhanced glassmorphism tokens for immersive dashboards.',\n tags: ['Motion', 'Core', 'Design System'],\n type: 'Major'\n },\n {\n version: 'v0.4.8',\n date: 'March 2026',\n title: 'Real-time Analytics Buffers',\n description: 'New Chart primitives with high-frequency data support and streamlined Stat components for monitoring.',\n tags: ['Analytics', 'Performance'],\n type: 'Feature'\n },\n {\n version: 'v0.4.5',\n date: 'February 2026',\n title: 'Auth Shell Transformation',\n description: 'Stabilized the AuthPageWrapper with nested Avatar support and responsive split-screen layouts.',\n tags: ['Shells', 'Authentication'],\n type: 'Improvement'\n }\n ];\n\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Immersive Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-30\">\n <div className=\"absolute top-0 left-[20%] h-[800px] w-[800px] rounded-full bg-primary/10 blur-[150px] animate-pulse\" />\n <div className=\"absolute bottom-0 right-[10%] h-[600px] w-[600px] rounded-full bg-info/10 blur-[130px] animate-pulse\" />\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n {/* Release Hero */}\n <section className=\"px-6 py-20 md:py-32 bg-muted/20 border-b border-border/40\">\n <div className=\"max-w-4xl mx-auto space-y-8 text-left\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-4 py-1 font-black uppercase text-[10px] tracking-widest border-primary/20 bg-primary/5\">Release Log</Badge>\n <Typography variant=\"display\" className=\"text-5xl md:text-8xl font-black tracking-tighter leading-none text-foreground uppercase italic px-4\">Evolutionary <br /><span className=\"ui-gradient-text italic font-black underline\">Changes.</span></Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground max-w-2xl font-medium text-lg md:text-2xl px-4\">Tracking every primitive, system, and sensory enhancement in the Aether ecosystem.</Typography>\n \n <div className=\"flex items-center gap-4 px-4 pt-4\">\n <Button variant=\"primary\" className=\"h-14 px-10 rounded-2xl font-black shadow-glow\">Subscribe to Feed</Button>\n <Button variant=\"outline\" className=\"h-14 px-10 rounded-2xl font-bold border-border/60\">RSS Integration</Button>\n </div>\n </div>\n </section>\n\n {/* Timeline Content */}\n <section className=\"px-6 py-24 max-w-7xl mx-auto grid gap-16 lg:grid-cols-[1fr,320px]\">\n <div className=\"space-y-32\">\n {updates.map((update) => (\n <div key={update.version} className=\"relative group text-left\">\n {/* Date Marker */}\n <div className=\"absolute -left-32 top-1 hidden xl:block\">\n <Typography variant=\"title\" className=\"text-2xl font-black tracking-tight text-foreground/40\">{update.version}</Typography>\n <Typography className=\"text-[10px] font-black uppercase tracking-widest text-muted-foreground mt-2\">{update.date}</Typography>\n </div>\n \n <div className=\"space-y-12\">\n <div className=\"space-y-6\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <Badge variant=\"soft-primary\" className=\"rounded-full font-black text-[9px] px-3 uppercase tracking-widest\">{update.type}</Badge>\n <div className=\"flex gap-2\">\n {update.tags.map(tag => <Badge key={tag} variant=\"outline\" className=\"text-[9px] uppercase font-bold border-border/60\">{tag}</Badge>)}\n </div>\n </div>\n </div>\n <Typography variant=\"display\" className=\"text-4xl md:text-5xl font-black tracking-tighter leading-none group-hover:text-primary transition-colors cursor-pointer\">{update.title}</Typography>\n </div>\n \n <Card className=\"rounded-[3rem] border-border/60 bg-muted/20 overflow-hidden hover:border-primary/40 transition-all cursor-pointer shadow-elevated\">\n <CardContent className=\"p-0\">\n <div className=\"aspect-video bg-muted/40 relative flex items-center justify-center group/img\">\n <Typography variant=\"title\" className=\"text-muted-foreground/30 font-black italic select-none\">{update.version} Component Snapshot</Typography>\n <Divider className=\"absolute top-1/2 left-0 right-0 border-dashed opacity-20\" />\n </div>\n <div className=\"p-10 space-y-6\">\n <Typography variant=\"lead\" className=\"text-muted-foreground font-medium text-lg leading-relaxed\">{update.description}</Typography>\n <Button variant=\"ghost\" className=\"p-0 h-auto font-black text-xs uppercase tracking-widest text-primary hover:bg-transparent hover:translate-x-1 transition-transform inline-flex items-center gap-2\">\n Read Full Technical Specs <svg className=\"size-3\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={3}><path d=\"m9 18 6-6-6-6\" /></svg>\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n </div>\n ))}\n </div>\n\n {/* Sidebar */}\n <aside className=\"hidden lg:block\">\n <div className=\"sticky top-32 space-y-12 text-left\">\n <div className=\"space-y-4\">\n <Typography variant=\"title\" className=\"font-bold uppercase tracking-widest text-xs text-muted-foreground border-b border-border/40 pb-2\">Browse Years</Typography>\n <div className=\"space-y-2\">\n {['2026 Release Cycle', '2025 Archives', '2024 Foundations'].map(year => (\n <button key={year} className=\"block text-sm font-bold text-foreground/70 hover:text-primary transition-colors hover:translate-x-1 duration-300 transition-transform\">{year}</button>\n ))}\n </div>\n </div>\n <Card className=\"rounded-[2rem] border-border/60 bg-primary/5 p-6 space-y-4 text-left shadow-elevated\">\n <Typography className=\"text-xs font-bold text-primary italic\">\"Moving from primitives to systems is the most important leap we've taken yet.\"</Typography>\n <div className=\"flex items-center gap-3\">\n <div className=\"size-8 rounded-full bg-muted border border-border\" />\n <div className=\"text-left\">\n <p className=\"text-[10px] font-black uppercase text-foreground leading-none\">Engineering Blog</p>\n <p className=\"text-[9px] text-muted-foreground mt-1\">Shared by @sarah_dev</p>\n </div>\n </div>\n </Card>\n </div>\n </aside>\n </section>\n\n {/* Subscribe Section */}\n <section className=\"px-6 py-32 bg-foreground text-background text-center space-y-12 rounded-t-[5rem]\">\n <div className=\"space-y-4\">\n <Typography variant=\"display\" className=\"text-4xl md:text-7xl font-black tracking-tighter italic\">Stay synced.</Typography>\n <Typography variant=\"lead\" className=\"text-background/60 max-w-2xl mx-auto font-medium\">Get technical release notes delivered to your inbox as they happen.</Typography>\n </div>\n <Button variant=\"outline\" size=\"lg\" className=\"h-16 px-12 rounded-3xl font-black text-lg border-background/20 hover:bg-background hover:text-foreground transition-all\">Join the Newsletter</Button>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n","import { \n Button, \n Typography, \n Meteors\n} from '@/index';\n\nexport function StatusErrorCanvas404() {\n return (\n <div className=\"relative h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-hidden flex flex-col items-center justify-center p-6 text-center\">\n {/* 3D Grid Backdrop */}\n <div className=\"absolute inset-0 z-0 bg-[linear-gradient(to_right,#80808012_1px,transparent_1px),linear-gradient(to_bottom,#80808012_1px,transparent_1px)] bg-[size:40px_40px] [mask-image:radial-gradient(ellipse_60%_50%_at_50%_50%,#000_70%,transparent_100%)]\" />\n \n {/* Meteor Effects */}\n <div className=\"absolute inset-0 z-0 overflow-hidden pointer-events-none\">\n <Meteors count={12} />\n </div>\n\n <main className=\"relative z-10 max-w-4xl w-full flex flex-col items-center gap-12 animate-fade-up\">\n {/* Massive Primary Error Token */}\n <div className=\"space-y-4\">\n <div className=\"flex flex-col items-center\">\n <Typography variant=\"display\" className=\"text-9xl font-black tracking-tighter leading-none ui-gradient-text italic\">404</Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground text-xl font-medium opacity-80\">The requested primitive does not exist in this namespace.</Typography>\n </div>\n </div>\n\n {/* Visual Decoration */}\n <div className=\"relative size-80 group animate-pulse duration-[3000ms]\">\n <div className=\"absolute inset-0 bg-primary/10 blur-[100px] rounded-full group-hover:bg-primary/20 transition-all\" />\n <div className=\"absolute inset-0 bg-info/10 blur-[80px] rounded-full -translate-x-12 translate-y-12\" />\n <div className=\"relative size-full rounded-full border border-border/60 bg-muted/20 backdrop-blur-3xl flex items-center justify-center overflow-hidden\">\n <svg className=\"size-32 text-primary opacity-40\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth={1}><circle cx=\"12\" cy=\"12\" r=\"10\" /><path d=\"m15 9-6 6\" /><path d=\"m9 9 6 6\" /></svg>\n </div>\n </div>\n\n {/* Action Controls */}\n <div className=\"flex flex-wrap items-center justify-center gap-6\">\n <Button variant=\"primary\" size=\"lg\" className=\"h-14 px-10 rounded-2xl font-black shadow-glow bg-foreground text-background\">Force Return to Root</Button>\n <Button variant=\"outline\" size=\"lg\" className=\"h-14 px-10 rounded-2xl font-bold border-border/60\">Search Knowledge Base</Button>\n </div>\n\n {/* System Diagnostics */}\n <div className=\"flex items-center gap-8 text-[11px] font-black uppercase tracking-widest text-muted-foreground/60 select-none\">\n <div className=\"flex items-center gap-2\">\n <div className=\"size-2 rounded-full bg-success animate-pulse\" />\n <span>Nodes: Operational</span>\n </div>\n <div className=\"flex items-center gap-2\">\n <div className=\"size-2 rounded-full bg-warning animate-pulse\" />\n <span>Route: Unmapped</span>\n </div>\n <div className=\"flex items-center gap-2 border-l border-border/40 pl-8 italic\">\n <span>Aether v2.0.4</span>\n </div>\n </div>\n </main>\n </div>\n );\n}\n","import { \n InputField, \n Button, \n Badge, \n Typography, \n OrbitingCircles\n} from '@/index';\nimport { MarketingNavbar } from '../marketing/MarketingNavbar';\nimport { MarketingFooter } from '../marketing/MarketingFooter';\n\nexport function WaitlistCapturePage() {\n return (\n <div className=\"relative min-h-screen w-full bg-background selection:bg-primary/30 selection:text-primary overflow-x-hidden\">\n {/* Immersive Orbiting Background */}\n <div className=\"fixed inset-0 z-0 pointer-events-none opacity-20 overflow-hidden\">\n <div className=\"absolute top-[30%] left-[50%] -translate-x-1/2 -translate-y-1/2\">\n <OrbitingCircles radius={300} duration={40} delay={10} className=\"size-16 rounded-3xl bg-primary/20 border border-primary/40 blur-lg\" />\n <OrbitingCircles radius={500} duration={60} delay={5} className=\"size-24 rounded-[2rem] bg-info/20 border border-info/40 blur-xl\" />\n </div>\n </div>\n\n <MarketingNavbar />\n\n <main className=\"relative z-10 w-full pt-16\">\n <section className=\"px-6 py-32 md:py-48 flex flex-col items-center\">\n <div className=\"max-w-4xl w-full space-y-16 text-center\">\n <div className=\"space-y-6\">\n <Badge variant=\"soft-primary\" className=\"rounded-full px-6 py-2 font-black uppercase text-[10px] tracking-widest border-primary/20 bg-primary/5\">Private Alpha v0.9</Badge>\n <Typography variant=\"display\" className=\"text-6xl md:text-8xl lg:text-[10rem] font-black tracking-tighter leading-none text-foreground uppercase italic px-4\">Limited. <br /><span className=\"ui-gradient-text italic font-black decoration-primary/40 underline underline-offset-[24px]\">Primitive.</span></Typography>\n <Typography variant=\"lead\" className=\"text-muted-foreground max-w-2xl mx-auto font-medium text-lg md:text-2xl px-6\">Join the foundational 500 engineering teams shaping the next decade of sensory UI development.</Typography>\n </div>\n\n {/* High-Fidelity Capture Interface */}\n <div className=\"max-w-2xl mx-auto flex flex-col md:flex-row items-center gap-4 animate-fade-up\" style={{ animationDelay: '400ms' }}>\n <InputField \n label=\"\" \n placeholder=\"sarah@engineering.co\" \n className=\"flex-1 h-16 rounded-3xl bg-background/60 backdrop-blur-md border-border/60 hover:bg-background transition-all text-lg font-bold px-8 shadow-elevated\"\n />\n <Button variant=\"primary\" className=\"h-16 px-10 rounded-3xl font-black text-lg bg-foreground text-background shadow-glow whitespace-nowrap\">Request Access</Button>\n </div>\n\n {/* Social Proof Stats */}\n <div className=\"grid gap-8 md:grid-cols-3 pt-12 animate-fade-up\" style={{ animationDelay: '600ms' }}>\n {[\n { label: 'Developer Waitlist', value: '14,284' },\n { label: 'Cluster Provisioned', value: '114' },\n { label: 'Design Tokens', value: '840+' }\n ].map(stat => (\n <div key={stat.label} className=\"space-y-1 text-center p-6 border-x border-border/30 first:border-l-0 last:border-r-0\">\n <p className=\"text-3xl font-black tracking-tighter\">{stat.value}</p>\n <p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-muted-foreground\">{stat.label}</p>\n </div>\n ))}\n </div>\n </div>\n </section>\n\n {/* Global Node Map Placeholder */}\n <section className=\"px-6 py-32 border-t border-border/40 bg-muted/10 opacity-30\">\n <div className=\"max-w-7xl mx-auto text-center space-y-8\">\n <Typography variant=\"caption\" className=\"font-bold uppercase tracking-widest text-[10px]\">Global Node Network Propagation</Typography>\n <div className=\"h-96 w-full rounded-[4rem] border-2 border-dashed border-border/60 bg-muted/40 flex items-center justify-center italic font-black text-2xl\">\n [Immersive Global Node Visualization Placeholder]\n </div>\n </div>\n </section>\n </main>\n\n <MarketingFooter />\n </div>\n );\n}\n"]}