@appolabs/ui 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +181 -0
- package/dist/index.cjs +473 -234
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +59 -8
- package/dist/index.d.ts +59 -8
- package/dist/index.js +465 -235
- package/dist/index.js.map +1 -1
- package/dist/tailwind/preset.cjs +18 -0
- package/dist/tailwind/preset.js +18 -0
- package/package.json +1 -1
- package/src/styles/variables.css +24 -0
- package/tailwind/preset.ts +18 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/hooks/use-mobile.tsx","../src/hooks/use-toast.ts","../src/components/accordion.tsx","../src/components/alert.tsx","../src/components/button.tsx","../src/components/alert-dialog.tsx","../src/components/animated-background.tsx","../src/components/aspect-ratio.tsx","../src/components/avatar.tsx","../src/components/badge.tsx","../src/components/breadcrumb.tsx","../src/components/calendar.tsx","../src/components/card.tsx","../src/components/carousel.tsx","../src/components/chart.tsx","../src/components/checkbox.tsx","../src/components/collapsible.tsx","../src/components/dialog.tsx","../src/components/command.tsx","../src/components/context-menu.tsx","../src/components/drawer.tsx","../src/components/dropdown-menu.tsx","../src/components/label.tsx","../src/components/form.tsx","../src/components/glass-card.tsx","../src/components/hover-card.tsx","../src/components/input.tsx","../src/components/input-otp.tsx","../src/components/logo.tsx","../src/components/menubar.tsx","../src/components/navigation-menu.tsx","../src/components/pagination.tsx","../src/components/popover.tsx","../src/components/progress.tsx","../src/components/radio-group.tsx","../src/components/resizable.tsx","../src/components/scroll-area.tsx","../src/components/select.tsx","../src/components/separator.tsx","../src/components/sheet.tsx","../src/components/skeleton.tsx","../src/components/tooltip.tsx","../src/components/sidebar.tsx","../src/components/simple-tabs.tsx","../src/components/slider.tsx","../src/components/status-badge.tsx","../src/components/switch.tsx","../src/components/table.tsx","../src/components/tabs.tsx","../src/components/textarea.tsx","../src/components/toast.tsx","../src/components/toaster.tsx","../src/components/toggle.tsx","../src/components/toggle-group.tsx"],"names":["React","toast","props","React2","React3","React4","jsx","cva","React5","React6","jsxs","React7","React8","React9","Slot","Icon","ChevronRight","React10","React11","api","React12","config","Fragment","React13","CollapsibleTrigger","CollapsibleContent","React14","React15","CommandPrimitive","React16","Check","DrawerPrimitive","React17","React18","Circle","Label","React19","React20","React21","React22","React23","React24","React25","React26","ChevronDown","ChevronLeft","MoreHorizontal","React28","React29","RadioGroup","React30","React31","React32","Separator","React33","SheetPrimitive","React34","X","Tooltip","React35","open","React37","React38","React39","React40","React41","React42","React43","React44"],"mappings":"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","file":"index.js","sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","import * as React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from '../components/toast'\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n}\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n}\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n}\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n}\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? {...t, ...action.toast} : t\n ),\n }\n\n case \"DISMISS_TOAST\": {\n const {toastId} = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = {toasts: []}\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({...props}: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: {...props, id},\n })\n const dismiss = () => dispatch({type: \"DISMISS_TOAST\", toastId: id})\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({type: \"DISMISS_TOAST\", toastId}),\n }\n}\n\nexport {useToast, toast}\n","import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport {ChevronDown} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({className, ...props}, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({className, children, ...props}, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\"/>\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({className, children, ...props}, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-base transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport {Accordion, AccordionItem, AccordionTrigger, AccordionContent}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({className, variant, ...props}, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({variant}), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({className, ...props}, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"text-base [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport {Alert, AlertTitle, AlertDescription}\n","import * as React from \"react\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-base font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({className, variant, size, asChild = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({variant, size, className}))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport {Button, buttonVariants}\n","import * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport {cn} from \"../lib/utils\"\nimport {buttonVariants} from \"./button\"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({className, ...props}, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay/>\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({variant: \"outline\"}),\n \"mt-2 sm:mt-0\",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n","import * as React from \"react\"\nimport {cn} from \"../lib/utils\"\n\ninterface AnimatedBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: \"default\" | \"subtle\" | \"vibrant\" | \"dashboard\"\n showOrbs?: boolean\n showGrid?: boolean\n}\n\nconst AnimatedBackground = React.forwardRef<HTMLDivElement, AnimatedBackgroundProps>(\n ({className, variant = \"default\", showOrbs = true, showGrid = false, children, ...props}, ref) => {\n const isDashboard = variant === \"dashboard\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative min-h-screen overflow-hidden\",\n // Light mode backgrounds\n variant === \"default\" && \"bg-gradient-to-br from-slate-50 via-white to-slate-100\",\n variant === \"subtle\" && \"bg-gradient-to-br from-blue-50/50 via-white to-violet-50/50\",\n variant === \"vibrant\" && \"bg-gradient-to-br from-blue-100 via-white to-violet-100\",\n variant === \"dashboard\" && \"bg-background\",\n // Dark mode backgrounds\n !isDashboard && \"dark:from-slate-950 dark:via-slate-900 dark:to-slate-950\",\n className\n )}\n {...props}\n >\n {/* Dashboard mesh gradient */}\n {isDashboard && (\n <div className=\"pointer-events-none absolute inset-0 bg-mesh-gradient\" />\n )}\n\n {/* Grid pattern overlay */}\n {showGrid && (\n <div className=\"pointer-events-none absolute inset-0 bg-grid-pattern\" />\n )}\n\n {showOrbs && (\n <>\n {/* Animated gradient orbs */}\n <div\n className={cn(\n \"pointer-events-none absolute rounded-full bg-gradient-to-br blur-3xl\",\n isDashboard\n ? \"-left-32 -top-32 h-64 w-64 from-blue-500/10 to-violet-500/10 dark:from-blue-500/20 dark:to-violet-500/15\"\n : \"-left-40 -top-40 h-80 w-80 from-blue-400/20 to-violet-500/20 dark:from-blue-500/10 dark:to-violet-500/10\",\n \"animate-float\"\n )}\n />\n <div\n className={cn(\n \"pointer-events-none absolute rounded-full bg-gradient-to-br blur-3xl animate-float\",\n isDashboard\n ? \"-right-32 top-1/3 h-72 w-72 from-violet-500/10 to-purple-500/10 dark:from-violet-500/15 dark:to-purple-500/10\"\n : \"-right-40 top-1/4 h-96 w-96 from-violet-400/20 to-pink-500/20 dark:from-violet-500/10 dark:to-pink-500/10\"\n )}\n style={{animationDelay: \"-2s\"}}\n />\n {!isDashboard && (\n <div\n className=\"pointer-events-none absolute -bottom-20 left-1/3 h-72 w-72 rounded-full bg-gradient-to-br from-blue-500/15 to-cyan-400/15 blur-3xl animate-float dark:from-blue-600/10 dark:to-cyan-500/10\"\n style={{animationDelay: \"-4s\"}}\n />\n )}\n </>\n )}\n\n {/* Content */}\n <div className=\"relative z-10\">\n {children}\n </div>\n </div>\n )\n }\n)\nAnimatedBackground.displayName = \"AnimatedBackground\"\n\ninterface GradientOrbProps extends React.HTMLAttributes<HTMLDivElement> {\n color?: \"blue\" | \"violet\" | \"pink\" | \"cyan\"\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\"\n position?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\" | \"center\"\n blur?: \"sm\" | \"md\" | \"lg\" | \"xl\"\n animate?: boolean\n}\n\nconst GradientOrb = React.forwardRef<HTMLDivElement, GradientOrbProps>(\n ({\n className,\n color = \"blue\",\n size = \"md\",\n position = \"center\",\n blur = \"lg\",\n animate = true,\n ...props\n }, ref) => {\n const colorClasses = {\n blue: \"from-blue-400/30 to-blue-600/20 dark:from-blue-500/15 dark:to-blue-700/10\",\n violet: \"from-violet-400/30 to-violet-500/20 dark:from-violet-500/15 dark:to-violet-600/10\",\n pink: \"from-pink-400/30 to-pink-600/20 dark:from-pink-500/15 dark:to-pink-700/10\",\n cyan: \"from-cyan-400/30 to-cyan-600/20 dark:from-cyan-500/15 dark:to-cyan-700/10\",\n }\n\n const sizeClasses = {\n sm: \"h-32 w-32\",\n md: \"h-64 w-64\",\n lg: \"h-96 w-96\",\n xl: \"h-[32rem] w-[32rem]\",\n }\n\n const positionClasses = {\n \"top-left\": \"-left-20 -top-20\",\n \"top-right\": \"-right-20 -top-20\",\n \"bottom-left\": \"-left-20 -bottom-20\",\n \"bottom-right\": \"-right-20 -bottom-20\",\n \"center\": \"left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2\",\n }\n\n const blurClasses = {\n sm: \"blur-xl\",\n md: \"blur-2xl\",\n lg: \"blur-3xl\",\n xl: \"blur-[100px]\",\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"pointer-events-none absolute rounded-full bg-gradient-to-br\",\n colorClasses[color],\n sizeClasses[size],\n positionClasses[position],\n blurClasses[blur],\n animate && \"animate-float\",\n className\n )}\n {...props}\n />\n )\n }\n)\nGradientOrb.displayName = \"GradientOrb\"\n\nexport {AnimatedBackground, GradientOrb}\n","import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport {AspectRatio}\n","import * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({className, ...props}, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({className, ...props}, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({className, ...props}, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport {Avatar, AvatarImage, AvatarFallback}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {\n}\n\nfunction Badge({className, variant, ...props}: BadgeProps) {\n return (\n <div className={cn(badgeVariants({variant}), className)} {...props} />\n )\n}\n\nexport {Badge, badgeVariants}\n","import * as React from \"react\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {ChevronRight, MoreHorizontal} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<\"nav\"> & {\n separator?: React.ReactNode\n}\n>(({...props}, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<\"ol\">\n>(({className, ...props}, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-base text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({className, ...props}, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<\"a\"> & {\n asChild?: boolean\n}\n>(({asChild, className, ...props}, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({className, ...props}, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n }: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight/>}\n </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n }: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\"/>\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","import * as React from \"react\"\nimport {ChevronLeft, ChevronRight} from \"lucide-react\"\nimport {DayPicker} from \"react-day-picker\"\n\nimport {cn} from \"../lib/utils\"\nimport {buttonVariants} from \"./button\"\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n }: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-base font-medium\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({variant: \"outline\"}),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: \"h-9 w-9 text-center text-base p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20\",\n day: cn(\n buttonVariants({variant: \"ghost\"}),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100\"\n ),\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: ({orientation}) => {\n const Icon = orientation === \"left\" ? ChevronLeft : ChevronRight;\n return <Icon className=\"h-4 w-4\" />;\n },\n }}\n {...props}\n />\n )\n}\n\nCalendar.displayName = \"Calendar\"\n\nexport {Calendar}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col rounded-lg border bg-card text-card-foreground shadow-sm\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({className, ...props}, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => (\n <p\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div ref={ref} className={cn(\"flex-1 p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport {Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent}\n","import * as React from \"react\"\nimport useEmblaCarousel, {type UseEmblaCarouselType,} from \"embla-carousel-react\"\nimport {ArrowLeft, ArrowRight} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\nimport {Button} from \"./button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => {\n const {carouselRef, orientation} = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => {\n const {orientation} = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\n const {orientation, scrollPrev, canScrollPrev} = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\n const {orientation, scrollNext, canScrollNext} = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport {cn} from \"../lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = {light: \"\", dark: \".dark\"} as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n} & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n}\n>(({id, className, children, config, ...props}, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{config}}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config}/>\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({id, config}: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([_, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n}\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const {config} = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon/>\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n}\n>(\n (\n {className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey},\n ref\n ) => {\n const {config} = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon/>\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport {Check} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({className, ...props}, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"h-4 w-4\"/>\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport {Checkbox}\n","import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport {Collapsible, CollapsibleTrigger, CollapsibleContent}\n","import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport {X} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({className, children, ...props}, ref) => (\n <DialogPortal>\n <DialogOverlay/>\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({className, ...props}, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({className, ...props}, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","import * as React from \"react\"\nimport {type DialogProps} from \"@radix-ui/react-dialog\"\nimport {Command as CommandPrimitive} from \"cmdk\"\nimport {Search} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\nimport {Dialog, DialogContent} from \"./dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({className, ...props}, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {\n}\n\nconst CommandDialog = ({children, ...props}: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg rounded-lg\">\n <Command\n className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({className, ...props}, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\"/>\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-base\"\n {...props}\n />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","import * as React from \"react\"\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\nimport {Check, ChevronRight, Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ContextMenu = ContextMenuPrimitive.Root\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup\n\nconst ContextMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}\n>(({className, inset, children, ...props}, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\"/>\n </ContextMenuPrimitive.SubTrigger>\n))\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName\n\nconst ContextMenuSubContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({className, ...props}, ref) => (\n <ContextMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName\n\nconst ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({className, ...props}, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n))\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName\n\nconst ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <ContextMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({className, children, checked, ...props}, ref) => (\n <ContextMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n))\nContextMenuCheckboxItem.displayName =\n ContextMenuPrimitive.CheckboxItem.displayName\n\nconst ContextMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({className, children, ...props}, ref) => (\n <ContextMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\"/>\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n))\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName\n\nconst ContextMenuLabel = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-base font-semibold text-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName\n\nconst ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n))\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName\n\nconst ContextMenuShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nContextMenuShortcut.displayName = \"ContextMenuShortcut\"\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","import * as React from \"react\"\nimport {Drawer as DrawerPrimitive} from \"vaul\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n }: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = \"Drawer\"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({className, children, ...props}, ref) => (\n <DrawerPortal>\n <DrawerOverlay/>\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\"/>\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = \"DrawerContent\"\n\nconst DrawerHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = \"DrawerHeader\"\n\nconst DrawerFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = \"DrawerFooter\"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({className, ...props}, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({className, ...props}, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","import * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport {Check, ChevronRight, Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}\n>(({className, inset, children, ...props}, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\"/>\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({className, ...props}, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({className, sideOffset = 4, ...props}, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({className, children, checked, ...props}, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({className, children, ...props}, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\"/>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-base font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport { cn } from '../lib/utils'\n\nconst labelVariants = cva(\n \"text-base font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({className, ...props}, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport {Label}\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext,} from \"react-hook-form\"\n\nimport {cn} from \"../lib/utils\"\nimport {Label} from \"./label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n }: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{name: props.name}}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const {getFieldState, formState} = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n const {id} = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{id}}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({className, ...props}, ref) => {\n const {error, formItemId} = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({...props}, ref) => {\n const {error, formItemId, formDescriptionId, formMessageId} = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => {\n const {formDescriptionId} = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, children, ...props}, ref) => {\n const {error, formMessageId} = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-base font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {cn} from \"../lib/utils\"\n\nconst glassCardVariants = cva(\n \"rounded-2xl border backdrop-blur-xl transition-all duration-300\",\n {\n variants: {\n variant: {\n default: [\n \"bg-white/70 border-gray-200/50 shadow-sm\",\n \"dark:bg-white/5 dark:border-white/10 dark:shadow-lg\",\n ],\n elevated: [\n \"bg-white/80 border-gray-200/50 shadow-lg\",\n \"dark:bg-white/5 dark:border-white/10 dark:shadow-[0_8px_32px_rgba(0,0,0,0.3)]\",\n ],\n interactive: [\n \"bg-white/70 border-gray-200/50 shadow-sm cursor-pointer\",\n \"hover:bg-white/90 hover:border-gray-300/60 hover:shadow-md hover:-translate-y-0.5\",\n \"dark:bg-white/5 dark:border-white/10 dark:shadow-lg\",\n \"dark:hover:bg-white/10 dark:hover:border-white/20 dark:hover:shadow-[0_8px_32px_rgba(139,92,246,0.15)]\",\n ],\n hero: [\n \"bg-gradient-to-br from-white/80 via-white/70 to-purple-50/50 border-gray-200/50 shadow-lg\",\n \"dark:from-white/10 dark:via-white/5 dark:to-purple-900/10 dark:border-white/10\",\n ],\n stat: [\n \"bg-white/60 border-gray-200/40 shadow-sm\",\n \"dark:bg-white/[0.03] dark:border-white/[0.08]\",\n ],\n },\n padding: {\n none: \"\",\n sm: \"p-4\",\n default: \"p-6\",\n lg: \"p-8\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n padding: \"none\",\n },\n }\n)\n\nexport interface GlassCardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof glassCardVariants> {}\n\nconst GlassCard = React.forwardRef<HTMLDivElement, GlassCardProps>(\n ({className, variant, padding, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(glassCardVariants({variant, padding, className}))}\n {...props}\n />\n )\n)\nGlassCard.displayName = \"GlassCard\"\n\nconst GlassCardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nGlassCardHeader.displayName = \"GlassCardHeader\"\n\nconst GlassCardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({className, ...props}, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nGlassCardTitle.displayName = \"GlassCardTitle\"\n\nconst GlassCardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nGlassCardDescription.displayName = \"GlassCardDescription\"\n\nconst GlassCardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nGlassCardContent.displayName = \"GlassCardContent\"\n\nconst GlassCardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nGlassCardFooter.displayName = \"GlassCardFooter\"\n\nexport {\n GlassCard,\n GlassCardHeader,\n GlassCardFooter,\n GlassCardTitle,\n GlassCardDescription,\n GlassCardContent,\n glassCardVariants,\n}\n","import * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport {cn} from \"../lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({className, align = \"center\", sideOffset = 4, ...props}, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport {HoverCard, HoverCardTrigger, HoverCardContent}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({className, type, ...props}, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-base file:font-medium file:text-foreground placeholder:text-muted-foreground 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 className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport {Input}\n","import * as React from \"react\"\nimport {OTPInput, OTPInputContext} from \"input-otp\"\nimport {Dot} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({className, containerClassName, ...props}, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"flex items-center gap-2 has-[:disabled]:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n))\nInputOTP.displayName = \"InputOTP\"\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({className, ...props}, ref) => (\n <div ref={ref} className={cn(\"flex items-center\", className)} {...props} />\n))\nInputOTPGroup.displayName = \"InputOTPGroup\"\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({index, className, ...props}, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext)\n const {char, hasFakeCaret, isActive} = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md\",\n isActive && \"z-10 ring-2 ring-ring ring-offset-background\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\"/>\n </div>\n )}\n </div>\n )\n})\nInputOTPSlot.displayName = \"InputOTPSlot\"\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({...props}, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot/>\n </div>\n))\nInputOTPSeparator.displayName = \"InputOTPSeparator\"\n\nexport {InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator}\n","export interface LogoProps {\n /** Logo size variant */\n size?: 'sm' | 'md' | 'lg' | 'xl';\n /** Additional CSS classes */\n className?: string;\n /** Custom logo source (URL or data URI) */\n src?: string;\n /** Alt text for accessibility */\n alt?: string;\n}\n\nconst sizes = {\n sm: { height: 24 },\n md: { height: 32 },\n lg: { height: 40 },\n xl: { height: 48 },\n};\n\nexport function Logo({ size = 'md', className = '', src, alt = 'Logo' }: LogoProps) {\n const height = sizes[size].height;\n\n if (!src) {\n // Default placeholder - users should provide their own logo\n return (\n <div\n className={`flex items-center justify-center rounded bg-muted text-muted-foreground ${className}`}\n style={{ height: `${height}px`, width: `${height * 3}px` }}\n >\n <span className=\"text-xs font-medium\">Logo</span>\n </div>\n );\n }\n\n return (\n <div className={`flex items-center ${className}`}>\n <img\n src={src}\n alt={alt}\n style={{ height: `${height}px` }}\n className=\"max-w-none\"\n />\n </div>\n );\n}\n","import * as React from \"react\"\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport {Check, ChevronRight, Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst MenubarMenu: typeof MenubarPrimitive.Menu = MenubarPrimitive.Menu\n\nconst MenubarGroup: typeof MenubarPrimitive.Group = MenubarPrimitive.Group\n\nconst MenubarPortal: typeof MenubarPrimitive.Portal = MenubarPrimitive.Portal\n\nconst MenubarSub: typeof MenubarPrimitive.Sub = MenubarPrimitive.Sub\n\nconst MenubarRadioGroup: typeof MenubarPrimitive.RadioGroup = MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"flex h-10 items-center space-x-1 rounded-md border bg-background p-1\",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-base font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n}\n>(({className, inset, children, ...props}, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\"/>\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n {className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props},\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({className, children, checked, ...props}, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({className, children, ...props}, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\"/>\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-base font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayname = \"MenubarShortcut\"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n","import * as React from \"react\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport {cva} from \"class-variance-authority\"\nimport {ChevronDown} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({className, children, ...props}, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport/>\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({className, ...props}, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-base font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50\"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({className, children, ...props}, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({className, ...props}, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({className, ...props}, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({className, ...props}, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\"/>\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n}\n","import React from 'react';\nimport { Button } from './button';\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\nimport { cn } from '../lib/utils';\n\ninterface PaginationProps {\n currentPage: number;\n totalPages: number;\n onPageChange: (page: number) => void;\n showInfo?: boolean;\n totalItems?: number;\n itemsPerPage?: number;\n className?: string;\n}\n\nexport function Pagination({\n currentPage,\n totalPages,\n onPageChange,\n showInfo = false,\n totalItems = 0,\n itemsPerPage = 10,\n className\n }: PaginationProps) {\n if (totalPages <= 1) return null;\n\n const getVisiblePages = () => {\n const pages = [];\n const maxVisible = 5;\n\n if (totalPages <= maxVisible) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n if (currentPage <= 3) {\n for (let i = 1; i <= 4; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n } else if (currentPage >= totalPages - 2) {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n }\n }\n\n return pages;\n };\n\n const startItem = (currentPage - 1) * itemsPerPage + 1;\n const endItem = Math.min(currentPage * itemsPerPage, totalItems);\n\n return (\n <div className={cn(\"flex flex-col gap-4\", className)}>\n {showInfo && totalItems > 0 && (\n <div className=\"text-sm text-gray-700\">\n Mostrando <span className=\"font-medium\">{startItem}</span> - <span\n className=\"font-medium\">{endItem}</span> di{' '}\n <span className=\"font-medium\">{totalItems}</span> risultati\n </div>\n )}\n\n <div className=\"flex items-center justify-center gap-1\">\n {/* Previous Button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n className=\"h-9 w-9 p-0\"\n >\n <ChevronLeft className=\"h-4 w-4\"/>\n </Button>\n\n {/* Page Numbers */}\n {getVisiblePages().map((page, index) => (\n <React.Fragment key={index}>\n {page === 'ellipsis' ? (\n <div className=\"flex h-9 w-9 items-center justify-center\">\n <MoreHorizontal className=\"h-4 w-4 text-gray-400\"/>\n </div>\n ) : (\n <Button\n variant={currentPage === page ? \"default\" : \"outline\"}\n size=\"sm\"\n onClick={() => onPageChange(page as number)}\n className=\"h-9 w-9 p-0\"\n >\n {page}\n </Button>\n )}\n </React.Fragment>\n ))}\n\n {/* Next Button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n className=\"h-9 w-9 p-0\"\n >\n <ChevronRight className=\"h-4 w-4\"/>\n </Button>\n </div>\n </div>\n );\n}\n","import * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({className, align = \"center\", sideOffset = 4, ...props}, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport {Popover, PopoverTrigger, PopoverContent}\n","import * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({className, value, ...props}, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{transform: `translateX(-${100 - (value || 0)}%)`}}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport {Progress}\n","import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport {Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({className, ...props}, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({className, ...props}, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none 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 <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\"/>\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport {RadioGroup, RadioGroupItem}\n","import {GripVertical} from \"lucide-react\"\nimport * as ResizablePrimitive from \"react-resizable-panels\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ResizablePanelGroup = ({\n className,\n ...props\n }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (\n <ResizablePrimitive.PanelGroup\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n)\n\nconst ResizablePanel = ResizablePrimitive.Panel\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n }: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean\n}) => (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n \"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <GripVertical className=\"h-2.5 w-2.5\"/>\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n)\n\nexport {ResizablePanelGroup, ResizablePanel, ResizableHandle}\n","import * as React from \"react\"\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({className, children, ...props}, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar/>\n <ScrollAreaPrimitive.Corner/>\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({className, orientation = \"vertical\", ...props}, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\"/>\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport {ScrollArea, ScrollBar}\n","import * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport {Check, ChevronDown, ChevronUp} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({className, children, ...props}, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\"/>\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\"/>\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\"/>\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({className, children, position = \"popper\", ...props}, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton/>\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton/>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-base font-semibold\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({className, children, ...props}, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","import * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n {className, orientation = \"horizontal\", decorative = true, ...props},\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport {Separator}\n","import * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {X} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({side = \"right\", className, children, ...props}, ref) => (\n <SheetPortal>\n <SheetOverlay/>\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({side}), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = \"SheetHeader\"\n\nconst SheetFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = \"SheetFooter\"\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({className, ...props}, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({className, ...props}, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","import {cn} from \"../lib/utils\"\n\nfunction Skeleton({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport {Skeleton}\n","import * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport {cn} from \"../lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({className, sideOffset = 4, ...props}, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md border bg-popover px-2.5 py-1 text-xs text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport {Tooltip, TooltipTrigger, TooltipContent, TooltipProvider}\n","import * as React from \"react\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {cva, VariantProps} from \"class-variance-authority\"\nimport {PanelLeft} from \"lucide-react\"\n\nimport {useIsMobile} from \"../hooks/use-mobile\"\nimport {cn} from \"../lib/utils\"\nimport {Button} from \"./button\"\nimport {Input} from \"./input\"\nimport {Separator} from \"./separator\"\nimport {Sheet, SheetContent} from \"./sheet\"\nimport {Skeleton} from \"./skeleton\"\nimport {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger,} from \"./tooltip\"\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\"\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContext = {\n state: \"expanded\" | \"collapsed\"\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\")\n }\n\n return context\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n if (setOpenProp) {\n return setOpenProp?.(\n typeof value === \"function\" ? value(open) : value\n )\n }\n\n _setOpen(value)\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => window.removeEventListener(\"keydown\", handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\"\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper flex min-h-svh w-full text-sidebar-foreground has-[[data-variant=inset]]:bg-sidebar\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n }\n)\nSidebarProvider.displayName = \"SidebarProvider\"\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\"\n variant?: \"sidebar\" | \"floating\" | \"inset\"\n collapsible?: \"offcanvas\" | \"icon\" | \"none\"\n}\n>(\n (\n {\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n },\n ref\n ) => {\n const {isMobile, state, openMobile, setOpenMobile} = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n : \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n )}\n />\n <div\n className={cn(\n \"duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n : \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({className, onClick, ...props}, ref) => {\n const {toggleSidebar} = useSidebar()\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeft/>\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = \"SidebarTrigger\"\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\">\n>(({className, ...props}, ref) => {\n const {toggleSidebar} = useSidebar()\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n \"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarRail.displayName = \"SidebarRail\"\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"main\">\n>(({className, ...props}, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n \"relative flex min-h-svh flex-1 flex-col bg-background\",\n \"peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInset.displayName = \"SidebarInset\"\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n React.ComponentProps<typeof Input>\n>(({className, ...props}, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n \"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInput.displayName = \"SidebarInput\"\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = \"SidebarHeader\"\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = \"SidebarFooter\"\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({className, ...props}, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-sidebar-border\", className)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = \"SidebarSeparator\"\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarContent.displayName = \"SidebarContent\"\n\nconst SidebarGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n )\n})\nSidebarGroup.displayName = \"SidebarGroup\"\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & { asChild?: boolean }\n>(({className, asChild = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"div\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n \"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & { asChild?: boolean }\n>(({className, asChild = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n \"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = \"SidebarGroupAction\"\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-base\", className)}\n {...props}\n />\n))\nSidebarGroupContent.displayName = \"SidebarGroupContent\"\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({className, ...props}, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n))\nSidebarMenu.displayName = \"SidebarMenu\"\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({className, ...props}, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n))\nSidebarMenuItem.displayName = \"SidebarMenuItem\"\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-base outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-base\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-base group-data-[collapsible=icon]:!p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\"\n const {isMobile, state} = useSidebar()\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({variant, size}), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n }\n)\nSidebarMenuButton.displayName = \"SidebarMenuButton\"\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n showOnHover?: boolean\n}\n>(({className, asChild = false, showOnHover = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n \"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuAction.displayName = \"SidebarMenuAction\"\n\nconst SidebarMenuBadge = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n \"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n))\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\"\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n showIcon?: boolean\n}\n>(({className, showIcon = false, ...props}, ref) => {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn(\"rounded-md h-8 flex gap-2 px-2 items-center\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 flex-1 max-w-[--skeleton-width]\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\"\n\nconst SidebarMenuSub = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({className, ...props}, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n \"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n))\nSidebarMenuSub.displayName = \"SidebarMenuSub\"\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({...props}, ref) => <li ref={ref} {...props} />)\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\"\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<\"a\"> & {\n asChild?: boolean\n size?: \"sm\" | \"md\"\n isActive?: boolean\n}\n>(({asChild = false, size = \"md\", isActive, className, ...props}, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-base\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\"\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n","export interface TabItem {\n id: string;\n label: string;\n}\n\nexport interface SimpleTabsProps {\n tabs: TabItem[];\n activeTab: string;\n onTabChange: (tabId: string) => void;\n}\n\nexport function SimpleTabs({tabs, activeTab, onTabChange}: SimpleTabsProps) {\n return (\n <div className=\"flex gap-1 rounded-lg bg-muted/50 p-1\">\n {tabs.map((tab) => {\n const isActive = activeTab === tab.id;\n return (\n <button\n key={tab.id}\n onClick={() => onTabChange(tab.id)}\n className={`\n flex flex-1 items-center justify-center rounded-md px-4 py-2.5 text-sm font-medium transition-all\n ${isActive\n ? 'bg-background text-foreground shadow-sm'\n : 'text-muted-foreground hover:text-foreground'\n }\n `}\n >\n {tab.label}\n </button>\n );\n })}\n </div>\n );\n}\n","import * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({className, ...props}, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\"/>\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb\n className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\"/>\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport {Slider}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst statusBadgeVariants = cva(\n \"inline-flex items-center gap-1.5 rounded-full px-3 py-1 text-xs font-medium transition-colors\",\n {\n variants: {\n status: {\n pending:\n \"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400\",\n new:\n \"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400\",\n ready:\n \"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400\",\n completed:\n \"bg-violet-100 text-violet-800 dark:bg-violet-900/30 dark:text-violet-400\",\n not_published:\n \"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400\",\n waiting_publication:\n \"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400\",\n published:\n \"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400\",\n waiting_deletion:\n \"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400\",\n },\n },\n defaultVariants: {\n status: \"pending\",\n },\n }\n)\n\nconst statusLabels: Record<string, string> = {\n pending: \"In preparazione\",\n new: \"Creata\",\n ready: \"Pronta\",\n completed: \"Completata\",\n not_published: \"Not Published\",\n waiting_publication: \"Publishing...\",\n published: \"Published\",\n waiting_deletion: \"Deleting...\",\n}\n\nconst statusIcons: Record<string, React.ReactNode> = {\n pending: (\n <span className=\"relative flex h-2 w-2\">\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-amber-500\"></span>\n </span>\n ),\n new: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-blue-500\"></span>\n ),\n ready: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-green-500\"></span>\n ),\n completed: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-violet-500\"></span>\n ),\n not_published: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-gray-400\"></span>\n ),\n waiting_publication: (\n <span className=\"relative flex h-2 w-2\">\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-yellow-400 opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-yellow-500\"></span>\n </span>\n ),\n published: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-emerald-500\"></span>\n ),\n waiting_deletion: (\n <span className=\"relative flex h-2 w-2\">\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-red-400 opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-red-500\"></span>\n </span>\n ),\n}\n\nexport interface StatusBadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof statusBadgeVariants> {\n showIcon?: boolean\n label?: string\n}\n\nfunction StatusBadge({\n className,\n status,\n showIcon = true,\n label,\n ...props\n}: StatusBadgeProps) {\n const statusKey = status || \"pending\"\n const displayLabel = label || statusLabels[statusKey] || statusKey\n\n return (\n <div\n className={cn(statusBadgeVariants({status}), className)}\n {...props}\n >\n {showIcon && statusIcons[statusKey]}\n <span>{displayLabel}</span>\n </div>\n )\n}\n\nexport {StatusBadge, statusBadgeVariants, statusLabels}\n","import * as React from \"react\"\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({className, ...props}, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport {Switch}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({className, ...props}, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-base\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({className, ...props}, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({className, ...props}, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({className, ...props}, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({className, ...props}, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({className, ...props}, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({className, ...props}, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({className, ...props}, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","import * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({className, ...props}, ref) => (\n <div className=\"overflow-x-auto pb-1 hide-scrollbar\">\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-start rounded-md bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n </div>\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({className, ...props}, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-base font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({className, ...props}, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport {Tabs, TabsList, TabsTrigger, TabsContent}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({className, ...props}, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground 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 className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = \"Textarea\"\n\nexport {Textarea}\n","import * as React from \"react\"\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {X} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({className, variant, ...props}, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({variant}), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-base font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\"/>\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-base font-semibold\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-base opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n}\n","import {useToast} from \"../hooks/use-toast\"\nimport {Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport,} from \"./toast\"\n\nexport function Toaster() {\n const {toasts} = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({id, title, description, action, ...props}) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && (\n <ToastDescription>{description}</ToastDescription>\n )}\n </div>\n {action}\n <ToastClose/>\n </Toast>\n )\n })}\n <ToastViewport/>\n </ToastProvider>\n )\n}\n","import * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-base font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-10 px-3\",\n sm: \"h-9 px-2.5\",\n lg: \"h-11 px-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({className, variant, size, ...props}, ref) => (\n <TogglePrimitive.Root\n ref={ref}\n className={cn(toggleVariants({variant, size, className}))}\n {...props}\n />\n))\n\nToggle.displayName = TogglePrimitive.Root.displayName\n\nexport {Toggle, toggleVariants}\n","import * as React from \"react\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport {type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\nimport {toggleVariants} from \"./toggle\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n})\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({className, variant, size, children, ...props}, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn(\"flex items-center justify-center gap-1\", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{variant, size}}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n))\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({className, children, variant, size, ...props}, ref) => {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName\n\nexport {ToggleGroup, ToggleGroupItem}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/hooks/use-mobile.tsx","../src/hooks/use-toast.ts","../src/components/accordion.tsx","../src/components/alert.tsx","../src/components/button.tsx","../src/components/alert-dialog.tsx","../src/components/animated-background.tsx","../src/components/aspect-ratio.tsx","../src/components/avatar.tsx","../src/components/badge.tsx","../src/components/breadcrumb.tsx","../src/components/calendar.tsx","../src/components/card.tsx","../src/components/carousel.tsx","../src/components/chart.tsx","../src/components/checkbox.tsx","../src/components/collapsible.tsx","../src/components/dialog.tsx","../src/components/command.tsx","../src/components/context-menu.tsx","../src/components/drawer.tsx","../src/components/dropdown-menu.tsx","../src/components/label.tsx","../src/components/form.tsx","../src/components/glass-card.tsx","../src/components/glass-header.tsx","../src/components/glass-overlay.tsx","../src/components/glass-tabs.tsx","../src/components/hover-card.tsx","../src/components/input.tsx","../src/components/input-otp.tsx","../src/components/logo.tsx","../src/components/menubar.tsx","../src/components/navigation-menu.tsx","../src/components/pagination.tsx","../src/components/popover.tsx","../src/components/progress.tsx","../src/components/radio-group.tsx","../src/components/resizable.tsx","../src/components/scroll-area.tsx","../src/components/select.tsx","../src/components/separator.tsx","../src/components/sheet.tsx","../src/components/skeleton.tsx","../src/components/tooltip.tsx","../src/components/sidebar.tsx","../src/components/simple-tabs.tsx","../src/components/slider.tsx","../src/components/status-badge.tsx","../src/components/switch.tsx","../src/components/table.tsx","../src/components/tabs.tsx","../src/components/textarea.tsx","../src/components/toast.tsx","../src/components/toaster.tsx","../src/components/toggle.tsx","../src/components/toggle-group.tsx"],"names":["React","toast","props","React2","React3","React4","jsx","cva","React5","React6","jsxs","React7","React8","React9","Slot","Icon","ChevronRight","React10","React11","api","React12","config","Fragment","React13","CollapsibleTrigger","CollapsibleContent","React14","React15","CommandPrimitive","React16","Check","DrawerPrimitive","React17","React18","Circle","Label","React19","React20","React21","React22","React23","React24","React25","React26","React27","React28","React29","ChevronDown","ChevronLeft","MoreHorizontal","React31","React32","RadioGroup","React33","React34","React35","Separator","React36","SheetPrimitive","React37","X","React38","Tooltip","open","React40","React41","React42","React43","React44","React45","React46","React47"],"mappings":"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","file":"index.js","sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","import * as React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from '../components/toast'\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n}\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n}\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n}\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n}\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? {...t, ...action.toast} : t\n ),\n }\n\n case \"DISMISS_TOAST\": {\n const {toastId} = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = {toasts: []}\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({...props}: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: {...props, id},\n })\n const dismiss = () => dispatch({type: \"DISMISS_TOAST\", toastId: id})\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({type: \"DISMISS_TOAST\", toastId}),\n }\n}\n\nexport {useToast, toast}\n","import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport {ChevronDown} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({className, ...props}, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({className, children, ...props}, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\"/>\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({className, children, ...props}, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-base transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport {Accordion, AccordionItem, AccordionTrigger, AccordionContent}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({className, variant, ...props}, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({variant}), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({className, ...props}, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"text-base [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport {Alert, AlertTitle, AlertDescription}\n","import * as React from \"react\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-base font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({className, variant, size, asChild = false, disabled, ...props}, ref) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({variant, size, className}))}\n ref={ref}\n disabled={asChild ? undefined : disabled}\n aria-disabled={disabled ? \"true\" : undefined}\n {...props}\n />\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport {Button, buttonVariants}\n","import * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport {cn} from \"../lib/utils\"\nimport {buttonVariants} from \"./button\"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({className, ...props}, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay/>\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({className, ...props}, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({variant: \"outline\"}),\n \"mt-2 sm:mt-0\",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n","import * as React from \"react\"\nimport {cn} from \"../lib/utils\"\n\ninterface AnimatedBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: \"default\" | \"subtle\" | \"vibrant\" | \"dashboard\"\n showOrbs?: boolean\n showGrid?: boolean\n}\n\nconst AnimatedBackground = React.forwardRef<HTMLDivElement, AnimatedBackgroundProps>(\n ({className, variant = \"default\", showOrbs = true, showGrid = false, children, ...props}, ref) => {\n const isDashboard = variant === \"dashboard\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative min-h-screen overflow-hidden\",\n // Light mode backgrounds\n variant === \"default\" && \"bg-gradient-to-br from-slate-50 via-white to-slate-100\",\n variant === \"subtle\" && \"bg-gradient-to-br from-blue-50/50 via-white to-violet-50/50\",\n variant === \"vibrant\" && \"bg-gradient-to-br from-blue-100 via-white to-violet-100\",\n variant === \"dashboard\" && \"bg-background\",\n // Dark mode backgrounds\n !isDashboard && \"dark:from-slate-950 dark:via-slate-900 dark:to-slate-950\",\n className\n )}\n {...props}\n >\n {/* Dashboard mesh gradient */}\n {isDashboard && (\n <div className=\"pointer-events-none absolute inset-0 bg-mesh-gradient\" />\n )}\n\n {/* Grid pattern overlay */}\n {showGrid && (\n <div className=\"pointer-events-none absolute inset-0 bg-grid-pattern\" />\n )}\n\n {showOrbs && (\n <>\n {/* Animated gradient orbs */}\n <div\n className={cn(\n \"pointer-events-none absolute rounded-full bg-gradient-to-br blur-3xl\",\n isDashboard\n ? \"-left-32 -top-32 h-64 w-64 from-blue-500/10 to-violet-500/10 dark:from-blue-500/20 dark:to-violet-500/15\"\n : \"-left-40 -top-40 h-80 w-80 from-blue-400/20 to-violet-500/20 dark:from-blue-500/10 dark:to-violet-500/10\",\n \"animate-float\"\n )}\n />\n <div\n className={cn(\n \"pointer-events-none absolute rounded-full bg-gradient-to-br blur-3xl animate-float\",\n isDashboard\n ? \"-right-32 top-1/3 h-72 w-72 from-violet-500/10 to-purple-500/10 dark:from-violet-500/15 dark:to-purple-500/10\"\n : \"-right-40 top-1/4 h-96 w-96 from-violet-400/20 to-pink-500/20 dark:from-violet-500/10 dark:to-pink-500/10\"\n )}\n style={{animationDelay: \"-2s\"}}\n />\n {!isDashboard && (\n <div\n className=\"pointer-events-none absolute -bottom-20 left-1/3 h-72 w-72 rounded-full bg-gradient-to-br from-blue-500/15 to-cyan-400/15 blur-3xl animate-float dark:from-blue-600/10 dark:to-cyan-500/10\"\n style={{animationDelay: \"-4s\"}}\n />\n )}\n </>\n )}\n\n {/* Content */}\n <div className=\"relative z-10\">\n {children}\n </div>\n </div>\n )\n }\n)\nAnimatedBackground.displayName = \"AnimatedBackground\"\n\ninterface GradientOrbProps extends React.HTMLAttributes<HTMLDivElement> {\n color?: \"blue\" | \"violet\" | \"pink\" | \"cyan\"\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\"\n position?: \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\" | \"center\"\n blur?: \"sm\" | \"md\" | \"lg\" | \"xl\"\n animate?: boolean\n}\n\nconst GradientOrb = React.forwardRef<HTMLDivElement, GradientOrbProps>(\n ({\n className,\n color = \"blue\",\n size = \"md\",\n position = \"center\",\n blur = \"lg\",\n animate = true,\n ...props\n }, ref) => {\n const colorClasses = {\n blue: \"from-blue-400/30 to-blue-600/20 dark:from-blue-500/15 dark:to-blue-700/10\",\n violet: \"from-violet-400/30 to-violet-500/20 dark:from-violet-500/15 dark:to-violet-600/10\",\n pink: \"from-pink-400/30 to-pink-600/20 dark:from-pink-500/15 dark:to-pink-700/10\",\n cyan: \"from-cyan-400/30 to-cyan-600/20 dark:from-cyan-500/15 dark:to-cyan-700/10\",\n }\n\n const sizeClasses = {\n sm: \"h-32 w-32\",\n md: \"h-64 w-64\",\n lg: \"h-96 w-96\",\n xl: \"h-[32rem] w-[32rem]\",\n }\n\n const positionClasses = {\n \"top-left\": \"-left-20 -top-20\",\n \"top-right\": \"-right-20 -top-20\",\n \"bottom-left\": \"-left-20 -bottom-20\",\n \"bottom-right\": \"-right-20 -bottom-20\",\n \"center\": \"left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2\",\n }\n\n const blurClasses = {\n sm: \"blur-xl\",\n md: \"blur-2xl\",\n lg: \"blur-3xl\",\n xl: \"blur-[100px]\",\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"pointer-events-none absolute rounded-full bg-gradient-to-br\",\n colorClasses[color],\n sizeClasses[size],\n positionClasses[position],\n blurClasses[blur],\n animate && \"animate-float\",\n className\n )}\n {...props}\n />\n )\n }\n)\nGradientOrb.displayName = \"GradientOrb\"\n\nexport {AnimatedBackground, GradientOrb}\n","import * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport {AspectRatio}\n","import * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({className, ...props}, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({className, ...props}, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({className, ...props}, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport {Avatar, AvatarImage, AvatarFallback}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {\n}\n\nfunction Badge({className, variant, ...props}: BadgeProps) {\n return (\n <div className={cn(badgeVariants({variant}), className)} {...props} />\n )\n}\n\nexport {Badge, badgeVariants}\n","import * as React from \"react\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {ChevronRight, MoreHorizontal} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<\"nav\"> & {\n separator?: React.ReactNode\n}\n>(({...props}, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<\"ol\">\n>(({className, ...props}, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-base text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({className, ...props}, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<\"a\"> & {\n asChild?: boolean\n}\n>(({asChild, className, ...props}, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({className, ...props}, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n }: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight/>}\n </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n }: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\"/>\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","import * as React from \"react\"\nimport {ChevronLeft, ChevronRight} from \"lucide-react\"\nimport {DayPicker} from \"react-day-picker\"\n\nimport {cn} from \"../lib/utils\"\nimport {buttonVariants} from \"./button\"\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n }: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-base font-medium\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({variant: \"outline\"}),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: \"h-9 w-9 text-center text-base p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20\",\n day: cn(\n buttonVariants({variant: \"ghost\"}),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100\"\n ),\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: ({orientation}) => {\n const Icon = orientation === \"left\" ? ChevronLeft : ChevronRight;\n return <Icon className=\"h-4 w-4\" />;\n },\n }}\n {...props}\n />\n )\n}\n\nCalendar.displayName = \"Calendar\"\n\nexport {Calendar}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col rounded-lg border bg-card text-card-foreground shadow-sm\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({className, ...props}, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => (\n <p\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div ref={ref} className={cn(\"flex-1 p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport {Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent}\n","import * as React from \"react\"\nimport useEmblaCarousel, {type UseEmblaCarouselType,} from \"embla-carousel-react\"\nimport {ArrowLeft, ArrowRight} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\nimport {Button} from \"./button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => {\n const {carouselRef, orientation} = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => {\n const {orientation} = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\n const {orientation, scrollPrev, canScrollPrev} = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({className, variant = \"outline\", size = \"icon\", ...props}, ref) => {\n const {orientation, scrollNext, canScrollNext} = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","import * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport {cn} from \"../lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = {light: \"\", dark: \".dark\"} as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n} & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n}\n>(({id, className, children, config, ...props}, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{config}}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config}/>\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({id, config}: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([_, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n}\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const {config} = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon/>\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n}\n>(\n (\n {className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey},\n ref\n ) => {\n const {config} = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon/>\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport {Check} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({className, ...props}, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"h-4 w-4\"/>\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport {Checkbox}\n","import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport {Collapsible, CollapsibleTrigger, CollapsibleContent}\n","import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport {X} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({className, children, ...props}, ref) => (\n <DialogPortal>\n <DialogOverlay/>\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({className, ...props}, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({className, ...props}, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","import * as React from \"react\"\nimport {type DialogProps} from \"@radix-ui/react-dialog\"\nimport {Command as CommandPrimitive} from \"cmdk\"\nimport {Search} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\nimport {Dialog, DialogContent} from \"./dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({className, ...props}, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {\n}\n\nconst CommandDialog = ({children, ...props}: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg rounded-lg\">\n <Command\n className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({className, ...props}, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\"/>\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-base\"\n {...props}\n />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({className, ...props}, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","import * as React from \"react\"\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\nimport {Check, ChevronRight, Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ContextMenu = ContextMenuPrimitive.Root\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup\n\nconst ContextMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}\n>(({className, inset, children, ...props}, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\"/>\n </ContextMenuPrimitive.SubTrigger>\n))\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName\n\nconst ContextMenuSubContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({className, ...props}, ref) => (\n <ContextMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName\n\nconst ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({className, ...props}, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n))\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName\n\nconst ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <ContextMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({className, children, checked, ...props}, ref) => (\n <ContextMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n))\nContextMenuCheckboxItem.displayName =\n ContextMenuPrimitive.CheckboxItem.displayName\n\nconst ContextMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({className, children, ...props}, ref) => (\n <ContextMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <ContextMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\"/>\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n))\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName\n\nconst ContextMenuLabel = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-base font-semibold text-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName\n\nconst ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n))\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName\n\nconst ContextMenuShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nContextMenuShortcut.displayName = \"ContextMenuShortcut\"\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","import * as React from \"react\"\nimport {Drawer as DrawerPrimitive} from \"vaul\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n }: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = \"Drawer\"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({className, children, ...props}, ref) => (\n <DrawerPortal>\n <DrawerOverlay/>\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\"/>\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = \"DrawerContent\"\n\nconst DrawerHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = \"DrawerHeader\"\n\nconst DrawerFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = \"DrawerFooter\"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({className, ...props}, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({className, ...props}, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","import * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport {Check, ChevronRight, Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}\n>(({className, inset, children, ...props}, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\"/>\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({className, ...props}, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({className, sideOffset = 4, ...props}, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({className, children, checked, ...props}, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({className, children, ...props}, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\"/>\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-base font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport { cn } from '../lib/utils'\n\nconst labelVariants = cva(\n \"text-base font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({className, ...props}, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport {Label}\n","import * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext,} from \"react-hook-form\"\n\nimport {cn} from \"../lib/utils\"\nimport {Label} from \"./label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n }: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{name: props.name}}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const {getFieldState, formState} = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n const {id} = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{id}}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({className, ...props}, ref) => {\n const {error, formItemId} = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({...props}, ref) => {\n const {error, formItemId, formDescriptionId, formMessageId} = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => {\n const {formDescriptionId} = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, children, ...props}, ref) => {\n const {error, formMessageId} = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-base font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {cn} from \"../lib/utils\"\n\nconst glassCardVariants = cva(\n \"rounded-2xl border backdrop-blur-glass transition-all duration-300\",\n {\n variants: {\n variant: {\n default: [\n \"bg-glass border-glass-border shadow-glass\",\n ],\n elevated: [\n \"bg-glass-elevated border-glass-border shadow-glass-elevated\",\n ],\n subtle: [\n \"bg-glass-subtle border-glass-border-subtle\",\n ],\n interactive: [\n \"bg-glass border-glass-border shadow-glass cursor-pointer\",\n \"hover:bg-glass-elevated hover:shadow-glass-elevated hover:-translate-y-0.5\",\n ],\n hero: [\n \"bg-gradient-to-br from-glass-elevated via-glass to-primary/5 border-glass-border shadow-glass-elevated\",\n ],\n stat: [\n \"bg-glass-subtle border-glass-border-subtle\",\n ],\n auth: [\n \"bg-glass border-glass-border shadow-glass-elevated backdrop-blur-glass-strong\",\n ],\n },\n padding: {\n none: \"\",\n sm: \"p-4\",\n default: \"p-6\",\n lg: \"p-8\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n padding: \"none\",\n },\n }\n)\n\nexport interface GlassCardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof glassCardVariants> {}\n\nconst GlassCard = React.forwardRef<HTMLDivElement, GlassCardProps>(\n ({className, variant, padding, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(glassCardVariants({variant, padding, className}))}\n {...props}\n />\n )\n)\nGlassCard.displayName = \"GlassCard\"\n\nconst GlassCardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nGlassCardHeader.displayName = \"GlassCardHeader\"\n\nconst GlassCardTitle = React.forwardRef<\n HTMLHeadingElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({className, ...props}, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight text-glass-foreground\",\n className\n )}\n {...props}\n />\n))\nGlassCardTitle.displayName = \"GlassCardTitle\"\n\nconst GlassCardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({className, ...props}, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-glass-foreground-muted\", className)}\n {...props}\n />\n))\nGlassCardDescription.displayName = \"GlassCardDescription\"\n\nconst GlassCardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nGlassCardContent.displayName = \"GlassCardContent\"\n\nconst GlassCardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nGlassCardFooter.displayName = \"GlassCardFooter\"\n\nexport {\n GlassCard,\n GlassCardHeader,\n GlassCardFooter,\n GlassCardTitle,\n GlassCardDescription,\n GlassCardContent,\n glassCardVariants,\n}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {cn} from \"../lib/utils\"\n\nconst glassHeaderVariants = cva(\n \"rounded-2xl border border-glass-border backdrop-blur-glass shadow-glass transition-all duration-300\",\n {\n variants: {\n variant: {\n default: \"bg-glass\",\n elevated: \"bg-glass-elevated shadow-glass-elevated\",\n transparent: \"bg-transparent border-transparent shadow-none\",\n },\n sticky: {\n true: \"sticky top-0 z-50\",\n false: \"\",\n },\n padding: {\n none: \"\",\n sm: \"px-4 py-2\",\n default: \"px-4 py-3\",\n lg: \"px-6 py-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n sticky: false,\n padding: \"default\",\n },\n }\n)\n\nexport interface GlassHeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof glassHeaderVariants> {\n as?: \"header\" | \"div\" | \"nav\"\n}\n\nconst GlassHeader = React.forwardRef<HTMLElement, GlassHeaderProps>(\n ({className, variant, sticky, padding, as: Component = \"header\", ...props}, ref) => {\n return (\n <Component\n // @ts-expect-error - polymorphic ref type\n ref={ref}\n className={cn(glassHeaderVariants({variant, sticky, padding, className}))}\n {...props}\n />\n )\n }\n)\nGlassHeader.displayName = \"GlassHeader\"\n\nexport {GlassHeader, glassHeaderVariants}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {cn} from \"../lib/utils\"\n\nconst glassOverlayVariants = cva(\n \"fixed inset-0 transition-all duration-300\",\n {\n variants: {\n variant: {\n subtle: \"bg-black/20\",\n default: \"bg-black/40\",\n dark: \"bg-black/60\",\n light: \"bg-white/40\",\n },\n blur: {\n none: \"\",\n sm: \"backdrop-blur-sm\",\n default: \"backdrop-blur-glass\",\n strong: \"backdrop-blur-glass-strong\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n blur: \"default\",\n },\n }\n)\n\nexport interface GlassOverlayProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof glassOverlayVariants> {\n open?: boolean\n onClose?: () => void\n}\n\nconst GlassOverlay = React.forwardRef<HTMLDivElement, GlassOverlayProps>(\n ({className, variant, blur, open = true, onClose, ...props}, ref) => {\n if (!open) return null\n\n return (\n <div\n ref={ref}\n role=\"presentation\"\n aria-hidden=\"true\"\n onClick={onClose}\n className={cn(glassOverlayVariants({variant, blur, className}))}\n {...props}\n />\n )\n }\n)\nGlassOverlay.displayName = \"GlassOverlay\"\n\nexport {GlassOverlay, glassOverlayVariants}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {cn} from \"../lib/utils\"\n\nconst glassTabsContainerVariants = cva(\n \"flex gap-1 rounded-lg bg-glass-subtle p-1 backdrop-blur-glass\",\n {\n variants: {\n size: {\n sm: \"p-0.5\",\n default: \"p-1\",\n lg: \"p-1.5\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nconst glassTabVariants = cva(\n \"flex items-center justify-center rounded-md font-medium transition-all\",\n {\n variants: {\n size: {\n sm: \"px-3 py-1.5 text-xs\",\n default: \"px-4 py-2.5 text-sm\",\n lg: \"px-5 py-3 text-base\",\n },\n state: {\n active: \"bg-glass text-glass-foreground shadow-sm\",\n inactive: \"text-glass-foreground-muted hover:text-glass-foreground\",\n },\n },\n defaultVariants: {\n size: \"default\",\n state: \"inactive\",\n },\n }\n)\n\nexport interface TabItem {\n id: string\n label: string\n icon?: React.ReactNode\n disabled?: boolean\n}\n\nexport interface GlassTabsProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\">,\n VariantProps<typeof glassTabsContainerVariants> {\n tabs: TabItem[]\n activeTab: string\n onTabChange: (id: string) => void\n}\n\nconst GlassTabs = React.forwardRef<HTMLDivElement, GlassTabsProps>(\n ({className, tabs, activeTab, onTabChange, size, ...props}, ref) => {\n return (\n <div\n ref={ref}\n role=\"tablist\"\n className={cn(glassTabsContainerVariants({size, className}))}\n {...props}\n >\n {tabs.map((tab) => (\n <button\n key={tab.id}\n role=\"tab\"\n type=\"button\"\n aria-selected={activeTab === tab.id}\n aria-disabled={tab.disabled}\n disabled={tab.disabled}\n onClick={() => !tab.disabled && onTabChange(tab.id)}\n className={cn(\n glassTabVariants({\n size,\n state: activeTab === tab.id ? \"active\" : \"inactive\",\n }),\n \"flex-1\",\n tab.disabled && \"cursor-not-allowed opacity-50\"\n )}\n >\n {tab.icon && <span className=\"mr-2\">{tab.icon}</span>}\n {tab.label}\n </button>\n ))}\n </div>\n )\n }\n)\nGlassTabs.displayName = \"GlassTabs\"\n\nexport {GlassTabs, glassTabsContainerVariants, glassTabVariants}\n","import * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport {cn} from \"../lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({className, align = \"center\", sideOffset = 4, ...props}, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport {HoverCard, HoverCardTrigger, HoverCardContent}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst inputVariants = cva(\n \"flex h-10 w-full rounded-md px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-base file:font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: [\n \"border border-input bg-background text-foreground\",\n \"file:text-foreground placeholder:text-muted-foreground\",\n \"focus-visible:ring-ring\",\n ],\n glass: [\n \"border border-white/10 bg-white/5 text-white\",\n \"placeholder:text-slate-500 focus:border-primary\",\n \"focus-visible:ring-0 focus-visible:ring-offset-0\",\n ],\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement>,\n VariantProps<typeof inputVariants> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({className, type, variant, ...props}, ref) => {\n return (\n <input\n type={type}\n className={cn(inputVariants({variant, className}))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport {Input, inputVariants}\n","import * as React from \"react\"\nimport {OTPInput, OTPInputContext} from \"input-otp\"\nimport {Dot} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({className, containerClassName, ...props}, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"flex items-center gap-2 has-[:disabled]:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n))\nInputOTP.displayName = \"InputOTP\"\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({className, ...props}, ref) => (\n <div ref={ref} className={cn(\"flex items-center\", className)} {...props} />\n))\nInputOTPGroup.displayName = \"InputOTPGroup\"\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({index, className, ...props}, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext)\n const {char, hasFakeCaret, isActive} = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md\",\n isActive && \"z-10 ring-2 ring-ring ring-offset-background\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\"/>\n </div>\n )}\n </div>\n )\n})\nInputOTPSlot.displayName = \"InputOTPSlot\"\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({...props}, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot/>\n </div>\n))\nInputOTPSeparator.displayName = \"InputOTPSeparator\"\n\nexport {InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator}\n","export interface LogoProps {\n /** Logo size variant */\n size?: 'sm' | 'md' | 'lg' | 'xl';\n /** Additional CSS classes */\n className?: string;\n /** Custom logo source (URL or data URI) */\n src?: string;\n /** Alt text for accessibility */\n alt?: string;\n}\n\nconst sizes = {\n sm: { height: 24 },\n md: { height: 32 },\n lg: { height: 40 },\n xl: { height: 48 },\n};\n\nexport function Logo({ size = 'md', className = '', src, alt = 'Logo' }: LogoProps) {\n const height = sizes[size].height;\n\n if (!src) {\n // Default placeholder - users should provide their own logo\n return (\n <div\n className={`flex items-center justify-center rounded bg-muted text-muted-foreground ${className}`}\n style={{ height: `${height}px`, width: `${height * 3}px` }}\n >\n <span className=\"text-xs font-medium\">Logo</span>\n </div>\n );\n }\n\n return (\n <div className={`flex items-center ${className}`}>\n <img\n src={src}\n alt={alt}\n style={{ height: `${height}px` }}\n className=\"max-w-none\"\n />\n </div>\n );\n}\n","import * as React from \"react\"\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport {Check, ChevronRight, Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst MenubarMenu: typeof MenubarPrimitive.Menu = MenubarPrimitive.Menu\n\nconst MenubarGroup: typeof MenubarPrimitive.Group = MenubarPrimitive.Group\n\nconst MenubarPortal: typeof MenubarPrimitive.Portal = MenubarPrimitive.Portal\n\nconst MenubarSub: typeof MenubarPrimitive.Sub = MenubarPrimitive.Sub\n\nconst MenubarRadioGroup: typeof MenubarPrimitive.RadioGroup = MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"flex h-10 items-center space-x-1 rounded-md border bg-background p-1\",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-base font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n}\n>(({className, inset, children, ...props}, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\"/>\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n {className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props},\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({className, children, checked, ...props}, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({className, children, ...props}, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\"/>\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n}\n>(({className, inset, ...props}, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-base font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayname = \"MenubarShortcut\"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n","import * as React from \"react\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport {cva} from \"class-variance-authority\"\nimport {ChevronDown} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({className, children, ...props}, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport/>\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({className, ...props}, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-base font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50\"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({className, children, ...props}, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({className, ...props}, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({className, ...props}, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({className, ...props}, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\"/>\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n}\n","import React from 'react';\nimport { Button } from './button';\nimport { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\nimport { cn } from '../lib/utils';\n\ninterface PaginationProps {\n currentPage: number;\n totalPages: number;\n onPageChange: (page: number) => void;\n showInfo?: boolean;\n totalItems?: number;\n itemsPerPage?: number;\n className?: string;\n}\n\nexport function Pagination({\n currentPage,\n totalPages,\n onPageChange,\n showInfo = false,\n totalItems = 0,\n itemsPerPage = 10,\n className\n }: PaginationProps) {\n if (totalPages <= 1) return null;\n\n const getVisiblePages = () => {\n const pages = [];\n const maxVisible = 5;\n\n if (totalPages <= maxVisible) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n if (currentPage <= 3) {\n for (let i = 1; i <= 4; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n } else if (currentPage >= totalPages - 2) {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push('ellipsis');\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push(i);\n }\n pages.push('ellipsis');\n pages.push(totalPages);\n }\n }\n\n return pages;\n };\n\n const startItem = (currentPage - 1) * itemsPerPage + 1;\n const endItem = Math.min(currentPage * itemsPerPage, totalItems);\n\n return (\n <div className={cn(\"flex flex-col gap-4\", className)}>\n {showInfo && totalItems > 0 && (\n <div className=\"text-sm text-gray-700\">\n Mostrando <span className=\"font-medium\">{startItem}</span> - <span\n className=\"font-medium\">{endItem}</span> di{' '}\n <span className=\"font-medium\">{totalItems}</span> risultati\n </div>\n )}\n\n <div className=\"flex items-center justify-center gap-1\">\n {/* Previous Button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(currentPage - 1)}\n disabled={currentPage === 1}\n className=\"h-9 w-9 p-0\"\n >\n <ChevronLeft className=\"h-4 w-4\"/>\n </Button>\n\n {/* Page Numbers */}\n {getVisiblePages().map((page, index) => (\n <React.Fragment key={index}>\n {page === 'ellipsis' ? (\n <div className=\"flex h-9 w-9 items-center justify-center\">\n <MoreHorizontal className=\"h-4 w-4 text-gray-400\"/>\n </div>\n ) : (\n <Button\n variant={currentPage === page ? \"default\" : \"outline\"}\n size=\"sm\"\n onClick={() => onPageChange(page as number)}\n className=\"h-9 w-9 p-0\"\n >\n {page}\n </Button>\n )}\n </React.Fragment>\n ))}\n\n {/* Next Button */}\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => onPageChange(currentPage + 1)}\n disabled={currentPage === totalPages}\n className=\"h-9 w-9 p-0\"\n >\n <ChevronRight className=\"h-4 w-4\"/>\n </Button>\n </div>\n </div>\n );\n}\n","import * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({className, align = \"center\", sideOffset = 4, ...props}, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport {Popover, PopoverTrigger, PopoverContent}\n","import * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({className, value, ...props}, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{transform: `translateX(-${100 - (value || 0)}%)`}}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport {Progress}\n","import * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport {Circle} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({className, ...props}, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({className, ...props}, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none 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 <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\"/>\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport {RadioGroup, RadioGroupItem}\n","import {GripVertical} from \"lucide-react\"\nimport * as ResizablePrimitive from \"react-resizable-panels\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ResizablePanelGroup = ({\n className,\n ...props\n }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (\n <ResizablePrimitive.PanelGroup\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n)\n\nconst ResizablePanel = ResizablePrimitive.Panel\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n }: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean\n}) => (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n \"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <GripVertical className=\"h-2.5 w-2.5\"/>\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n)\n\nexport {ResizablePanelGroup, ResizablePanel, ResizableHandle}\n","import * as React from \"react\"\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({className, children, ...props}, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar/>\n <ScrollAreaPrimitive.Corner/>\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({className, orientation = \"vertical\", ...props}, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\"/>\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport {ScrollArea, ScrollBar}\n","import * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport {Check, ChevronDown, ChevronUp} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({className, children, ...props}, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\"/>\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\"/>\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\"/>\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({className, children, position = \"popper\", ...props}, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton/>\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton/>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-base font-semibold\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({className, children, ...props}, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-base outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\"/>\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({className, ...props}, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","import * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst separatorVariants = cva(\"shrink-0\", {\n variants: {\n variant: {\n default: \"bg-border\",\n glass: \"bg-glass-border\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n})\n\nexport interface SeparatorProps\n extends React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>,\n VariantProps<typeof separatorVariants> {}\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n SeparatorProps\n>(\n (\n {className, orientation = \"horizontal\", variant, decorative = true, ...props},\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n separatorVariants({variant}),\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport {Separator, separatorVariants}\n","import * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {X} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({className, ...props}, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({side = \"right\", className, children, ...props}, ref) => (\n <SheetPortal>\n <SheetOverlay/>\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({side}), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\"/>\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = \"SheetHeader\"\n\nconst SheetFooter = ({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = \"SheetFooter\"\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({className, ...props}, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({className, ...props}, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","import {cn} from \"../lib/utils\"\n\nfunction Skeleton({\n className,\n ...props\n }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport {Skeleton}\n","import * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport {cn} from \"../lib/utils\"\n\nconst TooltipProvider = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Provider>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>\n>(({delayDuration = 0, ...props}, _ref) => (\n <TooltipPrimitive.Provider delayDuration={delayDuration} {...props} />\n))\nTooltipProvider.displayName = \"TooltipProvider\"\n\ntype TooltipContextValue = {\n clickedOpen: boolean\n setClickedOpen: React.Dispatch<React.SetStateAction<boolean>>\n}\n\nconst TooltipContext = React.createContext<TooltipContextValue | null>(null)\n\ninterface TooltipProps\n extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root> {\n children: React.ReactNode\n}\n\nconst Tooltip = ({children, open, onOpenChange, ...props}: TooltipProps) => {\n const [clickedOpen, setClickedOpen] = React.useState(false)\n const isControlled = open !== undefined\n const isOpen = isControlled ? open : clickedOpen || undefined\n\n const handleOpenChange = (newOpen: boolean) => {\n if (clickedOpen && !newOpen) {\n // Don't close from hover when clicked open\n return\n }\n onOpenChange?.(newOpen)\n }\n\n // Close on click outside\n React.useEffect(() => {\n if (!clickedOpen) return\n\n const handleClickOutside = () => {\n setClickedOpen(false)\n }\n\n const timeoutId = setTimeout(() => {\n document.addEventListener(\"click\", handleClickOutside)\n }, 0)\n\n return () => {\n clearTimeout(timeoutId)\n document.removeEventListener(\"click\", handleClickOutside)\n }\n }, [clickedOpen])\n\n return (\n <TooltipContext.Provider value={{clickedOpen, setClickedOpen}}>\n <TooltipPrimitive.Root\n open={isOpen}\n onOpenChange={handleOpenChange}\n {...props}\n >\n {children}\n </TooltipPrimitive.Root>\n </TooltipContext.Provider>\n )\n}\n\nconst TooltipTrigger = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Trigger>\n>(({onClick, ...props}, ref) => {\n const context = React.useContext(TooltipContext)\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (context) {\n e.stopPropagation()\n context.setClickedOpen((prev) => !prev)\n }\n onClick?.(e)\n }\n\n return <TooltipPrimitive.Trigger ref={ref} onClick={handleClick} {...props} />\n})\nTooltipTrigger.displayName = \"TooltipTrigger\"\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({className, sideOffset = 4, ...props}, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md border bg-popover px-2.5 py-1 text-xs text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport {Tooltip, TooltipTrigger, TooltipContent, TooltipProvider}\n","import * as React from \"react\"\nimport {Slot} from \"@radix-ui/react-slot\"\nimport {cva, VariantProps} from \"class-variance-authority\"\nimport {PanelLeft} from \"lucide-react\"\n\nimport {useIsMobile} from \"../hooks/use-mobile\"\nimport {cn} from \"../lib/utils\"\nimport {Button} from \"./button\"\nimport {Input} from \"./input\"\nimport {Separator} from \"./separator\"\nimport {Sheet, SheetContent} from \"./sheet\"\nimport {Skeleton} from \"./skeleton\"\nimport {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger,} from \"./tooltip\"\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\"\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContext = {\n state: \"expanded\" | \"collapsed\"\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\")\n }\n\n return context\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n if (setOpenProp) {\n return setOpenProp?.(\n typeof value === \"function\" ? value(open) : value\n )\n }\n\n _setOpen(value)\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener(\"keydown\", handleKeyDown)\n return () => window.removeEventListener(\"keydown\", handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\"\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper flex min-h-svh w-full text-sidebar-foreground has-[[data-variant=inset]]:bg-sidebar\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n }\n)\nSidebarProvider.displayName = \"SidebarProvider\"\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\"\n variant?: \"sidebar\" | \"floating\" | \"inset\"\n collapsible?: \"offcanvas\" | \"icon\" | \"none\"\n}\n>(\n (\n {\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n },\n ref\n ) => {\n const {isMobile, state, openMobile, setOpenMobile} = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n : \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n )}\n />\n <div\n className={cn(\n \"duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n : \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({className, onClick, ...props}, ref) => {\n const {toggleSidebar} = useSidebar()\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeft/>\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = \"SidebarTrigger\"\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\">\n>(({className, ...props}, ref) => {\n const {toggleSidebar} = useSidebar()\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n \"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarRail.displayName = \"SidebarRail\"\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"main\">\n>(({className, ...props}, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n \"relative flex min-h-svh flex-1 flex-col bg-background\",\n \"peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInset.displayName = \"SidebarInset\"\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n React.ComponentProps<typeof Input>\n>(({className, ...props}, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n \"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInput.displayName = \"SidebarInput\"\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = \"SidebarHeader\"\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = \"SidebarFooter\"\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({className, ...props}, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-sidebar-border\", className)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = \"SidebarSeparator\"\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarContent.displayName = \"SidebarContent\"\n\nconst SidebarGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n )\n})\nSidebarGroup.displayName = \"SidebarGroup\"\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & { asChild?: boolean }\n>(({className, asChild = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"div\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n \"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & { asChild?: boolean }\n>(({className, asChild = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n \"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = \"SidebarGroupAction\"\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-base\", className)}\n {...props}\n />\n))\nSidebarGroupContent.displayName = \"SidebarGroupContent\"\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({className, ...props}, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n))\nSidebarMenu.displayName = \"SidebarMenu\"\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({className, ...props}, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n))\nSidebarMenuItem.displayName = \"SidebarMenuItem\"\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-base outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-base\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-base group-data-[collapsible=icon]:!p-0\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\"\n const {isMobile, state} = useSidebar()\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({variant, size}), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n }\n)\nSidebarMenuButton.displayName = \"SidebarMenuButton\"\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n showOnHover?: boolean\n}\n>(({className, asChild = false, showOnHover = false, ...props}, ref) => {\n const Comp = asChild ? Slot : \"button\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n \"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuAction.displayName = \"SidebarMenuAction\"\n\nconst SidebarMenuBadge = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({className, ...props}, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n \"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n))\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\"\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n showIcon?: boolean\n}\n>(({className, showIcon = false, ...props}, ref) => {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn(\"rounded-md h-8 flex gap-2 px-2 items-center\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 flex-1 max-w-[--skeleton-width]\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\"\n\nconst SidebarMenuSub = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({className, ...props}, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n \"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n))\nSidebarMenuSub.displayName = \"SidebarMenuSub\"\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({...props}, ref) => <li ref={ref} {...props} />)\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\"\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<\"a\"> & {\n asChild?: boolean\n size?: \"sm\" | \"md\"\n isActive?: boolean\n}\n>(({asChild = false, size = \"md\", isActive, className, ...props}, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-base\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\"\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n","export interface TabItem {\n id: string;\n label: string;\n}\n\nexport interface SimpleTabsProps {\n tabs: TabItem[];\n activeTab: string;\n onTabChange: (tabId: string) => void;\n}\n\nexport function SimpleTabs({tabs, activeTab, onTabChange}: SimpleTabsProps) {\n return (\n <div className=\"flex gap-1 rounded-lg bg-muted/50 p-1\">\n {tabs.map((tab) => {\n const isActive = activeTab === tab.id;\n return (\n <button\n key={tab.id}\n onClick={() => onTabChange(tab.id)}\n className={`\n flex flex-1 items-center justify-center rounded-md px-4 py-2.5 text-sm font-medium transition-all\n ${isActive\n ? 'bg-background text-foreground shadow-sm'\n : 'text-muted-foreground hover:text-foreground'\n }\n `}\n >\n {tab.label}\n </button>\n );\n })}\n </div>\n );\n}\n","import * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({className, ...props}, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\"/>\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb\n className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\"/>\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport {Slider}\n","import * as React from \"react\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst statusBadgeVariants = cva(\n \"inline-flex items-center gap-1.5 rounded-full px-3 py-1 text-xs font-medium transition-colors\",\n {\n variants: {\n status: {\n pending:\n \"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400\",\n new:\n \"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400\",\n ready:\n \"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400\",\n completed:\n \"bg-violet-100 text-violet-800 dark:bg-violet-900/30 dark:text-violet-400\",\n not_published:\n \"bg-gray-100 text-gray-600 dark:bg-gray-800 dark:text-gray-400\",\n waiting_publication:\n \"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400\",\n published:\n \"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400\",\n waiting_deletion:\n \"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400\",\n },\n },\n defaultVariants: {\n status: \"pending\",\n },\n }\n)\n\nconst statusLabels: Record<string, string> = {\n pending: \"In preparazione\",\n new: \"Creata\",\n ready: \"Pronta\",\n completed: \"Completata\",\n not_published: \"Not Published\",\n waiting_publication: \"Publishing...\",\n published: \"Published\",\n waiting_deletion: \"Deleting...\",\n}\n\nconst statusIcons: Record<string, React.ReactNode> = {\n pending: (\n <span className=\"relative flex h-2 w-2\">\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-amber-400 opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-amber-500\"></span>\n </span>\n ),\n new: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-blue-500\"></span>\n ),\n ready: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-green-500\"></span>\n ),\n completed: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-violet-500\"></span>\n ),\n not_published: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-gray-400\"></span>\n ),\n waiting_publication: (\n <span className=\"relative flex h-2 w-2\">\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-yellow-400 opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-yellow-500\"></span>\n </span>\n ),\n published: (\n <span className=\"inline-flex rounded-full h-2 w-2 bg-emerald-500\"></span>\n ),\n waiting_deletion: (\n <span className=\"relative flex h-2 w-2\">\n <span className=\"animate-ping absolute inline-flex h-full w-full rounded-full bg-red-400 opacity-75\"></span>\n <span className=\"relative inline-flex rounded-full h-2 w-2 bg-red-500\"></span>\n </span>\n ),\n}\n\nexport interface StatusBadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof statusBadgeVariants> {\n showIcon?: boolean\n label?: string\n}\n\nfunction StatusBadge({\n className,\n status,\n showIcon = true,\n label,\n ...props\n}: StatusBadgeProps) {\n const statusKey = status || \"pending\"\n const displayLabel = label || statusLabels[statusKey] || statusKey\n\n return (\n <div\n className={cn(statusBadgeVariants({status}), className)}\n {...props}\n >\n {showIcon && statusIcons[statusKey]}\n <span>{displayLabel}</span>\n </div>\n )\n}\n\nexport {StatusBadge, statusBadgeVariants, statusLabels}\n","import * as React from \"react\"\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({className, ...props}, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport {Switch}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({className, ...props}, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-base\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({className, ...props}, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({className, ...props}, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({className, ...props}, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({className, ...props}, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({className, ...props}, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({className, ...props}, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({className, ...props}, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-base text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","import * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport {cn} from \"../lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({className, ...props}, ref) => (\n <div className=\"overflow-x-auto pb-1 hide-scrollbar\">\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-start rounded-md bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n </div>\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({className, ...props}, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-base font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({className, ...props}, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport {Tabs, TabsList, TabsTrigger, TabsContent}\n","import * as React from \"react\"\n\nimport {cn} from \"../lib/utils\"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({className, ...props}, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground 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 className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = \"Textarea\"\n\nexport {Textarea}\n","import * as React from \"react\"\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\nimport {X} from \"lucide-react\"\n\nimport {cn} from \"../lib/utils\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[9999] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({className, variant, ...props}, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({variant}), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-base font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n {...props}\n >\n <X className=\"h-4 w-4\"/>\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-base font-semibold\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({className, ...props}, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-base opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n}\n","import {useToast} from \"../hooks/use-toast\"\nimport {Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport,} from \"./toast\"\n\nexport function Toaster() {\n const {toasts} = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({id, title, description, action, ...props}) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && (\n <ToastDescription>{description}</ToastDescription>\n )}\n </div>\n {action}\n <ToastClose/>\n </Toast>\n )\n })}\n <ToastViewport/>\n </ToastProvider>\n )\n}\n","import * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport {cva, type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-base font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-10 px-3\",\n sm: \"h-9 px-2.5\",\n lg: \"h-11 px-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({className, variant, size, ...props}, ref) => (\n <TogglePrimitive.Root\n ref={ref}\n className={cn(toggleVariants({variant, size, className}))}\n {...props}\n />\n))\n\nToggle.displayName = TogglePrimitive.Root.displayName\n\nexport {Toggle, toggleVariants}\n","import * as React from \"react\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport {type VariantProps} from \"class-variance-authority\"\n\nimport {cn} from \"../lib/utils\"\nimport {toggleVariants} from \"./toggle\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n})\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({className, variant, size, children, ...props}, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn(\"flex items-center justify-center gap-1\", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{variant, size}}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n))\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({className, children, variant, size, ...props}, ref) => {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName\n\nexport {ToggleGroup, ToggleGroupItem}\n"]}
|