@alquimia-ai/ui 1.9.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/components/atoms/index.d.mts +1 -1
  2. package/dist/components/atoms/index.d.ts +1 -1
  3. package/dist/components/atoms/index.js +1848 -1428
  4. package/dist/components/atoms/index.js.map +1 -1
  5. package/dist/components/atoms/index.mjs +1453 -1409
  6. package/dist/components/atoms/index.mjs.map +1 -1
  7. package/dist/components/hooks/index.d.mts +1 -0
  8. package/dist/components/hooks/index.d.ts +1 -0
  9. package/dist/components/hooks/index.js +572 -211
  10. package/dist/components/hooks/index.js.map +1 -1
  11. package/dist/components/hooks/index.mjs +505 -193
  12. package/dist/components/hooks/index.mjs.map +1 -1
  13. package/dist/components/molecules/documents/index.d.mts +1 -0
  14. package/dist/components/molecules/documents/index.d.ts +1 -0
  15. package/dist/components/molecules/documents/index.js +2366 -1884
  16. package/dist/components/molecules/documents/index.js.map +1 -1
  17. package/dist/components/molecules/documents/index.mjs +2207 -1764
  18. package/dist/components/molecules/documents/index.mjs.map +1 -1
  19. package/dist/components/molecules/index.js +2261 -2095
  20. package/dist/components/molecules/index.js.map +1 -1
  21. package/dist/components/molecules/index.mjs +2084 -2075
  22. package/dist/components/molecules/index.mjs.map +1 -1
  23. package/dist/components/molecules/viewers/index.js +1303 -1185
  24. package/dist/components/molecules/viewers/index.js.map +1 -1
  25. package/dist/components/molecules/viewers/index.mjs +1254 -1167
  26. package/dist/components/molecules/viewers/index.mjs.map +1 -1
  27. package/dist/components/organisms/index.d.mts +1 -0
  28. package/dist/components/organisms/index.d.ts +1 -0
  29. package/dist/components/organisms/index.js +3074 -2609
  30. package/dist/components/organisms/index.js.map +1 -1
  31. package/dist/components/organisms/index.mjs +2999 -2586
  32. package/dist/components/organisms/index.mjs.map +1 -1
  33. package/dist/components/templates/index.d.mts +25 -3
  34. package/dist/components/templates/index.d.ts +25 -3
  35. package/dist/components/templates/index.js +1490 -1300
  36. package/dist/components/templates/index.js.map +1 -1
  37. package/dist/components/templates/index.mjs +1413 -1281
  38. package/dist/components/templates/index.mjs.map +1 -1
  39. package/dist/index.d.mts +4 -3
  40. package/dist/index.d.ts +4 -3
  41. package/dist/index.js +3951 -2977
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.mjs +3368 -2950
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/lib/index.js +106 -54
  46. package/dist/lib/index.js.map +1 -1
  47. package/dist/lib/index.mjs +42 -43
  48. package/dist/lib/index.mjs.map +1 -1
  49. package/dist/providers/index.d.mts +17 -0
  50. package/dist/providers/index.d.ts +17 -0
  51. package/dist/providers/index.js +177 -0
  52. package/dist/providers/index.js.map +1 -0
  53. package/dist/providers/index.mjs +101 -0
  54. package/dist/providers/index.mjs.map +1 -0
  55. package/dist/styles.css +68 -0
  56. package/dist/styles.css.map +1 -0
  57. package/dist/styles.d.mts +2 -0
  58. package/dist/styles.d.ts +2 -0
  59. package/dist/tailwind.config.js +4 -10
  60. package/dist/types/index.d.mts +5 -5
  61. package/dist/types/index.d.ts +5 -5
  62. package/dist/types/index.js +52 -19
  63. package/dist/types/index.js.map +1 -1
  64. package/dist/types/index.mjs +6 -8
  65. package/dist/types/index.mjs.map +1 -1
  66. package/package.json +8 -7
  67. package/dist/components/index.d.mts +0 -23
  68. package/dist/components/index.d.ts +0 -23
  69. package/dist/components/index.js +0 -1734
  70. package/dist/components/index.js.map +0 -1
  71. package/dist/components/index.mjs +0 -1702
  72. package/dist/components/index.mjs.map +0 -1
  73. package/dist/components/templates/cards/index.d.mts +0 -26
  74. package/dist/components/templates/cards/index.d.ts +0 -26
  75. package/dist/components/templates/cards/index.js +0 -1536
  76. package/dist/components/templates/cards/index.js.map +0 -1
  77. package/dist/components/templates/cards/index.mjs +0 -1504
  78. package/dist/components/templates/cards/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils.ts","../../../../src/components/atoms/ui/button.tsx","../../../../src/components/atoms/ui/textarea.tsx","../../../../src/components/atoms/ui/input.tsx","../../../../src/components/atoms/ui/select.tsx","../../../../src/components/atoms/ui/avatar.tsx","../../../../src/components/atoms/ui/scroll-area.tsx","../../../../src/components/atoms/ui/rich-text.tsx","../../../../src/components/atoms/ui/skeleton.tsx","../../../../src/components/atoms/ui/card.tsx","../../../../src/components/atoms/ui/drawer.tsx","../../../../src/components/atoms/ui/typography/index.tsx","../../../../src/components/atoms/ui/badge.tsx","../../../../src/components/atoms/ui/alert.tsx","../../../../src/components/atoms/ui/label.tsx","../../../../src/components/atoms/ui/checkbox.tsx","../../../../src/components/atoms/ui/toggle.tsx","../../../../src/components/atoms/ui/slider.tsx","../../../../src/components/atoms/ui/switch.tsx","../../../../src/components/atoms/ui/tabs.tsx","../../../../src/components/atoms/ui/aspect-ratio.tsx","../../../../src/components/atoms/ui/table.tsx","../../../../src/components/atoms/ui/breadcrumb.tsx","../../../../src/components/molecules/alert-dialog.tsx","../../../../src/components/atoms/ui/popover.tsx","../../../../src/components/atoms/ui/dialog.tsx","../../../../src/components/atoms/ui/command.tsx","../../../../src/components/atoms/ui/toast.tsx","../../../../src/components/atoms/ui/loader.tsx","../../../../src/components/atoms/ui/separator.tsx","../../../../src/components/hooks/use-toast.ts","../../../../src/components/atoms/ui/toaster.tsx","../../../../src/components/atoms/ui/think-indicator.tsx","../../../../src/components/atoms/index.ts","../../../../src/components/hooks/use-resize-observer.ts","../../../../src/components/molecules/viewers/pdf-viewer.tsx","../../../../src/components/molecules/viewers/plain-text-viewer.tsx","../../../../src/components/molecules/documents/document-selector.tsx","../../../../src/components/molecules/documents/document-viewer.tsx","../../../../src/components/hooks/use-document.tsx"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function parseTextToSpeech(content: string) {\n return content.replace(/[^\\p{L}\\p{N}\\s.,:]/gu, '');\n}\n\n\nexport function blobToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n};\n\nexport const truncateString = (str: string, maxLength: number): string => {\n if (str.length <= maxLength) {\n return str;\n }\n return str.slice(0, maxLength) + \"...\";\n};\n\nexport function getCookies(name: string) {\n if (typeof document === 'undefined') return undefined;\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop()?.split(\";\").shift();\n}\n\nexport function hasToolResult(data: any) {\n return data?.tool_output?.result && Object.keys(data.tool_output.result).length > 0;\n}\n\nexport function getErrorMessage(error_code?: string) {\n switch (error_code) {\n case \"STREAM_ERROR\":\n return \"Connection lost. Please try again.\";\n case \"REQUEST_ERROR\":\n return \"There was a problem with your request. Please try again.\";\n case \"401\":\n case \"403\":\n return \"You are not authorized. Please try again.\";\n case \"404\":\n return \"Resource not found.\";\n case \"500\":\n return \"Server error. Please try again later.\";\n default:\n return \"We have an internal error, please try again later.\";\n }\n}\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-sm 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\";\n\nimport { cn } from \"../../../lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\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-sm 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 \"alq--textarea\"\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","import { forwardRef } from \"react\";\n\nimport { cn } from \"../../../lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = 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-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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 \"alq--input\"\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\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-sm 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 \"alq--select\"\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-sm 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-sm 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","\"use client\"\n\nimport * 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","\"use client\"\n\nimport * 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 ReactMarkdown from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport { cn } from \"../../../lib/utils\";\n\ninterface RichTextProps extends React.HTMLAttributes<HTMLDivElement> {\n content: string;\n className?: string;\n}\n\nfunction RichText({ content, className }: RichTextProps) {\n return (\n <ReactMarkdown className={cn(className)} remarkPlugins={[remarkGfm]}>\n {content}\n </ReactMarkdown>\n );\n}\n\nexport { RichText };\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 text-muted-foreground\", className, \"alq--skeleton\")}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\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 \"rounded-lg\",\n \" border\",\n \"bg-card\",\n \"text-card-foreground\",\n \"shadow-raised\",\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(\"alq--typography-heading4\", className)}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\";\n\nimport * 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 border-border bg-background text-foreground alq--drawer-content\",\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, \"alq--drawer-header\")}\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, \"alq--drawer-footer\")}\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 \"alq--drawer-title\"\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-sm text-muted-foreground\", className, \"alq--drawer-description\")}\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 { cn } from \"../../../../lib/utils\";\nimport { forwardRef } from \"react\";\n\nexport interface TypographyProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\";\n typeStyle:\n | \"display\"\n | \"heading1\"\n | \"heading2\"\n | \"heading3\"\n | \"heading4\"\n | \"small\"\n | \"tiny\";\n}\n\nconst Typography = forwardRef<HTMLDivElement, TypographyProps>(\n ({ as: Component = \"p\", typeStyle, ...props }, ref) => {\n return (\n <Component\n {...props}\n className={cn(props.className, `alq--typography-${typeStyle}`)}\n ref={ref}\n />\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography };\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\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className, \"alq--badge\")} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\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-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","\"use client\";\n\nimport * 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-sm 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, \"alq--label\")}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","\"use client\";\n\nimport * 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 \"alq--checkbox\"\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","\"use client\";\n\nimport * 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-sm 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 }), \"alq--toggle\")}\n {...props}\n />\n));\n\nToggle.displayName = TogglePrimitive.Root.displayName;\n\nexport { Toggle, toggleVariants };\n","\"use client\";\n\nimport * 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-44 touch-none select-none items-center\",\n className,\n \"alq--slider\"\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-44 grow overflow-hidden rounded-full bg-primary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-secondary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-gray 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","\"use client\";\n\nimport * 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 \"alq--switch\"\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","\"use client\";\n\nimport * 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 <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md p-1 text-muted-foreground\",\n className,\n \"alq--tabs\"\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:border-b-2 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-b-2 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","\"use client\"\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport { AspectRatio }\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-sm text-foreground bg-background\", className, \"alq--table\")}\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 border-border bg-muted\", className, \"alq--table-header\")} {...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 [&_tr]:border-b border-border\", className, \"alq--table-body\")}\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 border-border bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n \"alq--table-footer\"\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-sm 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 { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\ninterface BreadcrumbItemProps {\n label: string;\n href?: string;\n current?: boolean;\n}\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-sm 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","\"use client\";\n\nimport * as React from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\n\nimport { cn } from \"../../lib/utils\";\nimport { buttonVariants } from \"../atoms/ui/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-sm 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","\"use client\";\n\nimport * 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","\"use client\";\n\nimport * 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 \"alq--dialog-content\"\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close 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 text-foreground\",\n className,\n \"alq--dialog-header\"\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 text-foreground\",\n className,\n \"alq--dialog-title\"\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", 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","\"use client\";\n\nimport * 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\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command 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-sm 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-sm\"\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 gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\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","\"use client\";\n\nimport * 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-sm 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-sm 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-sm 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","// Loader.tsx\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../../lib/utils\";\nimport { Loader2 } from \"lucide-react\";\n\nconst loaderVariants = cva(\n \"flex justify-center items-center w-full\",\n {\n variants: {\n size: {\n small: \"h-6 w-6\",\n medium: \"h-8 w-8\",\n large: \"h-12 w-12\",\n xl: \"h-24 w-24\",\n },\n colorVariant: {\n default: \"text-primary\",\n primary: \"text-primary\",\n secondary: \"text-secondary\",\n destructive: \"text-destructive\",\n },\n },\n defaultVariants: {\n size: \"medium\",\n colorVariant: \"default\",\n },\n }\n);\n\ninterface LoaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof loaderVariants> {}\n\nconst Loader = React.forwardRef<HTMLDivElement, LoaderProps>(\n (\n { className, size, colorVariant, ...props },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(loaderVariants({ size, colorVariant }), \"flex justify-center items-center h-full w-full\", className)}\n {...props}\n >\n <Loader2 className=\"animate-spin\" />\n </div>\n )\n);\n\nLoader.displayName = \"Loader\";\n\nexport { Loader };","\"use client\"\n\nimport * 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>(({ className, orientation = \"horizontal\", decorative = true, ...props }, ref) => (\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 \"alq--separator\"\n )}\n {...props}\n />\n))\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from \"../../components/atoms/ui/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","\"use client\";\n\nimport * as React from \"react\";\nimport { useToast } from \"../../hooks/use-toast\";\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from \"./toast\";\n\nfunction Toaster() {\n const { toasts } = useToast();\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }: any) {\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\nexport { Toaster };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { useState, useEffect } from \"react\";\nimport { Loader } from \"..\";\nimport { cn } from \"../../../lib/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nconst thinkIndicatorVariants = cva(\n \"flex items-center gap-3\",\n {\n variants: {\n variant: {\n default: \"text-muted-foreground\",\n primary: \"text-primary\",\n secondary: \"text-secondary\",\n },\n size: {\n default: \"gap-3\",\n sm: \"gap-2\",\n lg: \"gap-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface ThinkIndicatorProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof thinkIndicatorVariants> {\n thoughts?: string[];\n interval?: number;\n loader?: React.ReactNode;\n}\n\nexport const ThinkIndicator = React.forwardRef<HTMLDivElement, ThinkIndicatorProps>(\n ({ \n className, \n variant,\n size,\n thoughts = [\n \"Analyzing your request...\",\n \"Processing information...\",\n \"Formulating response...\",\n ],\n interval = 5000, \n loader,\n ...props \n }, ref) => {\n const [currentThoughtIndex, setCurrentThoughtIndex] = useState<number>(0);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIsAnimating(true);\n setTimeout(() => {\n setCurrentThoughtIndex((prev) => {\n return prev < thoughts.length - 1 ? prev + 1 : prev;\n });\n setIsAnimating(false);\n }, 300);\n }, interval);\n\n if (currentThoughtIndex === thoughts.length - 1) {\n clearInterval(timer);\n }\n\n return () => clearInterval(timer);\n }, [thoughts, interval, currentThoughtIndex]);\n\n return (\n <div\n ref={ref}\n className={cn(thinkIndicatorVariants({ variant, size }), className, \"alq--think-indicator\")}\n {...props}\n >\n {loader || (\n <Loader \n className={cn(\n size === \"sm\" ? \"h-3 w-3\" : size === \"lg\" ? \"h-5 w-5\" : \"h-4 w-4\"\n )} \n />\n )}\n <div\n className={cn(\n \"alq--think-indicator-text\",\n \"transition-all duration-300\",\n isAnimating ? \"opacity-0 -translate-y-2\" : \"opacity-100 translate-y-0\"\n )}\n >\n {thoughts[currentThoughtIndex]}\n </div>\n </div>\n );\n }\n);\n\nThinkIndicator.displayName = \"ThinkIndicator\";\n\nexport { thinkIndicatorVariants };","export * from \"./ui/button\";\nexport * from \"./ui/textarea\";\nexport * from \"./ui/input\";\nexport * from \"./ui/select\";\nexport * from \"./ui/avatar\";\nexport * from \"./ui/scroll-area\";\nexport * from \"./ui/rich-text\";\nexport * from \"./ui/skeleton\";\nexport * from \"./ui/card\";\nexport * from \"./ui/drawer\";\nexport * from \"./ui/typography\";\nexport * from \"./ui/badge\";\nexport * from \"./ui/alert\";\nexport * from \"./ui/input\";\nexport * from \"./ui/label\";\nexport * from \"./ui/checkbox\";\nexport * from \"./ui/toggle\";\nexport * from \"./ui/select\";\nexport * from \"./ui/slider\";\nexport * from \"./ui/switch\";\nexport * from \"./ui/tabs\";\nexport * from \"./ui/aspect-ratio\";\nexport * from \"./ui/table\";\nexport * from \"./ui/breadcrumb\";\nexport * from \"../molecules/alert-dialog\";\nexport * from \"./ui/popover\";\nexport * from \"./ui/command\";\nexport * from \"./ui/dialog\";\nexport * from \"./ui/toast\";\nexport * from \"./ui/loader\";\nexport * from \"./ui/separator\";\nexport * from \"./ui/toaster\";\nexport * from \"./ui/think-indicator\";","import { useEffect, useRef } from 'react';\n\ntype ResizeObserverOptions = {\n box?: 'content-box' | 'border-box';\n};\n\ntype ResizeObserverCallback = (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n\nexport default function useResizeObserver(\n element: Element | null,\n options: ResizeObserverOptions | undefined,\n observerCallback: ResizeObserverCallback\n): void {\n const observerRef = useRef<ResizeObserver | null>(null);\n\n useEffect(() => {\n if (!element) return;\n\n observerRef.current = new ResizeObserver(observerCallback);\n observerRef.current.observe(element, options);\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, [element, options, observerCallback]);\n}\n","'use client'\n\nimport React, { useState, useCallback, useEffect } from 'react'\nimport { Button, Loader } from '../../atoms';\nimport { ChevronLeft, ChevronRight, ZoomIn, ZoomOut, Download } from 'lucide-react'\nimport useResizeObserver from '../../hooks/use-resize-observer';\nimport { pdfjs, Document, Page } from 'react-pdf';\nimport 'react-pdf/dist/esm/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/esm/Page/TextLayer.css';\n\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;\n\nconst options = {\n cMapUrl: '/cmaps/',\n standardFontDataUrl: '/standard_fonts/',\n cMapPacked: true,\n};\n\nconst resizeObserverOptions = {};\n\ntype PdfViewerProps = {\n doc: Blob | null;\n loading?: boolean;\n docId: string;\n}\n\nexport default function PdfViewer({ doc, docId }: PdfViewerProps) {\n const [numPages, setNumPages] = useState<number>(0);\n const [pageNumber, setPageNumber] = useState<number>(1);\n const [scale, setScale] = useState<number>(1);\n const [containerRef, setContainerRef] = useState<HTMLElement | null>(null);\n const [containerWidth, setContainerWidth] = useState<number>();\n\n const onResize = useCallback<ResizeObserverCallback>((entries) => {\n const [entry] = entries;\n if (entry) {\n setContainerWidth(entry.contentRect.width);\n }\n }, []);\n\n useResizeObserver(containerRef, resizeObserverOptions, onResize);\n\n function onDocumentLoadSuccess({ numPages: nextNumPages }: pdfjs.PDFDocumentProxy): void {\n setNumPages(nextNumPages);\n }\n\n const resetDocument = () => {\n setPageNumber(1);\n setScale(1);\n }\n\n useEffect(() => {\n resetDocument()\n }, []);\n\n\n const handlePrevPage = () => setPageNumber((prev) => Math.max(prev - 1, 1));\n const handleNextPage = () => setPageNumber((prev) => Math.min(prev + 1, numPages));\n const handleZoomIn = () => setScale((prev) => Math.min(prev + 0.1, 2));\n const handleZoomOut = () => setScale((prev) => Math.max(prev - 0.1, 0.5));\n\n const handleKeyDown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'ArrowLeft') {\n handlePrevPage();\n } else if (e.key === 'ArrowRight') {\n handleNextPage();\n }\n }, [handlePrevPage, handleNextPage]);\n\n useEffect(() => {\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n\n\n const handleDownloadFile = () => {\n const docUrl = doc && URL.createObjectURL(doc);\n const a = document.createElement('a');\n a.href = docUrl || '';\n a.download = docId;\n a.click();\n URL.revokeObjectURL(docUrl || '');\n };\n\n return (\n <>\n <div className=\"flex justify-between items-center p-4 border-b border-border\">\n <div>\n <Button \n onClick={handlePrevPage} \n disabled={pageNumber <= 1}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </Button>\n <span className=\"mx-2\">\n Page {pageNumber} of {numPages}\n </span>\n <Button \n onClick={handleNextPage} \n disabled={pageNumber >= numPages}\n >\n <ChevronRight className=\"h-4 w-4\" />\n </Button>\n </div>\n {/* <div>\n <Button onClick={handleDownloadFile}>\n <Download className=\"h-4 w-4\" />\n </Button>\n </div> */}\n <div>\n <Button onClick={handleZoomOut}>\n <ZoomOut className=\"h-4 w-4\" />\n </Button>\n <span className=\"mx-2\">{(scale * 100).toFixed(0)}%</span>\n <Button onClick={handleZoomIn}>\n <ZoomIn className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n <div ref={setContainerRef} className=\"overflow-auto\">\n <Document\n file={doc}\n // file={`/docs/${docId}`}\n onLoadSuccess={onDocumentLoadSuccess}\n options={options}\n loading={<Loader size=\"xl\" colorVariant=\"destructive\" />}\n >\n <Page\n pageNumber={pageNumber}\n scale={scale}\n width={containerWidth}\n className=\"w-full\"\n />\n </Document>\n </div>\n </>\n );\n}\n","\"use client\";\n\nimport React, { useState, useEffect } from \"react\";\nimport { Loader, RichText } from \"../../atoms\";\n\ntype PlainTextViewerProps = {\n doc: Blob | null;\n docId?: string;\n};\n\nexport default function PlainTextViewer({ doc }: PlainTextViewerProps) {\n const [content, setContent] = useState<string | null>(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n async function parseDocument() {\n try {\n if (doc && doc.type === \"text/plain\") {\n const text = await doc.text();\n setContent(text);\n }\n } catch (err) {\n console.error(\"Error parsing Document:\", err);\n } finally {\n setLoading(false);\n }\n }\n\n parseDocument();\n }, [doc]);\n\n return (\n <>\n <div className=\"relative w-full h-full max-h-[80vh] overflow-y-auto p-8 alq--prose\">\n {loading && <Loader />}\n {!loading && <RichText content={content || \"\"} />}\n </div>\n </>\n );\n}\n","import React, { useState } from 'react';\nimport {\n Select,\n SelectTrigger,\n SelectContent,\n SelectItem,\n SelectLabel,\n SelectGroup,\n SelectValue,\n} from \"../../atoms\";\nimport { AlquimiaDocument, ActionResponse } from '../../../types/type';\nimport { ExternalLink } from \"lucide-react\";\nimport { DocumentViewer } from './document-viewer';\n\ntype DocumentSelectorProps = {\n documents: AlquimiaDocument[];\n getDocument: (id: string) => Promise<ActionResponse<Blob>>\n logInfoMessage: (info: string, data: any) => void\n}\nexport const DocumentSelector = ({ documents, getDocument, logInfoMessage }: DocumentSelectorProps) =>{\n const [selectedDocName, setSelectedDocName] = useState<string | undefined>(undefined);\n const [selectedDoc, setSelectedDoc] = useState<string | null>(null);\n const [isModalOpen, setIsModalOpen] = useState<boolean>(false);\n\n\n const handleDocumentClick = (doc: any, event: React.MouseEvent) => {\n event.stopPropagation();\n setSelectedDoc(doc);\n logInfoMessage(\"Selected document\", {\n documentId: doc.id,\n documentName: doc.name,\n });\n setIsModalOpen(true);\n };\n\n const handleDrawerClose = () => {\n setIsModalOpen(false)\n }\n\n return (\n <div className=\"w-full md:w-4/6 alq--document-selector\">\n <Select value={selectedDocName} onValueChange={setSelectedDocName}>\n <SelectTrigger aria-label=\"Documentos\">\n <SelectValue placeholder=\"Documentos\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Documents</SelectLabel>\n {documents.map((doc) => (\n <div key={doc.id} className=\"w-full flex relative\">\n <SelectItem className=\"w-full\" key={doc.id} value={doc.id}>\n <div className=\"flex justify-between w-full\">\n <p className=\"h-4 truncate mr-5\">{doc.name}</p>\n </div>\n </SelectItem>\n <div\n onClick={(event) => handleDocumentClick(doc, event)}\n className=\"bflex items-center text-gray-400 hover:text-gray-500 absolute right-0 mt-2\"\n aria-label={`Open ${doc.name}`}\n >\n <ExternalLink className=\"h-4 w-4 mx-2\" />\n </div>\n </div>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n {selectedDoc && (\n <DocumentViewer\n doc={selectedDoc}\n docName={selectedDocName || ''}\n isOpen={isModalOpen}\n onClose={handleDrawerClose}\n getDocument={getDocument}\n />\n )}\n </div>\n );\n}\n","'use client'\n\nimport React, { useEffect } from 'react'\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n Loader\n} from \"../../atoms\";\nimport { useDocumentReader } from '../../hooks/use-document';\nimport dynamic from 'next/dynamic';\nimport { ActionResponse } from '../../../types/type';\nconst PdfViewer = dynamic(() => import(\"../viewers/pdf-viewer\"), { ssr: false });\nconst PlainTextViewer = dynamic(() => import(\"../viewers/plain-text-viewer\"), { ssr: false });\n\ntype DocumentViewerProps = {\n docId?: string;\n doc: any;\n docName: string;\n isOpen: boolean;\n onClose: () => void;\n getDocument: (id: string) => Promise<ActionResponse<Blob>>;\n};\n\nexport const DocumentViewer = ({\n docId,\n doc,\n isOpen,\n onClose,\n getDocument,\n}: DocumentViewerProps) => {\n const { document, loading, fetchDocument, resetDocument, error } =\n useDocumentReader(doc.id, getDocument);\n\n useEffect(() => {\n resetDocument();\n\n if (isOpen) {\n fetchDocument();\n }\n }, [isOpen]);\n\n const documentRender = document && !error ? (\n <DocumentFactory document={document} docId={doc.id} />\n ) : (\n <div className=\"flex flex-col items-center justify-center h-full w-full text-center p-4\">\n <div className=\"text-primary font-medium\">{error}</div>\n </div>\n );\n\n return (\n <Dialog open={isOpen} onOpenChange={onClose}>\n <DialogContent\n aria-describedby={document ? \"document-description\" : undefined}\n className=\"h-[90%] max-w-[90%] gap-0 flex flex-col focus:outline-none alq--document-viewer-container\"\n >\n <DialogHeader className=\"border-b border-border pb-2\">\n <DialogTitle>{doc.name}</DialogTitle>\n </DialogHeader>\n {!document && loading ? (\n <Loader size=\"xl\" colorVariant=\"destructive\" />\n ) : (\n documentRender\n )}\n </DialogContent>\n </Dialog>\n );\n};\n\ntype DocViewerFactoryProps = {\n document: Blob | null;\n docId: string;\n};\n\nconst DocumentFactory: React.FC<DocViewerFactoryProps> = ({ document, docId }) => {\n switch (document && document.type) {\n case 'application/pdf':\n return <PdfViewer doc={document} docId={docId} />;\n case 'text/plain':\n return <PlainTextViewer doc={document} docId={docId} />;\n default:\n return <div>Unsupported file type</div>;\n }\n};\n","\"use client\";\n\nimport { useState } from \"react\";\nimport { ApiError, ActionResponse } from \"../../types/type\";\n\nexport const useDocumentReader = (\n url: string,\n getDocument: (id: string) => Promise<ActionResponse<Blob>>,\n) => {\n const [loading, setLoading] = useState<boolean>(true);\n const [error, setError] = useState<string | null>(null);\n const [document, setDocument] = useState<Blob | null>(null);\n\n const handleDocumentError = (error: ApiError) => {\n const errorMessage = \"Hubo un error al obtener el documento. Por favor ponganse en contacto con el administrador.\";\n setError(errorMessage);\n throw new Error(error?.message || 'Unknown error');\n };\n\n const resetDocument = () => {\n setDocument(null);\n };\n\n const fetchDocument = async () => {\n setLoading(true);\n setError(null);\n \n try {\n const res = await getDocument(url);\n if (!res.success) {\n handleDocumentError(res.error as ApiError || new Error('Unknown error'));\n setLoading(false);\n return;\n }\n res.data && setDocument(res.data);\n } catch (error) {\n handleDocumentError(error as ApiError);\n } finally {\n setLoading(false);\n }\n };\n\n return { document, loading, fetchDocument, resetDocument, error };\n};\n"],"mappings":"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","names":["React","jsx","forwardRef","jsx","React","jsx","React","jsx","React","jsx","jsxs","jsx","jsx","React","jsx","React","jsx","jsxs","forwardRef","jsx","cva","jsx","React","cva","jsx","React","cva","jsx","Label","React","Check","jsx","React","cva","jsx","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","React","Slot","jsx","jsxs","React","jsx","jsxs","React","jsx","React","jsx","jsxs","React","jsx","jsxs","React","cva","X","jsx","React","cva","jsx","React","jsx","Separator","React","jsx","jsxs","React","useState","useEffect","cva","jsx","jsxs","useEffect","options","useState","useEffect","ChevronRight","jsx","jsxs","useState","useEffect","Fragment","jsx","jsxs","useState","useEffect","useState","document","error","jsx","jsxs","PdfViewer","PlainTextViewer","document","useEffect","jsx","jsxs","useState"]}
1
+ {"version":3,"sources":["/home/runner/work/sdk-frontend/sdk-frontend/packages/ui/dist/components/molecules/documents/index.mjs","../../../../src/lib/utils.ts","../../../../src/components/atoms/ui/button.tsx","../../../../src/components/atoms/ui/textarea.tsx","../../../../src/components/atoms/ui/input.tsx","../../../../src/components/atoms/ui/select.tsx","../../../../src/components/atoms/ui/avatar.tsx","../../../../src/components/atoms/ui/scroll-area.tsx","../../../../src/components/atoms/ui/rich-text.tsx","../../../../src/components/atoms/ui/skeleton.tsx","../../../../src/components/atoms/ui/card.tsx","../../../../src/components/atoms/ui/drawer.tsx","../../../../src/components/atoms/ui/typography/index.tsx","../../../../src/components/atoms/ui/badge.tsx","../../../../src/components/atoms/ui/alert.tsx","../../../../src/components/atoms/ui/label.tsx","../../../../src/components/atoms/ui/checkbox.tsx","../../../../src/components/atoms/ui/toggle.tsx","../../../../src/components/atoms/ui/slider.tsx","../../../../src/components/atoms/ui/switch.tsx","../../../../src/components/atoms/ui/tabs.tsx","../../../../src/components/atoms/ui/aspect-ratio.tsx","../../../../src/components/atoms/ui/table.tsx","../../../../src/components/atoms/ui/breadcrumb.tsx","../../../../src/components/molecules/alert-dialog.tsx","../../../../src/components/atoms/ui/popover.tsx","../../../../src/components/atoms/ui/dialog.tsx","../../../../src/components/atoms/ui/command.tsx","../../../../src/components/atoms/ui/toast.tsx","../../../../src/components/atoms/ui/loader.tsx","../../../../src/components/atoms/ui/separator.tsx","../../../../src/components/hooks/use-toast.ts","../../../../src/components/atoms/ui/toaster.tsx","../../../../src/components/atoms/ui/think-indicator.tsx","../../../../src/components/atoms/index.ts","../../../../src/components/hooks/use-resize-observer.ts","../../../../src/components/molecules/viewers/pdf-viewer.tsx","../../../../src/components/molecules/viewers/plain-text-viewer.tsx","../../../../src/components/molecules/documents/document-selector.tsx","../../../../src/components/molecules/documents/document-viewer.tsx","../../../../src/components/hooks/use-document.tsx"],"names":["__defProp","Object","defineProperty","__getOwnPropNames","getOwnPropertyNames","__esm","fn","res","__init","__export","target","all","name","get","enumerable","clsx","twMerge","cn","inputs","init_utils","React","Slot","cva","jsx","buttonVariants","Button","init_button","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","forwardRef","ref","className","asChild","props","Comp","displayName","Textarea","init_textarea","React2","Input","init_input","type","SelectPrimitive","Check","ChevronDown","ChevronUp","jsxs","Select","SelectGroup","SelectValue","SelectTrigger","SelectScrollUpButton","SelectScrollDownButton","SelectContent","SelectLabel","SelectItem","SelectSeparator","init_select","Root","Group","Value","React3","children","Trigger","Icon","ScrollUpButton","ScrollDownButton","position","Portal","Content","Viewport","Label","Item","ItemIndicator","ItemText","Separator","AvatarPrimitive","Avatar","AvatarImage","AvatarFallback","init_avatar","React4","Image","Fallback","ScrollAreaPrimitive","ScrollArea","ScrollBar","init_scroll_area","React5","Corner","orientation","ScrollAreaScrollbar","ScrollAreaThumb","ReactMarkdown","remarkGfm","RichText","content","remarkPlugins","init_rich_text","init_skeleton","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","init_card","React6","Drawer","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","DrawerContent","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription","init_drawer","shouldScaleBackground","Close","React7","Overlay","Title","Description","Typography","init_typography","Component","as","typeStyle","badgeVariants","init_badge","alertVariants","Alert","AlertTitle","AlertDescription","init_alert","React8","role","LabelPrimitive","labelVariants","init_label","React9","CheckboxPrimitive","Checkbox","init_checkbox","React10","Indicator","TogglePrimitive","toggleVariants","Toggle","init_toggle","React11","SliderPrimitive","Slider","init_slider","React12","Track","Range","Thumb","SwitchPrimitives","Switch","init_switch","React13","TabsPrimitive","TabsList","TabsTrigger","TabsContent","init_tabs","React14","List","AspectRatioPrimitive","init_aspect_ratio","Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","init_table","React15","ChevronRight","MoreHorizontal","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbPage","BreadcrumbSeparator","BreadcrumbEllipsis","init_breadcrumb","React16","AlertDialogPrimitive","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","init_alert_dialog","React17","Action","Cancel","PopoverPrimitive","PopoverContent","init_popover","React18","align","sideOffset","DialogPrimitive","X","Dialog","DialogPortal","DialogOverlay","DialogContent","DialogHeader","DialogFooter","DialogTitle","DialogDescription","init_dialog","React19","Command","CommandPrimitive","Search","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","init_command","React20","Empty","ToastPrimitives","ToastViewport","toastVariants","Toast","ToastAction","ToastClose","ToastTitle","ToastDescription","init_toast","React21","Loader2","loaderVariants","Loader","init_loader","small","medium","large","xl","colorVariant","primary","React22","SeparatorPrimitive","init_separator","React23","decorative","init_use_toast","init_toaster","useState","useEffect","thinkIndicatorVariants","ThinkIndicator","init_think_indicator","init_atoms","React25","thoughts","interval","loader","currentThoughtIndex","setCurrentThoughtIndex","isAnimating","setIsAnimating","timer","setInterval","setTimeout","prev","length","clearInterval","useRef","useResizeObserver","element","options","observerCallback","observerRef","current","ResizeObserver","observe","disconnect","init_use_resize_observer","pdf_viewer_exports","PdfViewer","useCallback","ChevronLeft","ZoomIn","ZoomOut","pdfjs","Document","Page","Fragment","doc","docId","numPages","setNumPages","pageNumber","setPageNumber","scale","setScale","containerRef","setContainerRef","containerWidth","setContainerWidth","onResize","entries","entry","contentRect","width","resizeObserverOptions","onDocumentLoadSuccess","nextNumPages","resetDocument","handlePrevPage","Math","max","handleNextPage","min","handleZoomIn","handleZoomOut","handleKeyDown","e","key","window","addEventListener","removeEventListener","handleDownloadFile","docUrl","URL","createObjectURL","a","document","createElement","href","download","click","revokeObjectURL","onClick","disabled","toFixed","file","onLoadSuccess","loading","init_pdf_viewer","GlobalWorkerOptions","workerSrc","version","cMapUrl","standardFontDataUrl","cMapPacked","plain_text_viewer_exports","PlainTextViewer","setContent","setLoading","parseDocument","text","err","console","error","init_plain_text_viewer","ExternalLink","Suspense","useDocumentReader","url","getDocument","setError","setDocument","handleDocumentError","errorMessage","Error","message","fetchDocument","success","data","lazy","Promise","resolve","then","DocumentViewer","isOpen","onClose","id","documentRender","DocumentFactory","open","onOpenChange","fallback","DocumentSelector","documents","logInfoMessage","selectedDocName","setSelectedDocName","selectedDoc","setSelectedDoc","isModalOpen","setIsModalOpen","handleDocumentClick","event","stopPropagation","documentId","documentName","handleDrawerClose","value","onValueChange","placeholder","map","docName"],"mappings":"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","sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __esm = (fn, res) => function __init() {\n return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/lib/utils.ts\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\nvar init_utils = __esm({\n \"src/lib/utils.ts\"() {\n \"use strict\";\n }\n});\n\n// src/components/atoms/ui/button.tsx\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport { jsx } from \"react/jsx-runtime\";\nvar buttonVariants, Button;\nvar init_button = __esm({\n \"src/components/atoms/ui/button.tsx\"() {\n \"use strict\";\n init_utils();\n buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm 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: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline: \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary: \"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 Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return /* @__PURE__ */ jsx(\n Comp,\n {\n className: cn(buttonVariants({ variant, size, className })),\n ref,\n ...props\n }\n );\n }\n );\n Button.displayName = \"Button\";\n }\n});\n\n// src/components/atoms/ui/textarea.tsx\nimport * as React2 from \"react\";\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nvar Textarea;\nvar init_textarea = __esm({\n \"src/components/atoms/ui/textarea.tsx\"() {\n \"use strict\";\n init_utils();\n Textarea = React2.forwardRef(\n ({ className, ...props }, ref) => {\n return /* @__PURE__ */ jsx2(\n \"textarea\",\n {\n className: cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm 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 \"alq--textarea\"\n ),\n ref,\n ...props\n }\n );\n }\n );\n Textarea.displayName = \"Textarea\";\n }\n});\n\n// src/components/atoms/ui/input.tsx\nimport { forwardRef as forwardRef3 } from \"react\";\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nvar Input;\nvar init_input = __esm({\n \"src/components/atoms/ui/input.tsx\"() {\n \"use strict\";\n init_utils();\n Input = forwardRef3(\n ({ className, type, ...props }, ref) => {\n return /* @__PURE__ */ jsx3(\n \"input\",\n {\n type,\n className: cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n \"alq--input\"\n ),\n ref,\n ...props\n }\n );\n }\n );\n Input.displayName = \"Input\";\n }\n});\n\n// src/components/atoms/ui/select.tsx\nimport * as React3 from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport { jsx as jsx4, jsxs } from \"react/jsx-runtime\";\nvar Select, SelectGroup, SelectValue, SelectTrigger, SelectScrollUpButton, SelectScrollDownButton, SelectContent, SelectLabel, SelectItem, SelectSeparator;\nvar init_select = __esm({\n \"src/components/atoms/ui/select.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Select = SelectPrimitive.Root;\n SelectGroup = SelectPrimitive.Group;\n SelectValue = SelectPrimitive.Value;\n SelectTrigger = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(\n SelectPrimitive.Trigger,\n {\n 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-sm 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 \"alq--select\"\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ jsx4(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx4(ChevronDown, { className: \"h-4 w-4 opacity-50\" }) })\n ]\n }\n ));\n SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n SelectScrollUpButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(\n SelectPrimitive.ScrollUpButton,\n {\n ref,\n className: cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ jsx4(ChevronUp, { className: \"h-4 w-4\" })\n }\n ));\n SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n SelectScrollDownButton = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(\n SelectPrimitive.ScrollDownButton,\n {\n ref,\n className: cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ jsx4(ChevronDown, { className: \"h-4 w-4\" })\n }\n ));\n SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n SelectContent = React3.forwardRef(({ className, children, position = \"popper\", ...props }, ref) => /* @__PURE__ */ jsx4(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(\n SelectPrimitive.Content,\n {\n 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\" && \"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,\n ...props,\n children: [\n /* @__PURE__ */ jsx4(SelectScrollUpButton, {}),\n /* @__PURE__ */ jsx4(\n SelectPrimitive.Viewport,\n {\n className: cn(\n \"p-1\",\n position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n ),\n children\n }\n ),\n /* @__PURE__ */ jsx4(SelectScrollDownButton, {})\n ]\n }\n ) }));\n SelectContent.displayName = SelectPrimitive.Content.displayName;\n SelectLabel = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(\n SelectPrimitive.Label,\n {\n ref,\n className: cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className),\n ...props\n }\n ));\n SelectLabel.displayName = SelectPrimitive.Label.displayName;\n SelectItem = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(\n SelectPrimitive.Item,\n {\n 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-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ jsx4(\"span\", { className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\", children: /* @__PURE__ */ jsx4(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx4(Check, { className: \"h-4 w-4\" }) }) }),\n /* @__PURE__ */ jsx4(SelectPrimitive.ItemText, { children })\n ]\n }\n ));\n SelectItem.displayName = SelectPrimitive.Item.displayName;\n SelectSeparator = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx4(\n SelectPrimitive.Separator,\n {\n ref,\n className: cn(\"-mx-1 my-1 h-px bg-muted\", className),\n ...props\n }\n ));\n SelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n }\n});\n\n// src/components/atoms/ui/avatar.tsx\nimport * as React4 from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { jsx as jsx5 } from \"react/jsx-runtime\";\nvar Avatar, AvatarImage, AvatarFallback;\nvar init_avatar = __esm({\n \"src/components/atoms/ui/avatar.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Avatar = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(\n AvatarPrimitive.Root,\n {\n ref,\n className: cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n ),\n ...props\n }\n ));\n Avatar.displayName = AvatarPrimitive.Root.displayName;\n AvatarImage = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(\n AvatarPrimitive.Image,\n {\n ref,\n className: cn(\"aspect-square h-full w-full\", className),\n ...props\n }\n ));\n AvatarImage.displayName = AvatarPrimitive.Image.displayName;\n AvatarFallback = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(\n AvatarPrimitive.Fallback,\n {\n 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 ));\n AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n }\n});\n\n// src/components/atoms/ui/scroll-area.tsx\nimport * as React5 from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport { jsx as jsx6, jsxs as jsxs2 } from \"react/jsx-runtime\";\nvar ScrollArea, ScrollBar;\nvar init_scroll_area = __esm({\n \"src/components/atoms/ui/scroll-area.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n ScrollArea = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs2(\n ScrollAreaPrimitive.Root,\n {\n ref,\n className: cn(\"relative overflow-hidden\", className),\n ...props,\n children: [\n /* @__PURE__ */ jsx6(ScrollAreaPrimitive.Viewport, { className: \"h-full w-full rounded-[inherit]\", children }),\n /* @__PURE__ */ jsx6(ScrollBar, {}),\n /* @__PURE__ */ jsx6(ScrollAreaPrimitive.Corner, {})\n ]\n }\n ));\n ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n ScrollBar = React5.forwardRef(({ className, orientation = \"vertical\", ...props }, ref) => /* @__PURE__ */ jsx6(\n ScrollAreaPrimitive.ScrollAreaScrollbar,\n {\n ref,\n orientation,\n className: cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n ),\n ...props,\n children: /* @__PURE__ */ jsx6(ScrollAreaPrimitive.ScrollAreaThumb, { className: \"relative flex-1 rounded-full bg-border\" })\n }\n ));\n ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n }\n});\n\n// src/components/atoms/ui/rich-text.tsx\nimport ReactMarkdown from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport { jsx as jsx7 } from \"react/jsx-runtime\";\nfunction RichText({ content, className }) {\n return /* @__PURE__ */ jsx7(ReactMarkdown, { className: cn(className), remarkPlugins: [remarkGfm], children: content });\n}\nvar init_rich_text = __esm({\n \"src/components/atoms/ui/rich-text.tsx\"() {\n \"use strict\";\n init_utils();\n }\n});\n\n// src/components/atoms/ui/skeleton.tsx\nimport { jsx as jsx8 } from \"react/jsx-runtime\";\nvar init_skeleton = __esm({\n \"src/components/atoms/ui/skeleton.tsx\"() {\n \"use strict\";\n init_utils();\n }\n});\n\n// src/components/atoms/ui/card.tsx\nimport * as React6 from \"react\";\nimport { jsx as jsx9 } from \"react/jsx-runtime\";\nvar Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter;\nvar init_card = __esm({\n \"src/components/atoms/ui/card.tsx\"() {\n \"use strict\";\n init_utils();\n Card = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(\n \"div\",\n {\n ref,\n className: cn(\n \"rounded-lg\",\n \" border\",\n \"bg-card\",\n \"text-card-foreground\",\n \"shadow-raised\",\n className\n ),\n ...props\n }\n ));\n Card.displayName = \"Card\";\n CardHeader = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(\n \"div\",\n {\n ref,\n className: cn(\"flex flex-col space-y-1.5 p-6\", className),\n ...props\n }\n ));\n CardHeader.displayName = \"CardHeader\";\n CardTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(\n \"h3\",\n {\n ref,\n className: cn(\"alq--typography-heading4\", className),\n ...props\n }\n ));\n CardTitle.displayName = \"CardTitle\";\n CardDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(\n \"p\",\n {\n ref,\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n ));\n CardDescription.displayName = \"CardDescription\";\n CardContent = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(\"div\", { ref, className: cn(\"p-6 pt-0\", className), ...props }));\n CardContent.displayName = \"CardContent\";\n CardFooter = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(\n \"div\",\n {\n ref,\n className: cn(\"flex items-center p-6 pt-0\", className),\n ...props\n }\n ));\n CardFooter.displayName = \"CardFooter\";\n }\n});\n\n// src/components/atoms/ui/drawer.tsx\nimport * as React7 from \"react\";\nimport { Drawer as DrawerPrimitive } from \"vaul\";\nimport { jsx as jsx10, jsxs as jsxs3 } from \"react/jsx-runtime\";\nvar Drawer, DrawerTrigger, DrawerPortal, DrawerClose, DrawerOverlay, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription;\nvar init_drawer = __esm({\n \"src/components/atoms/ui/drawer.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Drawer = ({\n shouldScaleBackground = true,\n ...props\n }) => /* @__PURE__ */ jsx10(\n DrawerPrimitive.Root,\n {\n shouldScaleBackground,\n ...props\n }\n );\n Drawer.displayName = \"Drawer\";\n DrawerTrigger = DrawerPrimitive.Trigger;\n DrawerPortal = DrawerPrimitive.Portal;\n DrawerClose = DrawerPrimitive.Close;\n DrawerOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(\n DrawerPrimitive.Overlay,\n {\n ref,\n className: cn(\"fixed inset-0 z-50 bg-black/80\", className),\n ...props\n }\n ));\n DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n DrawerContent = React7.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(DrawerPortal, { children: [\n /* @__PURE__ */ jsx10(DrawerOverlay, {}),\n /* @__PURE__ */ jsxs3(\n DrawerPrimitive.Content,\n {\n ref,\n className: cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border border-border bg-background text-foreground alq--drawer-content\",\n className\n ),\n ...props,\n children: [\n /* @__PURE__ */ jsx10(\"div\", { className: \"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" }),\n children\n ]\n }\n )\n ] }));\n DrawerContent.displayName = \"DrawerContent\";\n DrawerHeader = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsx10(\n \"div\",\n {\n className: cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className, \"alq--drawer-header\"),\n ...props\n }\n );\n DrawerHeader.displayName = \"DrawerHeader\";\n DrawerFooter = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsx10(\n \"div\",\n {\n className: cn(\"mt-auto flex flex-col gap-2 p-4\", className, \"alq--drawer-footer\"),\n ...props\n }\n );\n DrawerFooter.displayName = \"DrawerFooter\";\n DrawerTitle = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(\n DrawerPrimitive.Title,\n {\n ref,\n className: cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n \"alq--drawer-title\"\n ),\n ...props\n }\n ));\n DrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n DrawerDescription = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(\n DrawerPrimitive.Description,\n {\n ref,\n className: cn(\"text-sm text-muted-foreground\", className, \"alq--drawer-description\"),\n ...props\n }\n ));\n DrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n }\n});\n\n// src/components/atoms/ui/typography/index.tsx\nimport { forwardRef as forwardRef9 } from \"react\";\nimport { jsx as jsx11 } from \"react/jsx-runtime\";\nvar Typography;\nvar init_typography = __esm({\n \"src/components/atoms/ui/typography/index.tsx\"() {\n \"use strict\";\n init_utils();\n Typography = forwardRef9(\n ({ as: Component = \"p\", typeStyle, ...props }, ref) => {\n return /* @__PURE__ */ jsx11(\n Component,\n {\n ...props,\n className: cn(props.className, `alq--typography-${typeStyle}`),\n ref\n }\n );\n }\n );\n Typography.displayName = \"Typography\";\n }\n});\n\n// src/components/atoms/ui/badge.tsx\nimport { cva as cva2 } from \"class-variance-authority\";\nimport { jsx as jsx12 } from \"react/jsx-runtime\";\nvar badgeVariants;\nvar init_badge = __esm({\n \"src/components/atoms/ui/badge.tsx\"() {\n \"use strict\";\n init_utils();\n badgeVariants = cva2(\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: \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive: \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n }\n});\n\n// src/components/atoms/ui/alert.tsx\nimport * as React8 from \"react\";\nimport { cva as cva3 } from \"class-variance-authority\";\nimport { jsx as jsx13 } from \"react/jsx-runtime\";\nvar alertVariants, Alert, AlertTitle, AlertDescription;\nvar init_alert = __esm({\n \"src/components/atoms/ui/alert.tsx\"() {\n \"use strict\";\n init_utils();\n alertVariants = cva3(\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: \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n Alert = React8.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx13(\n \"div\",\n {\n ref,\n role: \"alert\",\n className: cn(alertVariants({ variant }), className),\n ...props\n }\n ));\n Alert.displayName = \"Alert\";\n AlertTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(\n \"h5\",\n {\n ref,\n className: cn(\"mb-1 font-medium leading-none tracking-tight\", className),\n ...props\n }\n ));\n AlertTitle.displayName = \"AlertTitle\";\n AlertDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(\n \"div\",\n {\n ref,\n className: cn(\"text-sm [&_p]:leading-relaxed\", className),\n ...props\n }\n ));\n AlertDescription.displayName = \"AlertDescription\";\n }\n});\n\n// src/components/atoms/ui/label.tsx\nimport * as React9 from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva as cva4 } from \"class-variance-authority\";\nimport { jsx as jsx14 } from \"react/jsx-runtime\";\nvar labelVariants, Label2;\nvar init_label = __esm({\n \"src/components/atoms/ui/label.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n labelVariants = cva4(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n );\n Label2 = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(\n LabelPrimitive.Root,\n {\n ref,\n className: cn(labelVariants(), className, \"alq--label\"),\n ...props\n }\n ));\n Label2.displayName = LabelPrimitive.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/checkbox.tsx\nimport * as React10 from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check as Check2 } from \"lucide-react\";\nimport { jsx as jsx15 } from \"react/jsx-runtime\";\nvar Checkbox;\nvar init_checkbox = __esm({\n \"src/components/atoms/ui/checkbox.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Checkbox = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx15(\n CheckboxPrimitive.Root,\n {\n 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 \"alq--checkbox\"\n ),\n ...props,\n children: /* @__PURE__ */ jsx15(\n CheckboxPrimitive.Indicator,\n {\n className: cn(\"flex items-center justify-center text-current\"),\n children: /* @__PURE__ */ jsx15(Check2, { className: \"h-4 w-4\" })\n }\n )\n }\n ));\n Checkbox.displayName = CheckboxPrimitive.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/toggle.tsx\nimport * as React11 from \"react\";\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\";\nimport { cva as cva5 } from \"class-variance-authority\";\nimport { jsx as jsx16 } from \"react/jsx-runtime\";\nvar toggleVariants, Toggle;\nvar init_toggle = __esm({\n \"src/components/atoms/ui/toggle.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n toggleVariants = cva5(\n \"inline-flex items-center justify-center rounded-md text-sm 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: \"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 Toggle = React11.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx16(\n TogglePrimitive.Root,\n {\n ref,\n className: cn(toggleVariants({ variant, size, className }), \"alq--toggle\"),\n ...props\n }\n ));\n Toggle.displayName = TogglePrimitive.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/slider.tsx\nimport * as React12 from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { jsx as jsx17, jsxs as jsxs4 } from \"react/jsx-runtime\";\nvar Slider;\nvar init_slider = __esm({\n \"src/components/atoms/ui/slider.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Slider = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs4(\n SliderPrimitive.Root,\n {\n ref,\n className: cn(\n \"relative flex w-44 touch-none select-none items-center\",\n className,\n \"alq--slider\"\n ),\n ...props,\n children: [\n /* @__PURE__ */ jsx17(SliderPrimitive.Track, { className: \"relative h-2 w-44 grow overflow-hidden rounded-full bg-primary\", children: /* @__PURE__ */ jsx17(SliderPrimitive.Range, { className: \"absolute h-full bg-secondary\" }) }),\n /* @__PURE__ */ jsx17(SliderPrimitive.Thumb, { className: \"block h-5 w-5 rounded-full border-2 border-gray 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 ]\n }\n ));\n Slider.displayName = SliderPrimitive.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/switch.tsx\nimport * as React13 from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport { jsx as jsx18 } from \"react/jsx-runtime\";\nvar Switch;\nvar init_switch = __esm({\n \"src/components/atoms/ui/switch.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Switch = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(\n SwitchPrimitives.Root,\n {\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 \"alq--switch\"\n ),\n ...props,\n ref,\n children: /* @__PURE__ */ jsx18(\n SwitchPrimitives.Thumb,\n {\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 )\n }\n ));\n Switch.displayName = SwitchPrimitives.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/tabs.tsx\nimport * as React14 from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport { jsx as jsx19 } from \"react/jsx-runtime\";\nvar TabsList, TabsTrigger, TabsContent;\nvar init_tabs = __esm({\n \"src/components/atoms/ui/tabs.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n TabsList = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(\n TabsPrimitive.List,\n {\n ref,\n className: cn(\n \"inline-flex h-10 items-center justify-center rounded-md p-1 text-muted-foreground\",\n className,\n \"alq--tabs\"\n ),\n ...props\n }\n ));\n TabsList.displayName = TabsPrimitive.List.displayName;\n TabsTrigger = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(\n TabsPrimitive.Trigger,\n {\n ref,\n className: cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:border-b-2 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-b-2 data-[state=active]:text-foreground data-[state=active]:shadow-sm\",\n className\n ),\n ...props\n }\n ));\n TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n TabsContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx19(\n TabsPrimitive.Content,\n {\n 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 ));\n TabsContent.displayName = TabsPrimitive.Content.displayName;\n }\n});\n\n// src/components/atoms/ui/aspect-ratio.tsx\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\nvar init_aspect_ratio = __esm({\n \"src/components/atoms/ui/aspect-ratio.tsx\"() {\n \"use strict\";\n \"use client\";\n }\n});\n\n// src/components/atoms/ui/table.tsx\nimport * as React15 from \"react\";\nimport { jsx as jsx20 } from \"react/jsx-runtime\";\nvar Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption;\nvar init_table = __esm({\n \"src/components/atoms/ui/table.tsx\"() {\n \"use strict\";\n init_utils();\n Table = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\"div\", { className: \"relative w-full overflow-auto\", children: /* @__PURE__ */ jsx20(\n \"table\",\n {\n ref,\n className: cn(\"w-full caption-bottom text-sm text-foreground bg-background\", className, \"alq--table\"),\n ...props\n }\n ) }));\n Table.displayName = \"Table\";\n TableHeader = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\"thead\", { ref, className: cn(\"[&_tr]:border-b border-border bg-muted\", className, \"alq--table-header\"), ...props }));\n TableHeader.displayName = \"TableHeader\";\n TableBody = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\n \"tbody\",\n {\n ref,\n className: cn(\"[&_tr:last-child]:border-0 [&_tr]:border-b border-border\", className, \"alq--table-body\"),\n ...props\n }\n ));\n TableBody.displayName = \"TableBody\";\n TableFooter = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\n \"tfoot\",\n {\n ref,\n className: cn(\n \"border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n \"alq--table-footer\"\n ),\n ...props\n }\n ));\n TableFooter.displayName = \"TableFooter\";\n TableRow = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\n \"tr\",\n {\n 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 ));\n TableRow.displayName = \"TableRow\";\n TableHead = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\n \"th\",\n {\n 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 ));\n TableHead.displayName = \"TableHead\";\n TableCell = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\n \"td\",\n {\n ref,\n className: cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className),\n ...props\n }\n ));\n TableCell.displayName = \"TableCell\";\n TableCaption = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(\n \"caption\",\n {\n ref,\n className: cn(\"mt-4 text-sm text-muted-foreground\", className),\n ...props\n }\n ));\n TableCaption.displayName = \"TableCaption\";\n }\n});\n\n// src/components/atoms/ui/breadcrumb.tsx\nimport * as React16 from \"react\";\nimport { Slot as Slot2 } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport { jsx as jsx21, jsxs as jsxs5 } from \"react/jsx-runtime\";\nvar Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis;\nvar init_breadcrumb = __esm({\n \"src/components/atoms/ui/breadcrumb.tsx\"() {\n \"use strict\";\n init_utils();\n Breadcrumb = React16.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx21(\"nav\", { ref, \"aria-label\": \"breadcrumb\", ...props }));\n Breadcrumb.displayName = \"Breadcrumb\";\n BreadcrumbList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(\n \"ol\",\n {\n ref,\n className: cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n ),\n ...props\n }\n ));\n BreadcrumbList.displayName = \"BreadcrumbList\";\n BreadcrumbItem = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(\n \"li\",\n {\n ref,\n className: cn(\"inline-flex items-center gap-1.5\", className),\n ...props\n }\n ));\n BreadcrumbItem.displayName = \"BreadcrumbItem\";\n BreadcrumbLink = React16.forwardRef(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot2 : \"a\";\n return /* @__PURE__ */ jsx21(\n Comp,\n {\n ref,\n className: cn(\"transition-colors hover:text-foreground\", className),\n ...props\n }\n );\n });\n BreadcrumbLink.displayName = \"BreadcrumbLink\";\n BreadcrumbPage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(\n \"span\",\n {\n ref,\n role: \"link\",\n \"aria-disabled\": \"true\",\n \"aria-current\": \"page\",\n className: cn(\"font-normal text-foreground\", className),\n ...props\n }\n ));\n BreadcrumbPage.displayName = \"BreadcrumbPage\";\n BreadcrumbSeparator = ({\n children,\n className,\n ...props\n }) => /* @__PURE__ */ jsx21(\n \"li\",\n {\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n className: cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className),\n ...props,\n children: children ?? /* @__PURE__ */ jsx21(ChevronRight, {})\n }\n );\n BreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n BreadcrumbEllipsis = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsxs5(\n \"span\",\n {\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n className: cn(\"flex h-9 w-9 items-center justify-center\", className),\n ...props,\n children: [\n /* @__PURE__ */ jsx21(MoreHorizontal, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ jsx21(\"span\", { className: \"sr-only\", children: \"More\" })\n ]\n }\n );\n BreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\";\n }\n});\n\n// src/components/molecules/alert-dialog.tsx\nimport * as React17 from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\nimport { jsx as jsx22, jsxs as jsxs6 } from \"react/jsx-runtime\";\nvar AlertDialogPortal, AlertDialogOverlay, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogAction, AlertDialogCancel;\nvar init_alert_dialog = __esm({\n \"src/components/molecules/alert-dialog.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n init_button();\n AlertDialogPortal = AlertDialogPrimitive.Portal;\n AlertDialogOverlay = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(\n AlertDialogPrimitive.Overlay,\n {\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\n }\n ));\n AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;\n AlertDialogContent = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs6(AlertDialogPortal, { children: [\n /* @__PURE__ */ jsx22(AlertDialogOverlay, {}),\n /* @__PURE__ */ jsx22(\n AlertDialogPrimitive.Content,\n {\n 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 )\n ] }));\n AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n AlertDialogHeader = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsx22(\n \"div\",\n {\n className: cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n ),\n ...props\n }\n );\n AlertDialogHeader.displayName = \"AlertDialogHeader\";\n AlertDialogFooter = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsx22(\n \"div\",\n {\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 );\n AlertDialogFooter.displayName = \"AlertDialogFooter\";\n AlertDialogTitle = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(\n AlertDialogPrimitive.Title,\n {\n ref,\n className: cn(\"text-lg font-semibold\", className),\n ...props\n }\n ));\n AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;\n AlertDialogDescription = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(\n AlertDialogPrimitive.Description,\n {\n ref,\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n ));\n AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;\n AlertDialogAction = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(\n AlertDialogPrimitive.Action,\n {\n ref,\n className: cn(buttonVariants(), className),\n ...props\n }\n ));\n AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n AlertDialogCancel = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(\n AlertDialogPrimitive.Cancel,\n {\n ref,\n className: cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className\n ),\n ...props\n }\n ));\n AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\n }\n});\n\n// src/components/atoms/ui/popover.tsx\nimport * as React18 from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { jsx as jsx23 } from \"react/jsx-runtime\";\nvar PopoverContent;\nvar init_popover = __esm({\n \"src/components/atoms/ui/popover.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n PopoverContent = React18.forwardRef(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx23(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx23(\n PopoverPrimitive.Content,\n {\n ref,\n align,\n 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 ) }));\n PopoverContent.displayName = PopoverPrimitive.Content.displayName;\n }\n});\n\n// src/components/atoms/ui/dialog.tsx\nimport * as React19 from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport { jsx as jsx24, jsxs as jsxs7 } from \"react/jsx-runtime\";\nvar Dialog, DialogPortal, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;\nvar init_dialog = __esm({\n \"src/components/atoms/ui/dialog.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Dialog = DialogPrimitive.Root;\n DialogPortal = DialogPrimitive.Portal;\n DialogOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(\n DialogPrimitive.Overlay,\n {\n 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 ));\n DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n DialogContent = React19.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs7(DialogPortal, { children: [\n /* @__PURE__ */ jsx24(DialogOverlay, {}),\n /* @__PURE__ */ jsxs7(\n DialogPrimitive.Content,\n {\n 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 \"alq--dialog-content\"\n ),\n ...props,\n children: [\n children,\n /* @__PURE__ */ jsxs7(DialogPrimitive.Close, { 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\", children: [\n /* @__PURE__ */ jsx24(X, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ jsx24(\"span\", { className: \"sr-only\", children: \"Close\" })\n ] })\n ]\n }\n )\n ] }));\n DialogContent.displayName = DialogPrimitive.Content.displayName;\n DialogHeader = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsx24(\n \"div\",\n {\n className: cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left text-foreground\",\n className,\n \"alq--dialog-header\"\n ),\n ...props\n }\n );\n DialogHeader.displayName = \"DialogHeader\";\n DialogFooter = ({\n className,\n ...props\n }) => /* @__PURE__ */ jsx24(\n \"div\",\n {\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 );\n DialogFooter.displayName = \"DialogFooter\";\n DialogTitle = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(\n DialogPrimitive.Title,\n {\n ref,\n className: cn(\n \"text-lg font-semibold leading-none tracking-tight text-foreground\",\n className,\n \"alq--dialog-title\"\n ),\n ...props\n }\n ));\n DialogTitle.displayName = DialogPrimitive.Title.displayName;\n DialogDescription = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(\n DialogPrimitive.Description,\n {\n ref,\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n ));\n DialogDescription.displayName = DialogPrimitive.Description.displayName;\n }\n});\n\n// src/components/atoms/ui/command.tsx\nimport * as React20 from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport { jsx as jsx25, jsxs as jsxs8 } from \"react/jsx-runtime\";\nvar Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandSeparator, CommandItem, CommandShortcut;\nvar init_command = __esm({\n \"src/components/atoms/ui/command.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n init_dialog();\n Command = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(\n CommandPrimitive,\n {\n 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 ));\n Command.displayName = CommandPrimitive.displayName;\n CommandInput = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs8(\"div\", { className: \"flex items-center border-b px-3\", \"cmdk-input-wrapper\": \"\", children: [\n /* @__PURE__ */ jsx25(Search, { className: \"mr-2 h-4 w-4 shrink-0 opacity-50\" }),\n /* @__PURE__ */ jsx25(\n CommandPrimitive.Input,\n {\n ref,\n className: cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className\n ),\n ...props\n }\n )\n ] }));\n CommandInput.displayName = CommandPrimitive.Input.displayName;\n CommandList = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(\n CommandPrimitive.List,\n {\n ref,\n className: cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className),\n ...props\n }\n ));\n CommandList.displayName = CommandPrimitive.List.displayName;\n CommandEmpty = React20.forwardRef((props, ref) => /* @__PURE__ */ jsx25(\n CommandPrimitive.Empty,\n {\n ref,\n className: \"py-6 text-center text-sm\",\n ...props\n }\n ));\n CommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n CommandGroup = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(\n CommandPrimitive.Group,\n {\n 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 CommandGroup.displayName = CommandPrimitive.Group.displayName;\n CommandSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(\n CommandPrimitive.Separator,\n {\n ref,\n className: cn(\"-mx-1 h-px bg-border\", className),\n ...props\n }\n ));\n CommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n CommandItem = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx25(\n CommandPrimitive.Item,\n {\n ref,\n className: cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className\n ),\n ...props\n }\n ));\n CommandItem.displayName = CommandPrimitive.Item.displayName;\n CommandShortcut = ({\n className,\n ...props\n }) => {\n return /* @__PURE__ */ jsx25(\n \"span\",\n {\n className: cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n ),\n ...props\n }\n );\n };\n CommandShortcut.displayName = \"CommandShortcut\";\n }\n});\n\n// src/components/atoms/ui/toast.tsx\nimport * as React21 from \"react\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport { cva as cva6 } from \"class-variance-authority\";\nimport { X as X2 } from \"lucide-react\";\nimport { jsx as jsx26 } from \"react/jsx-runtime\";\nvar ToastViewport, toastVariants, Toast, ToastAction, ToastClose, ToastTitle, ToastDescription;\nvar init_toast = __esm({\n \"src/components/atoms/ui/toast.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n ToastViewport = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(\n ToastPrimitives.Viewport,\n {\n 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 ));\n ToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n toastVariants = cva6(\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: \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n Toast = React21.forwardRef(({ className, variant, ...props }, ref) => {\n return /* @__PURE__ */ jsx26(\n ToastPrimitives.Root,\n {\n ref,\n className: cn(toastVariants({ variant }), className),\n ...props\n }\n );\n });\n Toast.displayName = ToastPrimitives.Root.displayName;\n ToastAction = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(\n ToastPrimitives.Action,\n {\n ref,\n className: cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm 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 ));\n ToastAction.displayName = ToastPrimitives.Action.displayName;\n ToastClose = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(\n ToastPrimitives.Close,\n {\n 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 children: /* @__PURE__ */ jsx26(X2, { className: \"h-4 w-4\" })\n }\n ));\n ToastClose.displayName = ToastPrimitives.Close.displayName;\n ToastTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(\n ToastPrimitives.Title,\n {\n ref,\n className: cn(\"text-sm font-semibold\", className),\n ...props\n }\n ));\n ToastTitle.displayName = ToastPrimitives.Title.displayName;\n ToastDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx26(\n ToastPrimitives.Description,\n {\n ref,\n className: cn(\"text-sm opacity-90\", className),\n ...props\n }\n ));\n ToastDescription.displayName = ToastPrimitives.Description.displayName;\n }\n});\n\n// src/components/atoms/ui/loader.tsx\nimport * as React22 from \"react\";\nimport { cva as cva7 } from \"class-variance-authority\";\nimport { Loader2 } from \"lucide-react\";\nimport { jsx as jsx27 } from \"react/jsx-runtime\";\nvar loaderVariants, Loader;\nvar init_loader = __esm({\n \"src/components/atoms/ui/loader.tsx\"() {\n \"use strict\";\n init_utils();\n loaderVariants = cva7(\n \"flex justify-center items-center w-full\",\n {\n variants: {\n size: {\n small: \"h-6 w-6\",\n medium: \"h-8 w-8\",\n large: \"h-12 w-12\",\n xl: \"h-24 w-24\"\n },\n colorVariant: {\n default: \"text-primary\",\n primary: \"text-primary\",\n secondary: \"text-secondary\",\n destructive: \"text-destructive\"\n }\n },\n defaultVariants: {\n size: \"medium\",\n colorVariant: \"default\"\n }\n }\n );\n Loader = React22.forwardRef(\n ({ className, size, colorVariant, ...props }, ref) => /* @__PURE__ */ jsx27(\n \"div\",\n {\n ref,\n className: cn(loaderVariants({ size, colorVariant }), \"flex justify-center items-center h-full w-full\", className),\n ...props,\n children: /* @__PURE__ */ jsx27(Loader2, { className: \"animate-spin\" })\n }\n )\n );\n Loader.displayName = \"Loader\";\n }\n});\n\n// src/components/atoms/ui/separator.tsx\nimport * as React23 from \"react\";\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\nimport { jsx as jsx28 } from \"react/jsx-runtime\";\nvar Separator2;\nvar init_separator = __esm({\n \"src/components/atoms/ui/separator.tsx\"() {\n \"use strict\";\n \"use client\";\n init_utils();\n Separator2 = React23.forwardRef(({ className, orientation = \"horizontal\", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx28(\n SeparatorPrimitive.Root,\n {\n ref,\n decorative,\n orientation,\n className: cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className,\n \"alq--separator\"\n ),\n ...props\n }\n ));\n Separator2.displayName = SeparatorPrimitive.Root.displayName;\n }\n});\n\n// src/components/hooks/use-toast.ts\nimport * as React24 from \"react\";\nvar init_use_toast = __esm({\n \"src/components/hooks/use-toast.ts\"() {\n \"use strict\";\n \"use client\";\n }\n});\n\n// src/components/atoms/ui/toaster.tsx\nimport { jsx as jsx29, jsxs as jsxs9 } from \"react/jsx-runtime\";\nvar init_toaster = __esm({\n \"src/components/atoms/ui/toaster.tsx\"() {\n \"use strict\";\n \"use client\";\n init_use_toast();\n init_toast();\n }\n});\n\n// src/components/atoms/ui/think-indicator.tsx\nimport * as React25 from \"react\";\nimport { useState as useState2, useEffect as useEffect2 } from \"react\";\nimport { cva as cva8 } from \"class-variance-authority\";\nimport { jsx as jsx30, jsxs as jsxs10 } from \"react/jsx-runtime\";\nvar thinkIndicatorVariants, ThinkIndicator;\nvar init_think_indicator = __esm({\n \"src/components/atoms/ui/think-indicator.tsx\"() {\n \"use strict\";\n \"use client\";\n init_atoms();\n init_utils();\n thinkIndicatorVariants = cva8(\n \"flex items-center gap-3\",\n {\n variants: {\n variant: {\n default: \"text-muted-foreground\",\n primary: \"text-primary\",\n secondary: \"text-secondary\"\n },\n size: {\n default: \"gap-3\",\n sm: \"gap-2\",\n lg: \"gap-4\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n );\n ThinkIndicator = React25.forwardRef(\n ({\n className,\n variant,\n size,\n thoughts = [\n \"Analyzing your request...\",\n \"Processing information...\",\n \"Formulating response...\"\n ],\n interval = 5e3,\n loader,\n ...props\n }, ref) => {\n const [currentThoughtIndex, setCurrentThoughtIndex] = useState2(0);\n const [isAnimating, setIsAnimating] = useState2(false);\n useEffect2(() => {\n const timer = setInterval(() => {\n setIsAnimating(true);\n setTimeout(() => {\n setCurrentThoughtIndex((prev) => {\n return prev < thoughts.length - 1 ? prev + 1 : prev;\n });\n setIsAnimating(false);\n }, 300);\n }, interval);\n if (currentThoughtIndex === thoughts.length - 1) {\n clearInterval(timer);\n }\n return () => clearInterval(timer);\n }, [thoughts, interval, currentThoughtIndex]);\n return /* @__PURE__ */ jsxs10(\n \"div\",\n {\n ref,\n className: cn(thinkIndicatorVariants({ variant, size }), className, \"alq--think-indicator\"),\n ...props,\n children: [\n loader || /* @__PURE__ */ jsx30(\n Loader,\n {\n className: cn(\n size === \"sm\" ? \"h-3 w-3\" : size === \"lg\" ? \"h-5 w-5\" : \"h-4 w-4\"\n )\n }\n ),\n /* @__PURE__ */ jsx30(\n \"div\",\n {\n className: cn(\n \"alq--think-indicator-text\",\n \"transition-all duration-300\",\n isAnimating ? \"opacity-0 -translate-y-2\" : \"opacity-100 translate-y-0\"\n ),\n children: thoughts[currentThoughtIndex]\n }\n )\n ]\n }\n );\n }\n );\n ThinkIndicator.displayName = \"ThinkIndicator\";\n }\n});\n\n// src/components/atoms/index.ts\nvar init_atoms = __esm({\n \"src/components/atoms/index.ts\"() {\n \"use strict\";\n init_button();\n init_textarea();\n init_input();\n init_select();\n init_avatar();\n init_scroll_area();\n init_rich_text();\n init_skeleton();\n init_card();\n init_drawer();\n init_typography();\n init_badge();\n init_alert();\n init_input();\n init_label();\n init_checkbox();\n init_toggle();\n init_select();\n init_slider();\n init_switch();\n init_tabs();\n init_aspect_ratio();\n init_table();\n init_breadcrumb();\n init_alert_dialog();\n init_popover();\n init_command();\n init_dialog();\n init_toast();\n init_loader();\n init_separator();\n init_toaster();\n init_think_indicator();\n }\n});\n\n// src/components/hooks/use-resize-observer.ts\nimport { useEffect as useEffect3, useRef } from \"react\";\nfunction useResizeObserver(element, options2, observerCallback) {\n const observerRef = useRef(null);\n useEffect3(() => {\n if (!element) return;\n observerRef.current = new ResizeObserver(observerCallback);\n observerRef.current.observe(element, options2);\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, [element, options2, observerCallback]);\n}\nvar init_use_resize_observer = __esm({\n \"src/components/hooks/use-resize-observer.ts\"() {\n \"use strict\";\n }\n});\n\n// src/components/molecules/viewers/pdf-viewer.tsx\nvar pdf_viewer_exports = {};\n__export(pdf_viewer_exports, {\n default: () => PdfViewer\n});\nimport { useState as useState4, useCallback, useEffect as useEffect4 } from \"react\";\nimport { ChevronLeft, ChevronRight as ChevronRight2, ZoomIn, ZoomOut } from \"lucide-react\";\nimport { pdfjs, Document, Page } from \"react-pdf\";\nimport \"react-pdf/dist/esm/Page/AnnotationLayer.css\";\nimport \"react-pdf/dist/esm/Page/TextLayer.css\";\nimport { Fragment, jsx as jsx31, jsxs as jsxs11 } from \"react/jsx-runtime\";\nfunction PdfViewer({ doc, docId }) {\n const [numPages, setNumPages] = useState4(0);\n const [pageNumber, setPageNumber] = useState4(1);\n const [scale, setScale] = useState4(1);\n const [containerRef, setContainerRef] = useState4(null);\n const [containerWidth, setContainerWidth] = useState4();\n const onResize = useCallback((entries) => {\n const [entry] = entries;\n if (entry) {\n setContainerWidth(entry.contentRect.width);\n }\n }, []);\n useResizeObserver(containerRef, resizeObserverOptions, onResize);\n function onDocumentLoadSuccess({ numPages: nextNumPages }) {\n setNumPages(nextNumPages);\n }\n const resetDocument = () => {\n setPageNumber(1);\n setScale(1);\n };\n useEffect4(() => {\n resetDocument();\n }, []);\n const handlePrevPage = () => setPageNumber((prev) => Math.max(prev - 1, 1));\n const handleNextPage = () => setPageNumber((prev) => Math.min(prev + 1, numPages));\n const handleZoomIn = () => setScale((prev) => Math.min(prev + 0.1, 2));\n const handleZoomOut = () => setScale((prev) => Math.max(prev - 0.1, 0.5));\n const handleKeyDown = useCallback((e) => {\n if (e.key === \"ArrowLeft\") {\n handlePrevPage();\n } else if (e.key === \"ArrowRight\") {\n handleNextPage();\n }\n }, [handlePrevPage, handleNextPage]);\n useEffect4(() => {\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [handleKeyDown]);\n const handleDownloadFile = () => {\n const docUrl = doc && URL.createObjectURL(doc);\n const a = document.createElement(\"a\");\n a.href = docUrl || \"\";\n a.download = docId;\n a.click();\n URL.revokeObjectURL(docUrl || \"\");\n };\n return /* @__PURE__ */ jsxs11(Fragment, { children: [\n /* @__PURE__ */ jsxs11(\"div\", { className: \"flex justify-between items-center p-4 border-b border-border\", children: [\n /* @__PURE__ */ jsxs11(\"div\", { children: [\n /* @__PURE__ */ jsx31(\n Button,\n {\n onClick: handlePrevPage,\n disabled: pageNumber <= 1,\n children: /* @__PURE__ */ jsx31(ChevronLeft, { className: \"h-4 w-4\" })\n }\n ),\n /* @__PURE__ */ jsxs11(\"span\", { className: \"mx-2\", children: [\n \"Page \",\n pageNumber,\n \" of \",\n numPages\n ] }),\n /* @__PURE__ */ jsx31(\n Button,\n {\n onClick: handleNextPage,\n disabled: pageNumber >= numPages,\n children: /* @__PURE__ */ jsx31(ChevronRight2, { className: \"h-4 w-4\" })\n }\n )\n ] }),\n /* @__PURE__ */ jsxs11(\"div\", { children: [\n /* @__PURE__ */ jsx31(Button, { onClick: handleZoomOut, children: /* @__PURE__ */ jsx31(ZoomOut, { className: \"h-4 w-4\" }) }),\n /* @__PURE__ */ jsxs11(\"span\", { className: \"mx-2\", children: [\n (scale * 100).toFixed(0),\n \"%\"\n ] }),\n /* @__PURE__ */ jsx31(Button, { onClick: handleZoomIn, children: /* @__PURE__ */ jsx31(ZoomIn, { className: \"h-4 w-4\" }) })\n ] })\n ] }),\n /* @__PURE__ */ jsx31(\"div\", { ref: setContainerRef, className: \"overflow-auto\", children: /* @__PURE__ */ jsx31(\n Document,\n {\n file: doc,\n onLoadSuccess: onDocumentLoadSuccess,\n options,\n loading: /* @__PURE__ */ jsx31(Loader, { size: \"xl\", colorVariant: \"destructive\" }),\n children: /* @__PURE__ */ jsx31(\n Page,\n {\n pageNumber,\n scale,\n width: containerWidth,\n className: \"w-full\"\n }\n )\n }\n ) })\n ] });\n}\nvar options, resizeObserverOptions;\nvar init_pdf_viewer = __esm({\n \"src/components/molecules/viewers/pdf-viewer.tsx\"() {\n \"use strict\";\n \"use client\";\n init_atoms();\n init_use_resize_observer();\n pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;\n options = {\n cMapUrl: \"/cmaps/\",\n standardFontDataUrl: \"/standard_fonts/\",\n cMapPacked: true\n };\n resizeObserverOptions = {};\n }\n});\n\n// src/components/molecules/viewers/plain-text-viewer.tsx\nvar plain_text_viewer_exports = {};\n__export(plain_text_viewer_exports, {\n default: () => PlainTextViewer\n});\nimport { useState as useState5, useEffect as useEffect5 } from \"react\";\nimport { Fragment as Fragment2, jsx as jsx32, jsxs as jsxs12 } from \"react/jsx-runtime\";\nfunction PlainTextViewer({ doc }) {\n const [content, setContent] = useState5(null);\n const [loading, setLoading] = useState5(true);\n useEffect5(() => {\n async function parseDocument() {\n try {\n if (doc && doc.type === \"text/plain\") {\n const text = await doc.text();\n setContent(text);\n }\n } catch (err) {\n console.error(\"Error parsing Document:\", err);\n } finally {\n setLoading(false);\n }\n }\n parseDocument();\n }, [doc]);\n return /* @__PURE__ */ jsx32(Fragment2, { children: /* @__PURE__ */ jsxs12(\"div\", { className: \"relative w-full h-full max-h-[80vh] overflow-y-auto p-8 alq--prose\", children: [\n loading && /* @__PURE__ */ jsx32(Loader, {}),\n !loading && /* @__PURE__ */ jsx32(RichText, { content: content || \"\" })\n ] }) });\n}\nvar init_plain_text_viewer = __esm({\n \"src/components/molecules/viewers/plain-text-viewer.tsx\"() {\n \"use strict\";\n \"use client\";\n init_atoms();\n }\n});\n\n// src/components/molecules/documents/document-selector.tsx\ninit_atoms();\nimport { useState as useState6 } from \"react\";\nimport { ExternalLink } from \"lucide-react\";\n\n// src/components/molecules/documents/document-viewer.tsx\ninit_atoms();\nimport React28, { useEffect as useEffect6, Suspense } from \"react\";\n\n// src/components/hooks/use-document.tsx\nimport { useState as useState3 } from \"react\";\nvar useDocumentReader = (url, getDocument) => {\n const [loading, setLoading] = useState3(true);\n const [error, setError] = useState3(null);\n const [document2, setDocument] = useState3(null);\n const handleDocumentError = (error2) => {\n const errorMessage = \"Hubo un error al obtener el documento. Por favor ponganse en contacto con el administrador.\";\n setError(errorMessage);\n throw new Error(error2?.message || \"Unknown error\");\n };\n const resetDocument = () => {\n setDocument(null);\n };\n const fetchDocument = async () => {\n setLoading(true);\n setError(null);\n try {\n const res = await getDocument(url);\n if (!res.success) {\n handleDocumentError(res.error || new Error(\"Unknown error\"));\n setLoading(false);\n return;\n }\n res.data && setDocument(res.data);\n } catch (error2) {\n handleDocumentError(error2);\n } finally {\n setLoading(false);\n }\n };\n return { document: document2, loading, fetchDocument, resetDocument, error };\n};\n\n// src/components/molecules/documents/document-viewer.tsx\nimport { jsx as jsx33, jsxs as jsxs13 } from \"react/jsx-runtime\";\nvar PdfViewer2 = React28.lazy(() => Promise.resolve().then(() => (init_pdf_viewer(), pdf_viewer_exports)));\nvar PlainTextViewer2 = React28.lazy(() => Promise.resolve().then(() => (init_plain_text_viewer(), plain_text_viewer_exports)));\nvar DocumentViewer = ({\n docId,\n doc,\n isOpen,\n onClose,\n getDocument\n}) => {\n const { document: document2, loading, fetchDocument, resetDocument, error } = useDocumentReader(doc.id, getDocument);\n useEffect6(() => {\n resetDocument();\n if (isOpen) {\n fetchDocument();\n }\n }, [isOpen]);\n const documentRender = document2 && !error ? /* @__PURE__ */ jsx33(DocumentFactory, { document: document2, docId: doc.id }) : /* @__PURE__ */ jsx33(\"div\", { className: \"flex flex-col items-center justify-center h-full w-full text-center p-4\", children: /* @__PURE__ */ jsx33(\"div\", { className: \"text-primary font-medium\", children: error }) });\n return /* @__PURE__ */ jsx33(Dialog, { open: isOpen, onOpenChange: onClose, children: /* @__PURE__ */ jsxs13(\n DialogContent,\n {\n \"aria-describedby\": document2 ? \"document-description\" : void 0,\n className: \"h-[90%] max-w-[90%] gap-0 flex flex-col focus:outline-none alq--document-viewer-container\",\n children: [\n /* @__PURE__ */ jsx33(DialogHeader, { className: \"border-b border-border pb-2\", children: /* @__PURE__ */ jsx33(DialogTitle, { children: doc.name }) }),\n !document2 && loading ? /* @__PURE__ */ jsx33(Loader, { size: \"xl\", colorVariant: \"destructive\" }) : documentRender\n ]\n }\n ) });\n};\nvar DocumentFactory = ({ document: document2, docId }) => {\n const fallback = /* @__PURE__ */ jsx33(Loader, { size: \"xl\", colorVariant: \"destructive\" });\n switch (document2 && document2.type) {\n case \"application/pdf\":\n return /* @__PURE__ */ jsx33(Suspense, { fallback, children: /* @__PURE__ */ jsx33(PdfViewer2, { doc: document2, docId }) });\n case \"text/plain\":\n return /* @__PURE__ */ jsx33(Suspense, { fallback, children: /* @__PURE__ */ jsx33(PlainTextViewer2, { doc: document2, docId }) });\n default:\n return /* @__PURE__ */ jsx33(\"div\", { children: \"Unsupported file type\" });\n }\n};\n\n// src/components/molecules/documents/document-selector.tsx\nimport { jsx as jsx34, jsxs as jsxs14 } from \"react/jsx-runtime\";\nvar DocumentSelector = ({ documents, getDocument, logInfoMessage }) => {\n const [selectedDocName, setSelectedDocName] = useState6(void 0);\n const [selectedDoc, setSelectedDoc] = useState6(null);\n const [isModalOpen, setIsModalOpen] = useState6(false);\n const handleDocumentClick = (doc, event) => {\n event.stopPropagation();\n setSelectedDoc(doc);\n logInfoMessage(\"Selected document\", {\n documentId: doc.id,\n documentName: doc.name\n });\n setIsModalOpen(true);\n };\n const handleDrawerClose = () => {\n setIsModalOpen(false);\n };\n return /* @__PURE__ */ jsxs14(\"div\", { className: \"w-full md:w-4/6 alq--document-selector\", children: [\n /* @__PURE__ */ jsxs14(Select, { value: selectedDocName, onValueChange: setSelectedDocName, children: [\n /* @__PURE__ */ jsx34(SelectTrigger, { \"aria-label\": \"Documentos\", children: /* @__PURE__ */ jsx34(SelectValue, { placeholder: \"Documentos\" }) }),\n /* @__PURE__ */ jsx34(SelectContent, { children: /* @__PURE__ */ jsxs14(SelectGroup, { children: [\n /* @__PURE__ */ jsx34(SelectLabel, { children: \"Documents\" }),\n documents.map((doc) => /* @__PURE__ */ jsxs14(\"div\", { className: \"w-full flex relative\", children: [\n /* @__PURE__ */ jsx34(SelectItem, { className: \"w-full\", value: doc.id, children: /* @__PURE__ */ jsx34(\"div\", { className: \"flex justify-between w-full\", children: /* @__PURE__ */ jsx34(\"p\", { className: \"h-4 truncate mr-5\", children: doc.name }) }) }, doc.id),\n /* @__PURE__ */ jsx34(\n \"div\",\n {\n onClick: (event) => handleDocumentClick(doc, event),\n className: \"bflex items-center text-gray-400 hover:text-gray-500 absolute right-0 mt-2\",\n \"aria-label\": `Open ${doc.name}`,\n children: /* @__PURE__ */ jsx34(ExternalLink, { className: \"h-4 w-4 mx-2\" })\n }\n )\n ] }, doc.id))\n ] }) })\n ] }),\n selectedDoc && /* @__PURE__ */ jsx34(\n DocumentViewer,\n {\n doc: selectedDoc,\n docName: selectedDocName || \"\",\n isOpen: isModalOpen,\n onClose: handleDrawerClose,\n getDocument\n }\n )\n ] });\n};\nexport {\n DocumentSelector,\n DocumentViewer\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function parseTextToSpeech(content: string) {\n return content.replace(/[^\\p{L}\\p{N}\\s.,:]/gu, '');\n}\n\n\nexport function blobToBase64(blob: Blob): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result as string);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n};\n\nexport const truncateString = (str: string, maxLength: number): string => {\n if (str.length <= maxLength) {\n return str;\n }\n return str.slice(0, maxLength) + \"...\";\n};\n\nexport function getCookies(name: string) {\n if (typeof document === 'undefined') return undefined;\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop()?.split(\";\").shift();\n}\n\nexport function hasToolResult(data: any) {\n return data?.tool_output?.result && Object.keys(data.tool_output.result).length > 0;\n}\n\nexport function getErrorMessage(error_code?: string) {\n switch (error_code) {\n case \"STREAM_ERROR\":\n return \"Connection lost. Please try again.\";\n case \"REQUEST_ERROR\":\n return \"There was a problem with your request. Please try again.\";\n case \"401\":\n case \"403\":\n return \"You are not authorized. Please try again.\";\n case \"404\":\n return \"Resource not found.\";\n case \"500\":\n return \"Server error. Please try again later.\";\n default:\n return \"We have an internal error, please try again later.\";\n }\n}\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-sm 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\";\n\nimport { cn } from \"../../../lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\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-sm 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 \"alq--textarea\"\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n","import { forwardRef } from \"react\";\n\nimport { cn } from \"../../../lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = 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-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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 \"alq--input\"\n )}\n ref={ref}\n {...props}\n />\n );\n }\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\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-sm 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 \"alq--select\"\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-sm 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-sm 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","\"use client\"\n\nimport * 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","\"use client\"\n\nimport * 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 ReactMarkdown from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport { cn } from \"../../../lib/utils\";\n\ninterface RichTextProps extends React.HTMLAttributes<HTMLDivElement> {\n content: string;\n className?: string;\n}\n\nfunction RichText({ content, className }: RichTextProps) {\n return (\n <ReactMarkdown className={cn(className)} remarkPlugins={[remarkGfm]}>\n {content}\n </ReactMarkdown>\n );\n}\n\nexport { RichText };\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 text-muted-foreground\", className, \"alq--skeleton\")}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\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 \"rounded-lg\",\n \" border\",\n \"bg-card\",\n \"text-card-foreground\",\n \"shadow-raised\",\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(\"alq--typography-heading4\", className)}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\";\n\nimport * 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 border-border bg-background text-foreground alq--drawer-content\",\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, \"alq--drawer-header\")}\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, \"alq--drawer-footer\")}\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 \"alq--drawer-title\"\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-sm text-muted-foreground\", className, \"alq--drawer-description\")}\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 { cn } from \"../../../../lib/utils\";\nimport { forwardRef } from \"react\";\n\nexport interface TypographyProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"span\";\n typeStyle:\n | \"display\"\n | \"heading1\"\n | \"heading2\"\n | \"heading3\"\n | \"heading4\"\n | \"small\"\n | \"tiny\";\n}\n\nconst Typography = forwardRef<HTMLDivElement, TypographyProps>(\n ({ as: Component = \"p\", typeStyle, ...props }, ref) => {\n return (\n <Component\n {...props}\n className={cn(props.className, `alq--typography-${typeStyle}`)}\n ref={ref}\n />\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography };\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\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className, \"alq--badge\")} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\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-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n","\"use client\";\n\nimport * 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-sm 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, \"alq--label\")}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","\"use client\";\n\nimport * 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 \"alq--checkbox\"\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","\"use client\";\n\nimport * 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-sm 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 }), \"alq--toggle\")}\n {...props}\n />\n));\n\nToggle.displayName = TogglePrimitive.Root.displayName;\n\nexport { Toggle, toggleVariants };\n","\"use client\";\n\nimport * 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-44 touch-none select-none items-center\",\n className,\n \"alq--slider\"\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-44 grow overflow-hidden rounded-full bg-primary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-secondary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-gray 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","\"use client\";\n\nimport * 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 \"alq--switch\"\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","\"use client\";\n\nimport * 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 <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md p-1 text-muted-foreground\",\n className,\n \"alq--tabs\"\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:border-b-2 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-b-2 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","\"use client\"\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport { AspectRatio }\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-sm text-foreground bg-background\", className, \"alq--table\")}\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 border-border bg-muted\", className, \"alq--table-header\")} {...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 [&_tr]:border-b border-border\", className, \"alq--table-body\")}\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 border-border bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n \"alq--table-footer\"\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-sm 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 { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\n\nimport { cn } from \"../../../lib/utils\";\ninterface BreadcrumbItemProps {\n label: string;\n href?: string;\n current?: boolean;\n}\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-sm 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","\"use client\";\n\nimport * as React from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\n\nimport { cn } from \"../../lib/utils\";\nimport { buttonVariants } from \"../atoms/ui/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-sm 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","\"use client\";\n\nimport * 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","\"use client\";\n\nimport * 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 \"alq--dialog-content\"\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close 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 text-foreground\",\n className,\n \"alq--dialog-header\"\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 text-foreground\",\n className,\n \"alq--dialog-title\"\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", 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","\"use client\";\n\nimport * 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\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command 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-sm 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-sm\"\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 gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\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","\"use client\";\n\nimport * 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-sm 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-sm 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-sm 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","// Loader.tsx\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../../lib/utils\";\nimport { Loader2 } from \"lucide-react\";\n\nconst loaderVariants = cva(\n \"flex justify-center items-center w-full\",\n {\n variants: {\n size: {\n small: \"h-6 w-6\",\n medium: \"h-8 w-8\",\n large: \"h-12 w-12\",\n xl: \"h-24 w-24\",\n },\n colorVariant: {\n default: \"text-primary\",\n primary: \"text-primary\",\n secondary: \"text-secondary\",\n destructive: \"text-destructive\",\n },\n },\n defaultVariants: {\n size: \"medium\",\n colorVariant: \"default\",\n },\n }\n);\n\ninterface LoaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof loaderVariants> {}\n\nconst Loader = React.forwardRef<HTMLDivElement, LoaderProps>(\n (\n { className, size, colorVariant, ...props },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(loaderVariants({ size, colorVariant }), \"flex justify-center items-center h-full w-full\", className)}\n {...props}\n >\n <Loader2 className=\"animate-spin\" />\n </div>\n )\n);\n\nLoader.displayName = \"Loader\";\n\nexport { Loader };","\"use client\"\n\nimport * 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>(({ className, orientation = \"horizontal\", decorative = true, ...props }, ref) => (\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 \"alq--separator\"\n )}\n {...props}\n />\n))\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from \"../../components/atoms/ui/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","\"use client\";\n\nimport * as React from \"react\";\nimport { useToast } from \"../../hooks/use-toast\";\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from \"./toast\";\n\nfunction Toaster() {\n const { toasts } = useToast();\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }: any) {\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\nexport { Toaster };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { useState, useEffect } from \"react\";\nimport { Loader } from \"..\";\nimport { cn } from \"../../../lib/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nconst thinkIndicatorVariants = cva(\n \"flex items-center gap-3\",\n {\n variants: {\n variant: {\n default: \"text-muted-foreground\",\n primary: \"text-primary\",\n secondary: \"text-secondary\",\n },\n size: {\n default: \"gap-3\",\n sm: \"gap-2\",\n lg: \"gap-4\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nexport interface ThinkIndicatorProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof thinkIndicatorVariants> {\n thoughts?: string[];\n interval?: number;\n loader?: React.ReactNode;\n}\n\nexport const ThinkIndicator = React.forwardRef<HTMLDivElement, ThinkIndicatorProps>(\n ({ \n className, \n variant,\n size,\n thoughts = [\n \"Analyzing your request...\",\n \"Processing information...\",\n \"Formulating response...\",\n ],\n interval = 5000, \n loader,\n ...props \n }, ref) => {\n const [currentThoughtIndex, setCurrentThoughtIndex] = useState<number>(0);\n const [isAnimating, setIsAnimating] = useState<boolean>(false);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIsAnimating(true);\n setTimeout(() => {\n setCurrentThoughtIndex((prev) => {\n return prev < thoughts.length - 1 ? prev + 1 : prev;\n });\n setIsAnimating(false);\n }, 300);\n }, interval);\n\n if (currentThoughtIndex === thoughts.length - 1) {\n clearInterval(timer);\n }\n\n return () => clearInterval(timer);\n }, [thoughts, interval, currentThoughtIndex]);\n\n return (\n <div\n ref={ref}\n className={cn(thinkIndicatorVariants({ variant, size }), className, \"alq--think-indicator\")}\n {...props}\n >\n {loader || (\n <Loader \n className={cn(\n size === \"sm\" ? \"h-3 w-3\" : size === \"lg\" ? \"h-5 w-5\" : \"h-4 w-4\"\n )} \n />\n )}\n <div\n className={cn(\n \"alq--think-indicator-text\",\n \"transition-all duration-300\",\n isAnimating ? \"opacity-0 -translate-y-2\" : \"opacity-100 translate-y-0\"\n )}\n >\n {thoughts[currentThoughtIndex]}\n </div>\n </div>\n );\n }\n);\n\nThinkIndicator.displayName = \"ThinkIndicator\";\n\nexport { thinkIndicatorVariants };","export * from \"./ui/button\";\nexport * from \"./ui/textarea\";\nexport * from \"./ui/input\";\nexport * from \"./ui/select\";\nexport * from \"./ui/avatar\";\nexport * from \"./ui/scroll-area\";\nexport * from \"./ui/rich-text\";\nexport * from \"./ui/skeleton\";\nexport * from \"./ui/card\";\nexport * from \"./ui/drawer\";\nexport * from \"./ui/typography\";\nexport * from \"./ui/badge\";\nexport * from \"./ui/alert\";\nexport * from \"./ui/input\";\nexport * from \"./ui/label\";\nexport * from \"./ui/checkbox\";\nexport * from \"./ui/toggle\";\nexport * from \"./ui/select\";\nexport * from \"./ui/slider\";\nexport * from \"./ui/switch\";\nexport * from \"./ui/tabs\";\nexport * from \"./ui/aspect-ratio\";\nexport * from \"./ui/table\";\nexport * from \"./ui/breadcrumb\";\nexport * from \"../molecules/alert-dialog\";\nexport * from \"./ui/popover\";\nexport * from \"./ui/command\";\nexport * from \"./ui/dialog\";\nexport * from \"./ui/toast\";\nexport * from \"./ui/loader\";\nexport * from \"./ui/separator\";\nexport * from \"./ui/toaster\";\nexport * from \"./ui/think-indicator\";","import { useEffect, useRef } from 'react';\n\ntype ResizeObserverOptions = {\n box?: 'content-box' | 'border-box';\n};\n\ntype ResizeObserverCallback = (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n\nexport default function useResizeObserver(\n element: Element | null,\n options: ResizeObserverOptions | undefined,\n observerCallback: ResizeObserverCallback\n): void {\n const observerRef = useRef<ResizeObserver | null>(null);\n\n useEffect(() => {\n if (!element) return;\n\n observerRef.current = new ResizeObserver(observerCallback);\n observerRef.current.observe(element, options);\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n };\n }, [element, options, observerCallback]);\n}\n","'use client'\n\nimport React, { useState, useCallback, useEffect } from 'react'\nimport { Button, Loader } from '../../atoms';\nimport { ChevronLeft, ChevronRight, ZoomIn, ZoomOut, Download } from 'lucide-react'\nimport useResizeObserver from '../../hooks/use-resize-observer';\nimport { pdfjs, Document, Page } from 'react-pdf';\nimport 'react-pdf/dist/esm/Page/AnnotationLayer.css';\nimport 'react-pdf/dist/esm/Page/TextLayer.css';\n\npdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.mjs`;\n\nconst options = {\n cMapUrl: '/cmaps/',\n standardFontDataUrl: '/standard_fonts/',\n cMapPacked: true,\n};\n\nconst resizeObserverOptions = {};\n\ntype PdfViewerProps = {\n doc: Blob | null;\n loading?: boolean;\n docId: string;\n}\n\nexport default function PdfViewer({ doc, docId }: PdfViewerProps) {\n const [numPages, setNumPages] = useState<number>(0);\n const [pageNumber, setPageNumber] = useState<number>(1);\n const [scale, setScale] = useState<number>(1);\n const [containerRef, setContainerRef] = useState<HTMLElement | null>(null);\n const [containerWidth, setContainerWidth] = useState<number>();\n\n const onResize = useCallback<ResizeObserverCallback>((entries) => {\n const [entry] = entries;\n if (entry) {\n setContainerWidth(entry.contentRect.width);\n }\n }, []);\n\n useResizeObserver(containerRef, resizeObserverOptions, onResize);\n\n function onDocumentLoadSuccess({ numPages: nextNumPages }: pdfjs.PDFDocumentProxy): void {\n setNumPages(nextNumPages);\n }\n\n const resetDocument = () => {\n setPageNumber(1);\n setScale(1);\n }\n\n useEffect(() => {\n resetDocument()\n }, []);\n\n\n const handlePrevPage = () => setPageNumber((prev) => Math.max(prev - 1, 1));\n const handleNextPage = () => setPageNumber((prev) => Math.min(prev + 1, numPages));\n const handleZoomIn = () => setScale((prev) => Math.min(prev + 0.1, 2));\n const handleZoomOut = () => setScale((prev) => Math.max(prev - 0.1, 0.5));\n\n const handleKeyDown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'ArrowLeft') {\n handlePrevPage();\n } else if (e.key === 'ArrowRight') {\n handleNextPage();\n }\n }, [handlePrevPage, handleNextPage]);\n\n useEffect(() => {\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n\n\n const handleDownloadFile = () => {\n const docUrl = doc && URL.createObjectURL(doc);\n const a = document.createElement('a');\n a.href = docUrl || '';\n a.download = docId;\n a.click();\n URL.revokeObjectURL(docUrl || '');\n };\n\n return (\n <>\n <div className=\"flex justify-between items-center p-4 border-b border-border\">\n <div>\n <Button \n onClick={handlePrevPage} \n disabled={pageNumber <= 1}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </Button>\n <span className=\"mx-2\">\n Page {pageNumber} of {numPages}\n </span>\n <Button \n onClick={handleNextPage} \n disabled={pageNumber >= numPages}\n >\n <ChevronRight className=\"h-4 w-4\" />\n </Button>\n </div>\n {/* <div>\n <Button onClick={handleDownloadFile}>\n <Download className=\"h-4 w-4\" />\n </Button>\n </div> */}\n <div>\n <Button onClick={handleZoomOut}>\n <ZoomOut className=\"h-4 w-4\" />\n </Button>\n <span className=\"mx-2\">{(scale * 100).toFixed(0)}%</span>\n <Button onClick={handleZoomIn}>\n <ZoomIn className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n <div ref={setContainerRef} className=\"overflow-auto\">\n <Document\n file={doc}\n // file={`/docs/${docId}`}\n onLoadSuccess={onDocumentLoadSuccess}\n options={options}\n loading={<Loader size=\"xl\" colorVariant=\"destructive\" />}\n >\n <Page\n pageNumber={pageNumber}\n scale={scale}\n width={containerWidth}\n className=\"w-full\"\n />\n </Document>\n </div>\n </>\n );\n}\n","\"use client\";\n\nimport React, { useState, useEffect } from \"react\";\nimport { Loader, RichText } from \"../../atoms\";\n\ntype PlainTextViewerProps = {\n doc: Blob | null;\n docId?: string;\n};\n\nexport default function PlainTextViewer({ doc }: PlainTextViewerProps) {\n const [content, setContent] = useState<string | null>(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n async function parseDocument() {\n try {\n if (doc && doc.type === \"text/plain\") {\n const text = await doc.text();\n setContent(text);\n }\n } catch (err) {\n console.error(\"Error parsing Document:\", err);\n } finally {\n setLoading(false);\n }\n }\n\n parseDocument();\n }, [doc]);\n\n return (\n <>\n <div className=\"relative w-full h-full max-h-[80vh] overflow-y-auto p-8 alq--prose\">\n {loading && <Loader />}\n {!loading && <RichText content={content || \"\"} />}\n </div>\n </>\n );\n}\n","import React, { useState } from 'react';\nimport {\n Select,\n SelectTrigger,\n SelectContent,\n SelectItem,\n SelectLabel,\n SelectGroup,\n SelectValue,\n} from \"../../atoms\";\nimport { AlquimiaDocument, ActionResponse } from '../../../types/type';\nimport { ExternalLink } from \"lucide-react\";\nimport { DocumentViewer } from './document-viewer';\n\ntype DocumentSelectorProps = {\n documents: AlquimiaDocument[];\n getDocument: (id: string) => Promise<ActionResponse<Blob>>\n logInfoMessage: (info: string, data: any) => void\n}\nexport const DocumentSelector = ({ documents, getDocument, logInfoMessage }: DocumentSelectorProps) =>{\n const [selectedDocName, setSelectedDocName] = useState<string | undefined>(undefined);\n const [selectedDoc, setSelectedDoc] = useState<string | null>(null);\n const [isModalOpen, setIsModalOpen] = useState<boolean>(false);\n\n\n const handleDocumentClick = (doc: any, event: React.MouseEvent) => {\n event.stopPropagation();\n setSelectedDoc(doc);\n logInfoMessage(\"Selected document\", {\n documentId: doc.id,\n documentName: doc.name,\n });\n setIsModalOpen(true);\n };\n\n const handleDrawerClose = () => {\n setIsModalOpen(false)\n }\n\n return (\n <div className=\"w-full md:w-4/6 alq--document-selector\">\n <Select value={selectedDocName} onValueChange={setSelectedDocName}>\n <SelectTrigger aria-label=\"Documentos\">\n <SelectValue placeholder=\"Documentos\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Documents</SelectLabel>\n {documents.map((doc) => (\n <div key={doc.id} className=\"w-full flex relative\">\n <SelectItem className=\"w-full\" key={doc.id} value={doc.id}>\n <div className=\"flex justify-between w-full\">\n <p className=\"h-4 truncate mr-5\">{doc.name}</p>\n </div>\n </SelectItem>\n <div\n onClick={(event) => handleDocumentClick(doc, event)}\n className=\"bflex items-center text-gray-400 hover:text-gray-500 absolute right-0 mt-2\"\n aria-label={`Open ${doc.name}`}\n >\n <ExternalLink className=\"h-4 w-4 mx-2\" />\n </div>\n </div>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n {selectedDoc && (\n <DocumentViewer\n doc={selectedDoc}\n docName={selectedDocName || ''}\n isOpen={isModalOpen}\n onClose={handleDrawerClose}\n getDocument={getDocument}\n />\n )}\n </div>\n );\n}\n","'use client'\n\nimport React, { useEffect, Suspense } from 'react'\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n Loader\n} from \"../../atoms\";\nimport { useDocumentReader } from '../../hooks/use-document';\nimport { ActionResponse } from '../../../types/type';\nconst PdfViewer = React.lazy(() => import(\"../viewers/pdf-viewer\"));\nconst PlainTextViewer = React.lazy(() => import(\"../viewers/plain-text-viewer\"));\n\ntype DocumentViewerProps = {\n docId?: string;\n doc: any;\n docName: string;\n isOpen: boolean;\n onClose: () => void;\n getDocument: (id: string) => Promise<ActionResponse<Blob>>;\n};\n\nexport const DocumentViewer = ({\n docId,\n doc,\n isOpen,\n onClose,\n getDocument,\n}: DocumentViewerProps) => {\n const { document, loading, fetchDocument, resetDocument, error } =\n useDocumentReader(doc.id, getDocument);\n\n useEffect(() => {\n resetDocument();\n\n if (isOpen) {\n fetchDocument();\n }\n }, [isOpen]);\n\n const documentRender = document && !error ? (\n <DocumentFactory document={document} docId={doc.id} />\n ) : (\n <div className=\"flex flex-col items-center justify-center h-full w-full text-center p-4\">\n <div className=\"text-primary font-medium\">{error}</div>\n </div>\n );\n\n return (\n <Dialog open={isOpen} onOpenChange={onClose}>\n <DialogContent\n aria-describedby={document ? \"document-description\" : undefined}\n className=\"h-[90%] max-w-[90%] gap-0 flex flex-col focus:outline-none alq--document-viewer-container\"\n >\n <DialogHeader className=\"border-b border-border pb-2\">\n <DialogTitle>{doc.name}</DialogTitle>\n </DialogHeader>\n {!document && loading ? (\n <Loader size=\"xl\" colorVariant=\"destructive\" />\n ) : (\n documentRender\n )}\n </DialogContent>\n </Dialog>\n );\n};\n\ntype DocViewerFactoryProps = {\n document: Blob | null;\n docId: string;\n};\n\nconst DocumentFactory: React.FC<DocViewerFactoryProps> = ({ document, docId }) => {\n const fallback = <Loader size=\"xl\" colorVariant=\"destructive\" />;\n switch (document && document.type) {\n case 'application/pdf':\n return (\n <Suspense fallback={fallback}>\n <PdfViewer doc={document} docId={docId} />\n </Suspense>\n );\n case 'text/plain':\n return (\n <Suspense fallback={fallback}>\n <PlainTextViewer doc={document} docId={docId} />\n </Suspense>\n );\n default:\n return <div>Unsupported file type</div>;\n }\n};\n","\"use client\";\n\nimport { useState } from \"react\";\nimport { ApiError, ActionResponse } from \"../../types/type\";\n\nexport const useDocumentReader = (\n url: string,\n getDocument: (id: string) => Promise<ActionResponse<Blob>>,\n) => {\n const [loading, setLoading] = useState<boolean>(true);\n const [error, setError] = useState<string | null>(null);\n const [document, setDocument] = useState<Blob | null>(null);\n\n const handleDocumentError = (error: ApiError) => {\n const errorMessage = \"Hubo un error al obtener el documento. Por favor ponganse en contacto con el administrador.\";\n setError(errorMessage);\n throw new Error(error?.message || 'Unknown error');\n };\n\n const resetDocument = () => {\n setDocument(null);\n };\n\n const fetchDocument = async () => {\n setLoading(true);\n setError(null);\n \n try {\n const res = await getDocument(url);\n if (!res.success) {\n handleDocumentError(res.error as ApiError || new Error('Unknown error'));\n setLoading(false);\n return;\n }\n res.data && setDocument(res.data);\n } catch (error) {\n handleDocumentError(error as ApiError);\n } finally {\n setLoading(false);\n }\n };\n\n return { document, loading, fetchDocument, resetDocument, error };\n};\n"]}