@alquimia-ai/ui 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/sdk-frontend/sdk-frontend/packages/ui/dist/index.js","../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/hooks/use-toast.ts","../src/components/atoms/ui/toaster.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/index.ts","../src/components/templates/messages-window.tsx","../src/components/templates/query-box.tsx","../src/components/templates/hero/index.tsx","../src/components/templates/cards/with-image-heading-description.tsx","../src/components/templates/cards/with-image-heading-description-avatar.tsx","../src/components/organisms/whisper.tsx","../src/components/organisms/speechToText.tsx","../src/components/organisms/assistant.tsx","../src/components/molecules/page-container.tsx","../src/components/molecules/index.ts","../src/components/molecules/carousel.tsx","../src/components/molecules/navigation-menu.tsx","../src/components/molecules/sidebar.tsx","../src/components/molecules/sonner.tsx","../src/components/molecules/rating-stars.tsx","../src/components/molecules/rating-thumbs.tsx","../src/components/molecules/rating-comment.tsx","../src/components/molecules/documents/document-selector.tsx","../src/components/molecules/documents/document-viewer.tsx","../src/components/hooks/use-document.tsx","../src/components/molecules/call-out.tsx","../src/components/organisms/rating-dialog.tsx","../src/components/hooks/index.ts","../src/types/type.ts"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__esm","fn","res","__init","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","cn","inputs","import_tailwind_merge","twMerge","import_clsx","clsx","parseTextToSpeech","content","replace","blobToBase64","blob","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","getCookies","parts","document","cookie","split","length","pop","shift","truncateString","init_utils","require","str","maxLength","slice","React","import_react_slot","import_class_variance_authority","buttonVariants","Button","init_button","cva","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","React2","forwardRef","ref","className","asChild","props","Comp","Slot","createElement","displayName","Textarea","init_textarea","React3","import_react","Input","init_input","type","SelectPrimitive","import_lucide_react","Select","SelectGroup","SelectValue","SelectTrigger","SelectScrollUpButton","SelectScrollDownButton","SelectContent","SelectLabel","SelectItem","SelectSeparator","init_select","Root","Group","Value","React4","children","Trigger","Icon","ChevronDown","ScrollUpButton","ChevronUp","ScrollDownButton","position","Portal","Content","Viewport","Label","Item","ItemIndicator","Check","ItemText","Separator","AvatarPrimitive","Avatar","AvatarImage","AvatarFallback","init_avatar","React5","Image","Fallback","ScrollAreaPrimitive","ScrollArea","ScrollBar","init_scroll_area","React6","Corner","orientation","ScrollAreaScrollbar","ScrollAreaThumb","RichText","React7","import_react_markdown","ReactMarkdown","remarkPlugins","import_remark_gfm","remarkGfm","init_rich_text","Skeleton","init_skeleton","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","init_card","React8","import_vaul","Drawer","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","DrawerContent","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription","init_drawer","shouldScaleBackground","React9","DrawerPrimitive","Close","Overlay","Title","Description","Typography","init_typography","import_react2","Component","as","typeStyle","Badge","React10","badgeVariants","init_badge","import_class_variance_authority2","alertVariants","Alert","AlertTitle","AlertDescription","init_alert","import_class_variance_authority3","React11","role","LabelPrimitive","labelVariants","init_label","import_class_variance_authority4","React12","CheckboxPrimitive","Checkbox","init_checkbox","React13","Indicator","import_lucide_react2","TogglePrimitive","toggleVariants","Toggle","init_toggle","import_class_variance_authority5","React14","SliderPrimitive","Slider","init_slider","React15","Track","Range","Thumb","SwitchPrimitives","Switch","init_switch","React16","TabsPrimitive","Tabs","TabsList","TabsTrigger","TabsContent","init_tabs","React17","List","AspectRatioPrimitive","AspectRatio","init_aspect_ratio","Table","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","init_table","React18","Breadcrumb","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbPage","BreadcrumbSeparator","BreadcrumbEllipsis","init_breadcrumb","React19","import_react_slot2","import_lucide_react3","ChevronRight","MoreHorizontal","AlertDialogPrimitive","AlertDialog","AlertDialogTrigger","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","init_alert_dialog","React20","Action","Cancel","PopoverPrimitive","Popover","PopoverTrigger","PopoverContent","init_popover","React21","align","sideOffset","DialogPrimitive","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","DialogContent","DialogHeader","DialogFooter","DialogTitle","DialogDescription","init_dialog","React22","import_lucide_react4","X","import_cmdk","Command","CommandDialog","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","init_command","React23","CommandPrimitive","import_lucide_react5","Search","Empty","ToastPrimitives","ToastProvider","ToastViewport","toastVariants","Toast","ToastAction","ToastClose","ToastTitle","ToastDescription","init_toast","Provider","React24","import_class_variance_authority6","import_lucide_react6","loaderVariants","Loader","init_loader","import_class_variance_authority7","small","medium","large","xl","colorVariant","primary","React25","import_lucide_react7","Loader2","genId","count","Number","MAX_SAFE_INTEGER","toString","dispatch","action","memoryState","reducer","listeners","forEach","listener","toast","id","update","dismiss","toastId","open","onOpenChange","useToast","React26","useState","state","setState","useEffect","push","index","indexOf","splice","TOAST_LIMIT","TOAST_REMOVE_DELAY","toastTimeouts","addToRemoveQueue","init_use_toast","Map","has","timeout","setTimeout","delete","set","toasts","map","t","filter","Toaster","React27","title","description","init_toaster","init_atoms","useResizeObserver","element","options","observerCallback","observerRef","import_react10","useRef","current","ResizeObserver","observe","disconnect","init_use_resize_observer","pdf_viewer_exports","PdfViewer","doc","docId","import_react11","numPages","setNumPages","pageNumber","setPageNumber","scale","setScale","containerRef","setContainerRef","containerWidth","setContainerWidth","onResize","useCallback","entries","entry","contentRect","width","resizeObserverOptions","onDocumentLoadSuccess","nextNumPages","resetDocument","handlePrevPage","prev","Math","max","handleNextPage","min","handleZoomIn","handleZoomOut","handleKeyDown","e","window","addEventListener","removeEventListener","handleDownloadFile","docUrl","URL","createObjectURL","a","href","download","click","revokeObjectURL","Fragment","onClick","disabled","import_lucide_react14","ChevronLeft","ZoomOut","toFixed","ZoomIn","import_react_pdf","Document","file","onLoadSuccess","loading","Page","import_AnnotationLayer","import_TextLayer","init_pdf_viewer","pdfjs","GlobalWorkerOptions","workerSrc","version","cMapUrl","standardFontDataUrl","cMapPacked","plain_text_viewer_exports","PlainTextViewer","import_react12","setContent","setLoading","parseDocument","text","err","console","error","init_plain_text_viewer","index_exports","Assistant","AssistantInput","AssistantMessageArea","CallOut","CallOutActions","CallOutDate","CallOutResponse","CardImageWithHeadingAndDescriptionAvatarHorizontal","CardImageWithHeadingAndDescriptionHorizontal","CardWithImageHeadingDescriptionAvatarVertical","CardWithImageHeadingDescriptionVertical","Carousel","CarouselContent","CarouselItem","CarouselNext","CarouselPrevious","DocumentSelector","EditingStatus","Hero","HeroContent","MessagesWindow","NavigationMenu","NavigationMenuContent","NavigationMenuIndicator","NavigationMenuItem","NavigationMenuLink","NavigationMenuList","NavigationMenuTrigger","NavigationMenuViewport","PageContainer","QueryBox","RatingComment","RatingDialog","RatingStars","RatingThumbs","Sidebar","SidebarFooter","SonnerToaster","SpeechToText","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","Whisper","navigationMenuTriggerStyle","useDocumentReader","module","exports","import_react3","import_react4","import_react5","showBorder","image","heading","AvatarInfo","userName","email","avatarImage","src","message","isMessageStreaming","textToSpeech","import_react6","audioUrl","setAudioUrl","isPlaying","setIsPlaying","isLoading","setIsLoading","handlePlaying","handlePause","handleEnded","resetAudio","currentTime","pause","handleAudioPlay","play","handleTextToSpeech","filteredContent","audioFile","url","audio","Audio","import_lucide_react8","AudioLinesIcon","LoaderPinwheelIcon","PlayCircleIcon","speechToText","RecordAudioIcon","IdleAudioIcon","handleReplaceInput","setIsAudioRecording","import_react7","isRecording","setIsRecording","mediaRecorder","setMediaRecorder","audioBlob","setAudioBlob","startRecording","stream","recorder","navigator","mediaDevices","getUserMedia","MediaRecorder","ondataavailable","event","data","start","stopRecording","stop","getTracks","track","handleSpeechToText","audioBase64","transcription","handleRecordButtonClick","recordIcons","import_react8","import_embla_carousel_react","CarouselContext","React28","createContext","useCarousel","context","useContext","Error","opts","setApi","plugins","useEmblaCarousel","axis","carouselRef","api","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","preventDefault","on","off","onKeyDownCapture","import_lucide_react9","ArrowLeft","ArrowRight","NavigationMenuPrimitive","React29","import_class_variance_authority8","import_lucide_react10","Link","sidebarVariants","import_class_variance_authority9","React30","items","selectedSection","footerContent","selectedVariant","defaultVariant","buttonClassName","item","import_next_themes","import_sonner","useTheme","theme","React31","Sonner","toastOptions","classNames","actionButton","cancelButton","TooltipPrimitive","React32","StarRating","rating","onRate","star","import_lucide_react11","Star","currentRating","setOpen","animate","setAnimate","handleRate","timer","clearTimeout","hasRated","side","React33","direction","import_lucide_react12","ThumbsUp","ThumbsDown","React34","comment","setComment","import_lucide_react13","Book","rows","onChange","getDocument","import_react9","setError","setDocument","handleDocumentError","errorMessage","fetchDocument","success","import_dynamic","dynamic","then","ssr","DocumentViewer","isOpen","onClose","import_react13","documentRender","DocumentFactory","documents","logInfoMessage","import_react14","selectedDocName","setSelectedDocName","selectedDoc","setSelectedDoc","isModalOpen","setIsModalOpen","handleDocumentClick","stopPropagation","documentId","documentName","handleDrawerClose","onValueChange","placeholder","import_lucide_react15","ExternalLink","docName","React39","actions","isClicked","setIsClicked","label","additionalInfo","React40","sdk","AssistantHeader","AssistantTitle","AssistantDescription","messages","messagesEndRef","streamingMessageId","import_react15","scrollIntoView","behavior","created_at","Date","toLocaleString","day","month","year","hour","minute","second","hour12","error_code","sendMessageFunc","isButtonDisabled","input","handleInputChange","onSubmit","import_lucide_react16","Send","import_hooks","sendRating","topicId","assistantId","setHasRatedTopic","useRatings","ratingStars","ratingThumbs","ratingComment","onHandleRateSuccess","altText","handleCancelRate","newRating"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\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};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/lib/utils.ts\nfunction cn(...inputs) {\n return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));\n}\nfunction parseTextToSpeech(content) {\n return content.replace(/[^\\p{L}\\p{N}\\s.,:]/gu, \"\");\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n });\n}\nfunction getCookies(name) {\n if (typeof document === \"undefined\") return void 0;\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop()?.split(\";\").shift();\n}\nvar import_clsx, import_tailwind_merge, truncateString;\nvar init_utils = __esm({\n \"src/lib/utils.ts\"() {\n \"use strict\";\n import_clsx = require(\"clsx\");\n import_tailwind_merge = require(\"tailwind-merge\");\n truncateString = (str, maxLength) => {\n if (str.length <= maxLength) {\n return str;\n }\n return str.slice(0, maxLength) + \"...\";\n };\n }\n});\n\n// src/components/atoms/ui/button.tsx\nvar React2, import_react_slot, import_class_variance_authority, buttonVariants, Button;\nvar init_button = __esm({\n \"src/components/atoms/ui/button.tsx\"() {\n \"use strict\";\n React2 = __toESM(require(\"react\"));\n import_react_slot = require(\"@radix-ui/react-slot\");\n import_class_variance_authority = require(\"class-variance-authority\");\n init_utils();\n buttonVariants = (0, import_class_variance_authority.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 = React2.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? import_react_slot.Slot : \"button\";\n return /* @__PURE__ */ React2.createElement(\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\nvar React3, Textarea;\nvar init_textarea = __esm({\n \"src/components/atoms/ui/textarea.tsx\"() {\n \"use strict\";\n React3 = __toESM(require(\"react\"));\n init_utils();\n Textarea = React3.forwardRef(\n ({ className, ...props }, ref) => {\n return /* @__PURE__ */ React3.createElement(\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\nvar import_react, Input;\nvar init_input = __esm({\n \"src/components/atoms/ui/input.tsx\"() {\n \"use strict\";\n import_react = require(\"react\");\n init_utils();\n Input = (0, import_react.forwardRef)(\n ({ className, type, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\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\nvar React4, SelectPrimitive, import_lucide_react, 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 React4 = __toESM(require(\"react\"));\n SelectPrimitive = __toESM(require(\"@radix-ui/react-select\"));\n import_lucide_react = require(\"lucide-react\");\n init_utils();\n Select = SelectPrimitive.Root;\n SelectGroup = SelectPrimitive.Group;\n SelectValue = SelectPrimitive.Value;\n SelectTrigger = React4.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React4.createElement(\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 },\n children,\n /* @__PURE__ */ React4.createElement(SelectPrimitive.Icon, { asChild: true }, /* @__PURE__ */ React4.createElement(import_lucide_react.ChevronDown, { className: \"h-4 w-4 opacity-50\" }))\n ));\n SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n SelectScrollUpButton = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(\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 },\n /* @__PURE__ */ React4.createElement(import_lucide_react.ChevronUp, { className: \"h-4 w-4\" })\n ));\n SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n SelectScrollDownButton = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(\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 },\n /* @__PURE__ */ React4.createElement(import_lucide_react.ChevronDown, { className: \"h-4 w-4\" })\n ));\n SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n SelectContent = React4.forwardRef(({ className, children, position = \"popper\", ...props }, ref) => /* @__PURE__ */ React4.createElement(SelectPrimitive.Portal, null, /* @__PURE__ */ React4.createElement(\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 },\n /* @__PURE__ */ React4.createElement(SelectScrollUpButton, null),\n /* @__PURE__ */ React4.createElement(\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 },\n children\n ),\n /* @__PURE__ */ React4.createElement(SelectScrollDownButton, null)\n )));\n SelectContent.displayName = SelectPrimitive.Content.displayName;\n SelectLabel = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(\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 = React4.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React4.createElement(\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 },\n /* @__PURE__ */ React4.createElement(\"span\", { className: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\" }, /* @__PURE__ */ React4.createElement(SelectPrimitive.ItemIndicator, null, /* @__PURE__ */ React4.createElement(import_lucide_react.Check, { className: \"h-4 w-4\" }))),\n /* @__PURE__ */ React4.createElement(SelectPrimitive.ItemText, null, children)\n ));\n SelectItem.displayName = SelectPrimitive.Item.displayName;\n SelectSeparator = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(\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\nvar React5, AvatarPrimitive, Avatar, AvatarImage, AvatarFallback;\nvar init_avatar = __esm({\n \"src/components/atoms/ui/avatar.tsx\"() {\n \"use strict\";\n \"use client\";\n React5 = __toESM(require(\"react\"));\n AvatarPrimitive = __toESM(require(\"@radix-ui/react-avatar\"));\n init_utils();\n Avatar = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(\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 = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(\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 = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(\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\nvar React6, ScrollAreaPrimitive, ScrollArea, ScrollBar;\nvar init_scroll_area = __esm({\n \"src/components/atoms/ui/scroll-area.tsx\"() {\n \"use strict\";\n \"use client\";\n React6 = __toESM(require(\"react\"));\n ScrollAreaPrimitive = __toESM(require(\"@radix-ui/react-scroll-area\"));\n init_utils();\n ScrollArea = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React6.createElement(\n ScrollAreaPrimitive.Root,\n {\n ref,\n className: cn(\"relative overflow-hidden\", className),\n ...props\n },\n /* @__PURE__ */ React6.createElement(ScrollAreaPrimitive.Viewport, { className: \"h-full w-full rounded-[inherit]\" }, children),\n /* @__PURE__ */ React6.createElement(ScrollBar, null),\n /* @__PURE__ */ React6.createElement(ScrollAreaPrimitive.Corner, null)\n ));\n ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n ScrollBar = React6.forwardRef(({ className, orientation = \"vertical\", ...props }, ref) => /* @__PURE__ */ React6.createElement(\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 },\n /* @__PURE__ */ React6.createElement(ScrollAreaPrimitive.ScrollAreaThumb, { className: \"relative flex-1 rounded-full bg-border\" })\n ));\n ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n }\n});\n\n// src/components/atoms/ui/rich-text.tsx\nfunction RichText({ content, className }) {\n return /* @__PURE__ */ React7.createElement(import_react_markdown.default, { className: cn(className), remarkPlugins: [import_remark_gfm.default] }, content);\n}\nvar React7, import_react_markdown, import_remark_gfm;\nvar init_rich_text = __esm({\n \"src/components/atoms/ui/rich-text.tsx\"() {\n \"use strict\";\n React7 = __toESM(require(\"react\"));\n import_react_markdown = __toESM(require(\"react-markdown\"));\n import_remark_gfm = __toESM(require(\"remark-gfm\"));\n init_utils();\n }\n});\n\n// src/components/atoms/ui/skeleton.tsx\nfunction Skeleton({\n className,\n ...props\n}) {\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: cn(\"animate-pulse rounded-md bg-muted\", className),\n ...props\n }\n );\n}\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\nvar React8, Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter;\nvar init_card = __esm({\n \"src/components/atoms/ui/card.tsx\"() {\n \"use strict\";\n React8 = __toESM(require(\"react\"));\n init_utils();\n Card = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React8.createElement(\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 = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React8.createElement(\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 = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React8.createElement(\n \"h3\",\n {\n ref,\n className: cn(\"alq--typography-heading4\", className),\n ...props\n }\n ));\n CardTitle.displayName = \"CardTitle\";\n CardDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React8.createElement(\n \"p\",\n {\n ref,\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n ));\n CardDescription.displayName = \"CardDescription\";\n CardContent = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React8.createElement(\"div\", { ref, className: cn(\"p-6 pt-0\", className), ...props }));\n CardContent.displayName = \"CardContent\";\n CardFooter = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React8.createElement(\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\nvar React9, import_vaul, 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 React9 = __toESM(require(\"react\"));\n import_vaul = require(\"vaul\");\n init_utils();\n Drawer = ({\n shouldScaleBackground = true,\n ...props\n }) => /* @__PURE__ */ React9.createElement(\n import_vaul.Drawer.Root,\n {\n shouldScaleBackground,\n ...props\n }\n );\n Drawer.displayName = \"Drawer\";\n DrawerTrigger = import_vaul.Drawer.Trigger;\n DrawerPortal = import_vaul.Drawer.Portal;\n DrawerClose = import_vaul.Drawer.Close;\n DrawerOverlay = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React9.createElement(\n import_vaul.Drawer.Overlay,\n {\n ref,\n className: cn(\"fixed inset-0 z-50 bg-black/80\", className),\n ...props\n }\n ));\n DrawerOverlay.displayName = import_vaul.Drawer.Overlay.displayName;\n DrawerContent = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React9.createElement(DrawerPortal, null, /* @__PURE__ */ React9.createElement(DrawerOverlay, null), /* @__PURE__ */ React9.createElement(\n import_vaul.Drawer.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 bg-background\",\n className\n ),\n ...props\n },\n /* @__PURE__ */ React9.createElement(\"div\", { className: \"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" }),\n children\n )));\n DrawerContent.displayName = \"DrawerContent\";\n DrawerHeader = ({\n className,\n ...props\n }) => /* @__PURE__ */ React9.createElement(\n \"div\",\n {\n className: cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className),\n ...props\n }\n );\n DrawerHeader.displayName = \"DrawerHeader\";\n DrawerFooter = ({\n className,\n ...props\n }) => /* @__PURE__ */ React9.createElement(\n \"div\",\n {\n className: cn(\"mt-auto flex flex-col gap-2 p-4\", className),\n ...props\n }\n );\n DrawerFooter.displayName = \"DrawerFooter\";\n DrawerTitle = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React9.createElement(\n import_vaul.Drawer.Title,\n {\n ref,\n className: cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n ),\n ...props\n }\n ));\n DrawerTitle.displayName = import_vaul.Drawer.Title.displayName;\n DrawerDescription = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React9.createElement(\n import_vaul.Drawer.Description,\n {\n ref,\n className: cn(\"text-sm text-muted-foreground\", className),\n ...props\n }\n ));\n DrawerDescription.displayName = import_vaul.Drawer.Description.displayName;\n }\n});\n\n// src/components/atoms/ui/typography/index.tsx\nvar import_react2, Typography;\nvar init_typography = __esm({\n \"src/components/atoms/ui/typography/index.tsx\"() {\n \"use strict\";\n init_utils();\n import_react2 = require(\"react\");\n Typography = (0, import_react2.forwardRef)(\n ({ as: Component = \"p\", typeStyle, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\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\nfunction Badge({ className, variant, ...props }) {\n return /* @__PURE__ */ React10.createElement(\"div\", { className: cn(badgeVariants({ variant }), className, \"alq--badge\"), ...props });\n}\nvar React10, import_class_variance_authority2, badgeVariants;\nvar init_badge = __esm({\n \"src/components/atoms/ui/badge.tsx\"() {\n \"use strict\";\n React10 = __toESM(require(\"react\"));\n import_class_variance_authority2 = require(\"class-variance-authority\");\n init_utils();\n badgeVariants = (0, import_class_variance_authority2.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: \"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\nvar React11, import_class_variance_authority3, alertVariants, Alert, AlertTitle, AlertDescription;\nvar init_alert = __esm({\n \"src/components/atoms/ui/alert.tsx\"() {\n \"use strict\";\n React11 = __toESM(require(\"react\"));\n import_class_variance_authority3 = require(\"class-variance-authority\");\n init_utils();\n alertVariants = (0, import_class_variance_authority3.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: \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n Alert = React11.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ React11.createElement(\n \"div\",\n {\n ref,\n role: \"alert\",\n className: cn(alertVariants({ variant }), className),\n ...props\n }\n ));\n Alert.displayName = \"Alert\";\n AlertTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React11.createElement(\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 = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React11.createElement(\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\nvar React12, LabelPrimitive, import_class_variance_authority4, labelVariants, Label2;\nvar init_label = __esm({\n \"src/components/atoms/ui/label.tsx\"() {\n \"use strict\";\n \"use client\";\n React12 = __toESM(require(\"react\"));\n LabelPrimitive = __toESM(require(\"@radix-ui/react-label\"));\n import_class_variance_authority4 = require(\"class-variance-authority\");\n init_utils();\n labelVariants = (0, import_class_variance_authority4.cva)(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n );\n Label2 = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React12.createElement(\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\nvar React13, CheckboxPrimitive, import_lucide_react2, Checkbox;\nvar init_checkbox = __esm({\n \"src/components/atoms/ui/checkbox.tsx\"() {\n \"use strict\";\n \"use client\";\n React13 = __toESM(require(\"react\"));\n CheckboxPrimitive = __toESM(require(\"@radix-ui/react-checkbox\"));\n import_lucide_react2 = require(\"lucide-react\");\n init_utils();\n Checkbox = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React13.createElement(\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 },\n /* @__PURE__ */ React13.createElement(\n CheckboxPrimitive.Indicator,\n {\n className: cn(\"flex items-center justify-center text-current\")\n },\n /* @__PURE__ */ React13.createElement(import_lucide_react2.Check, { className: \"h-4 w-4\" })\n )\n ));\n Checkbox.displayName = CheckboxPrimitive.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/toggle.tsx\nvar React14, TogglePrimitive, import_class_variance_authority5, toggleVariants, Toggle;\nvar init_toggle = __esm({\n \"src/components/atoms/ui/toggle.tsx\"() {\n \"use strict\";\n \"use client\";\n React14 = __toESM(require(\"react\"));\n TogglePrimitive = __toESM(require(\"@radix-ui/react-toggle\"));\n import_class_variance_authority5 = require(\"class-variance-authority\");\n init_utils();\n toggleVariants = (0, import_class_variance_authority5.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: \"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 = React14.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ React14.createElement(\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\nvar React15, SliderPrimitive, Slider;\nvar init_slider = __esm({\n \"src/components/atoms/ui/slider.tsx\"() {\n \"use strict\";\n \"use client\";\n React15 = __toESM(require(\"react\"));\n SliderPrimitive = __toESM(require(\"@radix-ui/react-slider\"));\n init_utils();\n Slider = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React15.createElement(\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 },\n /* @__PURE__ */ React15.createElement(SliderPrimitive.Track, { className: \"relative h-2 w-44 grow overflow-hidden rounded-full bg-primary\" }, /* @__PURE__ */ React15.createElement(SliderPrimitive.Range, { className: \"absolute h-full bg-secondary\" })),\n /* @__PURE__ */ React15.createElement(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 Slider.displayName = SliderPrimitive.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/switch.tsx\nvar React16, SwitchPrimitives, Switch;\nvar init_switch = __esm({\n \"src/components/atoms/ui/switch.tsx\"() {\n \"use strict\";\n \"use client\";\n React16 = __toESM(require(\"react\"));\n SwitchPrimitives = __toESM(require(\"@radix-ui/react-switch\"));\n init_utils();\n Switch = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React16.createElement(\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 },\n /* @__PURE__ */ React16.createElement(\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 Switch.displayName = SwitchPrimitives.Root.displayName;\n }\n});\n\n// src/components/atoms/ui/tabs.tsx\nvar React17, TabsPrimitive, Tabs, TabsList, TabsTrigger, TabsContent;\nvar init_tabs = __esm({\n \"src/components/atoms/ui/tabs.tsx\"() {\n \"use strict\";\n \"use client\";\n React17 = __toESM(require(\"react\"));\n TabsPrimitive = __toESM(require(\"@radix-ui/react-tabs\"));\n init_utils();\n Tabs = TabsPrimitive.Root;\n TabsList = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React17.createElement(\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 = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React17.createElement(\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 = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React17.createElement(\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\nvar AspectRatioPrimitive, AspectRatio;\nvar init_aspect_ratio = __esm({\n \"src/components/atoms/ui/aspect-ratio.tsx\"() {\n \"use strict\";\n \"use client\";\n AspectRatioPrimitive = __toESM(require(\"@radix-ui/react-aspect-ratio\"));\n AspectRatio = AspectRatioPrimitive.Root;\n }\n});\n\n// src/components/atoms/ui/table.tsx\nvar React18, Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell, TableCaption;\nvar init_table = __esm({\n \"src/components/atoms/ui/table.tsx\"() {\n \"use strict\";\n React18 = __toESM(require(\"react\"));\n init_utils();\n Table = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\"div\", { className: \"relative w-full overflow-auto\" }, /* @__PURE__ */ React18.createElement(\n \"table\",\n {\n ref,\n className: cn(\"w-full caption-bottom text-sm\", className, \"alq--table\"),\n ...props\n }\n )));\n Table.displayName = \"Table\";\n TableHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\"thead\", { ref, className: cn(\"[&_tr]:border-b\", className), ...props }));\n TableHeader.displayName = \"TableHeader\";\n TableBody = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\n \"tbody\",\n {\n ref,\n className: cn(\"[&_tr:last-child]:border-0\", className),\n ...props\n }\n ));\n TableBody.displayName = \"TableBody\";\n TableFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\n \"tfoot\",\n {\n ref,\n className: cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n ),\n ...props\n }\n ));\n TableFooter.displayName = \"TableFooter\";\n TableRow = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\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 = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\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 = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\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 = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React18.createElement(\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\nvar React19, import_react_slot2, import_lucide_react3, Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, BreadcrumbEllipsis;\nvar init_breadcrumb = __esm({\n \"src/components/atoms/ui/breadcrumb.tsx\"() {\n \"use strict\";\n React19 = __toESM(require(\"react\"));\n import_react_slot2 = require(\"@radix-ui/react-slot\");\n import_lucide_react3 = require(\"lucide-react\");\n init_utils();\n Breadcrumb = React19.forwardRef(({ ...props }, ref) => /* @__PURE__ */ React19.createElement(\"nav\", { ref, \"aria-label\": \"breadcrumb\", ...props }));\n Breadcrumb.displayName = \"Breadcrumb\";\n BreadcrumbList = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React19.createElement(\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 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React19.createElement(\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 = React19.forwardRef(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? import_react_slot2.Slot : \"a\";\n return /* @__PURE__ */ React19.createElement(\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 = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React19.createElement(\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__ */ React19.createElement(\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 },\n children ?? /* @__PURE__ */ React19.createElement(import_lucide_react3.ChevronRight, null)\n );\n BreadcrumbSeparator.displayName = \"BreadcrumbSeparator\";\n BreadcrumbEllipsis = ({\n className,\n ...props\n }) => /* @__PURE__ */ React19.createElement(\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 },\n /* @__PURE__ */ React19.createElement(import_lucide_react3.MoreHorizontal, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ React19.createElement(\"span\", { className: \"sr-only\" }, \"More\")\n );\n BreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\";\n }\n});\n\n// src/components/molecules/alert-dialog.tsx\nvar React20, AlertDialogPrimitive, AlertDialog, AlertDialogTrigger, 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 React20 = __toESM(require(\"react\"));\n AlertDialogPrimitive = __toESM(require(\"@radix-ui/react-alert-dialog\"));\n init_utils();\n init_button();\n AlertDialog = AlertDialogPrimitive.Root;\n AlertDialogTrigger = AlertDialogPrimitive.Trigger;\n AlertDialogPortal = AlertDialogPrimitive.Portal;\n AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React20.createElement(\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 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React20.createElement(AlertDialogPortal, null, /* @__PURE__ */ React20.createElement(AlertDialogOverlay, null), /* @__PURE__ */ React20.createElement(\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 AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;\n AlertDialogHeader = ({\n className,\n ...props\n }) => /* @__PURE__ */ React20.createElement(\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__ */ React20.createElement(\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 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React20.createElement(\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 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React20.createElement(\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 = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React20.createElement(\n AlertDialogPrimitive.Action,\n {\n ref,\n className: cn(buttonVariants(), className),\n ...props\n }\n ));\n AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\n AlertDialogCancel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React20.createElement(\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\nvar React21, PopoverPrimitive, Popover, PopoverTrigger, PopoverContent;\nvar init_popover = __esm({\n \"src/components/atoms/ui/popover.tsx\"() {\n \"use strict\";\n \"use client\";\n React21 = __toESM(require(\"react\"));\n PopoverPrimitive = __toESM(require(\"@radix-ui/react-popover\"));\n init_utils();\n Popover = PopoverPrimitive.Root;\n PopoverTrigger = PopoverPrimitive.Trigger;\n PopoverContent = React21.forwardRef(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React21.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ React21.createElement(\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\nvar React22, DialogPrimitive, import_lucide_react4, Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;\nvar init_dialog = __esm({\n \"src/components/atoms/ui/dialog.tsx\"() {\n \"use strict\";\n \"use client\";\n React22 = __toESM(require(\"react\"));\n DialogPrimitive = __toESM(require(\"@radix-ui/react-dialog\"));\n import_lucide_react4 = require(\"lucide-react\");\n init_utils();\n Dialog = DialogPrimitive.Root;\n DialogTrigger = DialogPrimitive.Trigger;\n DialogPortal = DialogPrimitive.Portal;\n DialogClose = DialogPrimitive.Close;\n DialogOverlay = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React22.createElement(\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 = React22.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React22.createElement(DialogPortal, null, /* @__PURE__ */ React22.createElement(DialogOverlay, null), /* @__PURE__ */ React22.createElement(\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 ),\n ...props\n },\n children,\n /* @__PURE__ */ React22.createElement(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\" }, /* @__PURE__ */ React22.createElement(import_lucide_react4.X, { className: \"h-4 w-4\" }), /* @__PURE__ */ React22.createElement(\"span\", { className: \"sr-only\" }, \"Close\"))\n )));\n DialogContent.displayName = DialogPrimitive.Content.displayName;\n DialogHeader = ({\n className,\n ...props\n }) => /* @__PURE__ */ React22.createElement(\n \"div\",\n {\n className: cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n ),\n ...props\n }\n );\n DialogHeader.displayName = \"DialogHeader\";\n DialogFooter = ({\n className,\n ...props\n }) => /* @__PURE__ */ React22.createElement(\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 = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React22.createElement(\n DialogPrimitive.Title,\n {\n ref,\n className: cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n ),\n ...props\n }\n ));\n DialogTitle.displayName = DialogPrimitive.Title.displayName;\n DialogDescription = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React22.createElement(\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\nvar React23, import_cmdk, import_lucide_react5, Command, CommandDialog, 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 React23 = __toESM(require(\"react\"));\n import_cmdk = require(\"cmdk\");\n import_lucide_react5 = require(\"lucide-react\");\n init_utils();\n init_dialog();\n Command = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React23.createElement(\n import_cmdk.Command,\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 = import_cmdk.Command.displayName;\n CommandDialog = ({ children, ...props }) => {\n return /* @__PURE__ */ React23.createElement(Dialog, { ...props }, /* @__PURE__ */ React23.createElement(DialogContent, { className: \"overflow-hidden p-0 shadow-lg\" }, /* @__PURE__ */ React23.createElement(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\" }, children)));\n };\n CommandInput = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React23.createElement(\"div\", { className: \"flex items-center border-b px-3\", \"cmdk-input-wrapper\": \"\" }, /* @__PURE__ */ React23.createElement(import_lucide_react5.Search, { className: \"mr-2 h-4 w-4 shrink-0 opacity-50\" }), /* @__PURE__ */ React23.createElement(\n import_cmdk.Command.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 CommandInput.displayName = import_cmdk.Command.Input.displayName;\n CommandList = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React23.createElement(\n import_cmdk.Command.List,\n {\n ref,\n className: cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className),\n ...props\n }\n ));\n CommandList.displayName = import_cmdk.Command.List.displayName;\n CommandEmpty = React23.forwardRef((props, ref) => /* @__PURE__ */ React23.createElement(\n import_cmdk.Command.Empty,\n {\n ref,\n className: \"py-6 text-center text-sm\",\n ...props\n }\n ));\n CommandEmpty.displayName = import_cmdk.Command.Empty.displayName;\n CommandGroup = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React23.createElement(\n import_cmdk.Command.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 = import_cmdk.Command.Group.displayName;\n CommandSeparator = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React23.createElement(\n import_cmdk.Command.Separator,\n {\n ref,\n className: cn(\"-mx-1 h-px bg-border\", className),\n ...props\n }\n ));\n CommandSeparator.displayName = import_cmdk.Command.Separator.displayName;\n CommandItem = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React23.createElement(\n import_cmdk.Command.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 = import_cmdk.Command.Item.displayName;\n CommandShortcut = ({\n className,\n ...props\n }) => {\n return /* @__PURE__ */ React23.createElement(\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\nvar React24, ToastPrimitives, import_class_variance_authority6, import_lucide_react6, ToastProvider, 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 React24 = __toESM(require(\"react\"));\n ToastPrimitives = __toESM(require(\"@radix-ui/react-toast\"));\n import_class_variance_authority6 = require(\"class-variance-authority\");\n import_lucide_react6 = require(\"lucide-react\");\n init_utils();\n ToastProvider = ToastPrimitives.Provider;\n ToastViewport = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React24.createElement(\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 = (0, import_class_variance_authority6.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: \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n );\n Toast = React24.forwardRef(({ className, variant, ...props }, ref) => {\n return /* @__PURE__ */ React24.createElement(\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 = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React24.createElement(\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 = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React24.createElement(\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 },\n /* @__PURE__ */ React24.createElement(import_lucide_react6.X, { className: \"h-4 w-4\" })\n ));\n ToastClose.displayName = ToastPrimitives.Close.displayName;\n ToastTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React24.createElement(\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 = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React24.createElement(\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\nvar React25, import_class_variance_authority7, import_lucide_react7, loaderVariants, Loader;\nvar init_loader = __esm({\n \"src/components/atoms/ui/loader.tsx\"() {\n \"use strict\";\n React25 = __toESM(require(\"react\"));\n import_class_variance_authority7 = require(\"class-variance-authority\");\n init_utils();\n import_lucide_react7 = require(\"lucide-react\");\n loaderVariants = (0, import_class_variance_authority7.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 Loader = React25.forwardRef(\n ({ className, size, colorVariant, ...props }, ref) => /* @__PURE__ */ React25.createElement(\n \"div\",\n {\n ref,\n className: cn(loaderVariants({ size, colorVariant }), \"flex justify-center items-center h-full w-full\", className),\n ...props\n },\n /* @__PURE__ */ React25.createElement(import_lucide_react7.Loader2, { className: \"animate-spin\" })\n )\n );\n Loader.displayName = \"Loader\";\n }\n});\n\n// src/components/hooks/use-toast.ts\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\nfunction dispatch(action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\nfunction toast({ ...props }) {\n const id = genId();\n const update = (props2) => dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props2, id }\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\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 return {\n id,\n dismiss,\n update\n };\n}\nfunction useToast() {\n const [state, setState] = React26.useState(memoryState);\n React26.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 return {\n ...state,\n toast,\n dismiss: (toastId) => dispatch({ type: \"DISMISS_TOAST\", toastId })\n };\n}\nvar React26, TOAST_LIMIT, TOAST_REMOVE_DELAY, count, toastTimeouts, addToRemoveQueue, reducer, listeners, memoryState;\nvar init_use_toast = __esm({\n \"src/components/hooks/use-toast.ts\"() {\n \"use strict\";\n \"use client\";\n React26 = __toESM(require(\"react\"));\n TOAST_LIMIT = 1;\n TOAST_REMOVE_DELAY = 1e6;\n count = 0;\n toastTimeouts = /* @__PURE__ */ new Map();\n addToRemoveQueue = (toastId) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId\n });\n }, TOAST_REMOVE_DELAY);\n toastTimeouts.set(toastId, timeout);\n };\n reducer = (state, action) => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)\n };\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map(\n (t) => t.id === action.toast.id ? { ...t, ...action.toast } : t\n )\n };\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast2) => {\n addToRemoveQueue(toast2.id);\n });\n }\n return {\n ...state,\n toasts: state.toasts.map(\n (t) => t.id === toastId || toastId === void 0 ? {\n ...t,\n open: false\n } : t\n )\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === void 0) {\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 listeners = [];\n memoryState = { toasts: [] };\n }\n});\n\n// src/components/atoms/ui/toaster.tsx\nfunction Toaster() {\n const { toasts } = useToast();\n return /* @__PURE__ */ React27.createElement(ToastProvider, null, toasts.map(function({ id, title, description, action, ...props }) {\n return /* @__PURE__ */ React27.createElement(Toast, { key: id, ...props }, /* @__PURE__ */ React27.createElement(\"div\", { className: \"grid gap-1\" }, title && /* @__PURE__ */ React27.createElement(ToastTitle, null, title), description && /* @__PURE__ */ React27.createElement(ToastDescription, null, description)), action, /* @__PURE__ */ React27.createElement(ToastClose, null));\n }), /* @__PURE__ */ React27.createElement(ToastViewport, null));\n}\nvar React27;\nvar init_toaster = __esm({\n \"src/components/atoms/ui/toaster.tsx\"() {\n \"use strict\";\n \"use client\";\n React27 = __toESM(require(\"react\"));\n init_use_toast();\n init_toast();\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_toaster();\n }\n});\n\n// src/components/hooks/use-resize-observer.ts\nfunction useResizeObserver(element, options2, observerCallback) {\n const observerRef = (0, import_react10.useRef)(null);\n (0, import_react10.useEffect)(() => {\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 import_react10;\nvar init_use_resize_observer = __esm({\n \"src/components/hooks/use-resize-observer.ts\"() {\n \"use strict\";\n import_react10 = require(\"react\");\n }\n});\n\n// src/components/molecules/viewers/pdf-viewer.tsx\nvar pdf_viewer_exports = {};\n__export(pdf_viewer_exports, {\n default: () => PdfViewer\n});\nfunction PdfViewer({ doc, docId }) {\n const [numPages, setNumPages] = (0, import_react11.useState)(0);\n const [pageNumber, setPageNumber] = (0, import_react11.useState)(1);\n const [scale, setScale] = (0, import_react11.useState)(1);\n const [containerRef, setContainerRef] = (0, import_react11.useState)(null);\n const [containerWidth, setContainerWidth] = (0, import_react11.useState)();\n const onResize = (0, import_react11.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 (0, import_react11.useEffect)(() => {\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 = (0, import_react11.useCallback)((e) => {\n if (e.key === \"ArrowLeft\") {\n handlePrevPage();\n } else if (e.key === \"ArrowRight\") {\n handleNextPage();\n }\n }, [handlePrevPage, handleNextPage]);\n (0, import_react11.useEffect)(() => {\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__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(\"div\", { className: \"flex justify-between items-center p-4 border-b border-border\" }, /* @__PURE__ */ import_react11.default.createElement(\"div\", null, /* @__PURE__ */ import_react11.default.createElement(\n Button,\n {\n onClick: handlePrevPage,\n disabled: pageNumber <= 1\n },\n /* @__PURE__ */ import_react11.default.createElement(import_lucide_react14.ChevronLeft, { className: \"h-4 w-4\" })\n ), /* @__PURE__ */ import_react11.default.createElement(\"span\", { className: \"mx-2\" }, \"Page \", pageNumber, \" of \", numPages), /* @__PURE__ */ import_react11.default.createElement(\n Button,\n {\n onClick: handleNextPage,\n disabled: pageNumber >= numPages\n },\n /* @__PURE__ */ import_react11.default.createElement(import_lucide_react14.ChevronRight, { className: \"h-4 w-4\" })\n )), /* @__PURE__ */ import_react11.default.createElement(\"div\", null, /* @__PURE__ */ import_react11.default.createElement(Button, { onClick: handleZoomOut }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react14.ZoomOut, { className: \"h-4 w-4\" })), /* @__PURE__ */ import_react11.default.createElement(\"span\", { className: \"mx-2\" }, (scale * 100).toFixed(0), \"%\"), /* @__PURE__ */ import_react11.default.createElement(Button, { onClick: handleZoomIn }, /* @__PURE__ */ import_react11.default.createElement(import_lucide_react14.ZoomIn, { className: \"h-4 w-4\" })))), /* @__PURE__ */ import_react11.default.createElement(\"div\", { ref: setContainerRef, className: \"overflow-auto\" }, /* @__PURE__ */ import_react11.default.createElement(\n import_react_pdf.Document,\n {\n file: doc,\n onLoadSuccess: onDocumentLoadSuccess,\n options,\n loading: /* @__PURE__ */ import_react11.default.createElement(Loader, { size: \"xl\", colorVariant: \"destructive\" })\n },\n /* @__PURE__ */ import_react11.default.createElement(\n import_react_pdf.Page,\n {\n pageNumber,\n scale,\n width: containerWidth,\n className: \"w-full\"\n }\n )\n )));\n}\nvar import_react11, import_lucide_react14, import_react_pdf, import_AnnotationLayer, import_TextLayer, options, resizeObserverOptions;\nvar init_pdf_viewer = __esm({\n \"src/components/molecules/viewers/pdf-viewer.tsx\"() {\n \"use strict\";\n \"use client\";\n import_react11 = __toESM(require(\"react\"));\n init_atoms();\n import_lucide_react14 = require(\"lucide-react\");\n init_use_resize_observer();\n import_react_pdf = require(\"react-pdf\");\n import_AnnotationLayer = require(\"react-pdf/dist/esm/Page/AnnotationLayer.css\");\n import_TextLayer = require(\"react-pdf/dist/esm/Page/TextLayer.css\");\n import_react_pdf.pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${import_react_pdf.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});\nfunction PlainTextViewer({ doc }) {\n const [content, setContent] = (0, import_react12.useState)(null);\n const [loading, setLoading] = (0, import_react12.useState)(true);\n (0, import_react12.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 parseDocument();\n }, [doc]);\n return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(\"div\", { className: \"relative w-full h-full max-h-[80vh] overflow-y-auto p-8 alq--prose\" }, loading && /* @__PURE__ */ import_react12.default.createElement(Loader, null), !loading && /* @__PURE__ */ import_react12.default.createElement(RichText, { content: content || \"\" })));\n}\nvar import_react12;\nvar init_plain_text_viewer = __esm({\n \"src/components/molecules/viewers/plain-text-viewer.tsx\"() {\n \"use strict\";\n \"use client\";\n import_react12 = __toESM(require(\"react\"));\n init_atoms();\n }\n});\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Alert: () => Alert,\n AlertDescription: () => AlertDescription,\n AlertDialog: () => AlertDialog,\n AlertDialogAction: () => AlertDialogAction,\n AlertDialogCancel: () => AlertDialogCancel,\n AlertDialogContent: () => AlertDialogContent,\n AlertDialogDescription: () => AlertDialogDescription,\n AlertDialogFooter: () => AlertDialogFooter,\n AlertDialogHeader: () => AlertDialogHeader,\n AlertDialogOverlay: () => AlertDialogOverlay,\n AlertDialogPortal: () => AlertDialogPortal,\n AlertDialogTitle: () => AlertDialogTitle,\n AlertDialogTrigger: () => AlertDialogTrigger,\n AlertTitle: () => AlertTitle,\n AspectRatio: () => AspectRatio,\n Assistant: () => Assistant,\n AssistantInput: () => AssistantInput,\n AssistantMessageArea: () => AssistantMessageArea,\n Avatar: () => Avatar,\n AvatarFallback: () => AvatarFallback,\n AvatarImage: () => AvatarImage,\n Badge: () => Badge,\n Breadcrumb: () => Breadcrumb,\n BreadcrumbEllipsis: () => BreadcrumbEllipsis,\n BreadcrumbItem: () => BreadcrumbItem,\n BreadcrumbLink: () => BreadcrumbLink,\n BreadcrumbList: () => BreadcrumbList,\n BreadcrumbPage: () => BreadcrumbPage,\n BreadcrumbSeparator: () => BreadcrumbSeparator,\n Button: () => Button,\n CallOut: () => CallOut,\n CallOutActions: () => CallOutActions,\n CallOutDate: () => CallOutDate,\n CallOutResponse: () => CallOutResponse,\n Card: () => Card,\n CardContent: () => CardContent,\n CardDescription: () => CardDescription,\n CardFooter: () => CardFooter,\n CardHeader: () => CardHeader,\n CardImageWithHeadingAndDescriptionAvatarHorizontal: () => CardImageWithHeadingAndDescriptionAvatarHorizontal,\n CardImageWithHeadingAndDescriptionHorizontal: () => CardImageWithHeadingAndDescriptionHorizontal,\n CardTitle: () => CardTitle,\n CardWithImageHeadingDescriptionAvatarVertical: () => CardWithImageHeadingDescriptionAvatarVertical,\n CardWithImageHeadingDescriptionVertical: () => CardWithImageHeadingDescriptionVertical,\n Carousel: () => Carousel,\n CarouselContent: () => CarouselContent,\n CarouselItem: () => CarouselItem,\n CarouselNext: () => CarouselNext,\n CarouselPrevious: () => CarouselPrevious,\n Checkbox: () => Checkbox,\n Command: () => Command,\n CommandDialog: () => CommandDialog,\n CommandEmpty: () => CommandEmpty,\n CommandGroup: () => CommandGroup,\n CommandInput: () => CommandInput,\n CommandItem: () => CommandItem,\n CommandList: () => CommandList,\n CommandSeparator: () => CommandSeparator,\n CommandShortcut: () => CommandShortcut,\n Dialog: () => Dialog,\n DialogClose: () => DialogClose,\n DialogContent: () => DialogContent,\n DialogDescription: () => DialogDescription,\n DialogFooter: () => DialogFooter,\n DialogHeader: () => DialogHeader,\n DialogOverlay: () => DialogOverlay,\n DialogPortal: () => DialogPortal,\n DialogTitle: () => DialogTitle,\n DialogTrigger: () => DialogTrigger,\n DocumentSelector: () => DocumentSelector,\n Drawer: () => Drawer,\n DrawerClose: () => DrawerClose,\n DrawerContent: () => DrawerContent,\n DrawerDescription: () => DrawerDescription,\n DrawerFooter: () => DrawerFooter,\n DrawerHeader: () => DrawerHeader,\n DrawerOverlay: () => DrawerOverlay,\n DrawerPortal: () => DrawerPortal,\n DrawerTitle: () => DrawerTitle,\n DrawerTrigger: () => DrawerTrigger,\n EditingStatus: () => EditingStatus,\n Hero: () => Hero,\n HeroContent: () => HeroContent,\n Input: () => Input,\n Label: () => Label2,\n Loader: () => Loader,\n MessagesWindow: () => MessagesWindow,\n NavigationMenu: () => NavigationMenu,\n NavigationMenuContent: () => NavigationMenuContent,\n NavigationMenuIndicator: () => NavigationMenuIndicator,\n NavigationMenuItem: () => NavigationMenuItem,\n NavigationMenuLink: () => NavigationMenuLink,\n NavigationMenuList: () => NavigationMenuList,\n NavigationMenuTrigger: () => NavigationMenuTrigger,\n NavigationMenuViewport: () => NavigationMenuViewport,\n PageContainer: () => PageContainer,\n Popover: () => Popover,\n PopoverContent: () => PopoverContent,\n PopoverTrigger: () => PopoverTrigger,\n QueryBox: () => QueryBox,\n RatingComment: () => RatingComment,\n RatingDialog: () => RatingDialog,\n RatingStars: () => RatingStars,\n RatingThumbs: () => RatingThumbs,\n RichText: () => RichText,\n ScrollArea: () => ScrollArea,\n ScrollBar: () => ScrollBar,\n Select: () => Select,\n SelectContent: () => SelectContent,\n SelectGroup: () => SelectGroup,\n SelectItem: () => SelectItem,\n SelectLabel: () => SelectLabel,\n SelectScrollDownButton: () => SelectScrollDownButton,\n SelectScrollUpButton: () => SelectScrollUpButton,\n SelectSeparator: () => SelectSeparator,\n SelectTrigger: () => SelectTrigger,\n SelectValue: () => SelectValue,\n Sidebar: () => Sidebar,\n SidebarFooter: () => SidebarFooter,\n Skeleton: () => Skeleton,\n Slider: () => Slider,\n SonnerToaster: () => Toaster2,\n SpeechToText: () => SpeechToText,\n Switch: () => Switch,\n Table: () => Table,\n TableBody: () => TableBody,\n TableCaption: () => TableCaption,\n TableCell: () => TableCell,\n TableFooter: () => TableFooter,\n TableHead: () => TableHead,\n TableHeader: () => TableHeader,\n TableRow: () => TableRow,\n Tabs: () => Tabs,\n TabsContent: () => TabsContent,\n TabsList: () => TabsList,\n TabsTrigger: () => TabsTrigger,\n Textarea: () => Textarea,\n Toast: () => Toast,\n ToastAction: () => ToastAction,\n ToastClose: () => ToastClose,\n ToastDescription: () => ToastDescription,\n ToastProvider: () => ToastProvider,\n ToastTitle: () => ToastTitle,\n ToastViewport: () => ToastViewport,\n Toaster: () => Toaster,\n Toggle: () => Toggle,\n Tooltip: () => Tooltip,\n TooltipContent: () => TooltipContent,\n TooltipProvider: () => TooltipProvider,\n TooltipTrigger: () => TooltipTrigger,\n Typography: () => Typography,\n Whisper: () => Whisper,\n badgeVariants: () => badgeVariants,\n blobToBase64: () => blobToBase64,\n buttonVariants: () => buttonVariants,\n cn: () => cn,\n getCookies: () => getCookies,\n navigationMenuTriggerStyle: () => navigationMenuTriggerStyle,\n parseTextToSpeech: () => parseTextToSpeech,\n reducer: () => reducer,\n toast: () => toast,\n toggleVariants: () => toggleVariants,\n truncateString: () => truncateString,\n useDocumentReader: () => useDocumentReader,\n useToast: () => useToast\n});\nmodule.exports = __toCommonJS(index_exports);\ninit_atoms();\n\n// src/components/templates/messages-window.tsx\nvar import_react3 = require(\"react\");\ninit_utils();\nvar MessagesWindow = (0, import_react3.forwardRef)(\n ({ className, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\"div\", { className: cn(className, \"alq--messages--window\"), ...props });\n }\n);\nMessagesWindow.displayName = \"MessagesWindow\";\n\n// src/components/templates/query-box.tsx\nvar import_react4 = require(\"react\");\ninit_utils();\nvar QueryBox = (0, import_react4.forwardRef)(\n ({ className, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\"div\", { className: cn(className, \"alq--querybox\"), ...props });\n }\n);\nQueryBox.displayName = \"QueryBox\";\n\n// src/components/templates/hero/index.tsx\nvar import_react5 = require(\"react\");\ninit_utils();\nvar Hero = (0, import_react5.forwardRef)(\n ({ className, children, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ref,\n className: cn(\"alq--hero-container\", \"grid\", className),\n ...props\n },\n children\n );\n }\n);\nvar HeroContent = (0, import_react5.forwardRef)(\n ({ className, children, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ref,\n className: cn(\"alq--hero-container\", className),\n ...props\n },\n children\n );\n }\n);\nHero.displayName = \"Hero\";\nHeroContent.displayName = \"HeroContent\";\n\n// src/components/templates/cards/with-image-heading-description.tsx\ninit_utils();\ninit_atoms();\nvar CardWithImageHeadingDescriptionVertical = (props) => {\n const { showBorder, image, heading, description } = props;\n return /* @__PURE__ */ React.createElement(Card, { className: cn(\"w-[360px]\", !showBorder && \"border-none shadow-none\") }, image, /* @__PURE__ */ React.createElement(CardHeader, null, /* @__PURE__ */ React.createElement(CardTitle, null, heading), /* @__PURE__ */ React.createElement(Typography, { typeStyle: \"small\", className: \"text-font-weak-color\" }, description)), /* @__PURE__ */ React.createElement(CardContent, null));\n};\nvar CardImageWithHeadingAndDescriptionHorizontal = (props) => {\n const { showBorder, image, heading, description } = props;\n return /* @__PURE__ */ React.createElement(\n Card,\n {\n className: cn(\n \"lg:w-[600px] w-[360px] lg:flex lg:h-[150px]\",\n !showBorder && \"border-none shadow-none \"\n )\n },\n image,\n /* @__PURE__ */ React.createElement(CardHeader, null, /* @__PURE__ */ React.createElement(CardTitle, null, heading), /* @__PURE__ */ React.createElement(Typography, { typeStyle: \"small\", className: \"text-font-weak-color\" }, description)),\n /* @__PURE__ */ React.createElement(CardContent, null)\n );\n};\n\n// src/components/templates/cards/with-image-heading-description-avatar.tsx\ninit_utils();\ninit_atoms();\nvar AvatarInfo = (props) => {\n const { userName, email, avatarImage } = props;\n return /* @__PURE__ */ React.createElement(\"div\", { className: \"flex space-x-2 items-center\" }, /* @__PURE__ */ React.createElement(Avatar, { className: \"w-16 h-16\" }, /* @__PURE__ */ React.createElement(AvatarImage, { src: avatarImage })), /* @__PURE__ */ React.createElement(\"div\", null, /* @__PURE__ */ React.createElement(Typography, { typeStyle: \"small\", className: \"font-semibold\" }, userName), /* @__PURE__ */ React.createElement(Typography, { typeStyle: \"tiny\", className: \"text-font-weak-color\" }, email)));\n};\nvar CardWithImageHeadingDescriptionAvatarVertical = (props) => {\n const { showBorder, image, heading, description } = props;\n return /* @__PURE__ */ React.createElement(Card, { className: cn(\"w-[360px]\", !showBorder && \"border-none shadow-none\") }, image, /* @__PURE__ */ React.createElement(CardHeader, null, /* @__PURE__ */ React.createElement(CardTitle, null, heading), /* @__PURE__ */ React.createElement(Typography, { typeStyle: \"small\", className: \"text-font-weak-color\" }, description)), /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(AvatarInfo, { ...props })));\n};\nvar CardImageWithHeadingAndDescriptionAvatarHorizontal = (props) => {\n const { showBorder, image, heading, description } = props;\n return /* @__PURE__ */ React.createElement(\n Card,\n {\n className: cn(\n \"lg:w-[600px] w-[360px] lg:flex lg:h-[246px]\",\n !showBorder && \"border-none shadow-none \"\n )\n },\n image,\n /* @__PURE__ */ React.createElement(\"div\", null, /* @__PURE__ */ React.createElement(CardHeader, null, /* @__PURE__ */ React.createElement(CardTitle, null, heading), /* @__PURE__ */ React.createElement(Typography, { typeStyle: \"small\", className: \"text-font-weak-color\" }, description)), /* @__PURE__ */ React.createElement(CardContent, null, /* @__PURE__ */ React.createElement(AvatarInfo, { ...props })))\n );\n};\n\n// src/components/organisms/whisper.tsx\nvar import_react6 = require(\"react\");\ninit_utils();\nvar import_lucide_react8 = require(\"lucide-react\");\ninit_utils();\nfunction Whisper({\n className,\n message,\n isMessageStreaming,\n textToSpeech\n}) {\n const [audioUrl, setAudioUrl] = (0, import_react6.useState)(null);\n const [isPlaying, setIsPlaying] = (0, import_react6.useState)(false);\n const [isLoading, setIsLoading] = (0, import_react6.useState)(false);\n const content = message.content;\n (0, import_react6.useEffect)(() => {\n if (audioUrl) {\n const handlePlaying = () => setIsPlaying(true);\n const handlePause = () => setIsPlaying(false);\n const handleEnded = () => setIsPlaying(false);\n audioUrl.addEventListener(\"playing\", handlePlaying);\n audioUrl.addEventListener(\"pause\", handlePause);\n audioUrl.addEventListener(\"ended\", handleEnded);\n return () => {\n audioUrl.removeEventListener(\"playing\", handlePlaying);\n audioUrl.removeEventListener(\"pause\", handlePause);\n audioUrl.removeEventListener(\"ended\", handleEnded);\n };\n }\n }, [audioUrl]);\n const resetAudio = () => {\n audioUrl && (audioUrl.currentTime = 0);\n audioUrl?.pause();\n };\n const handleAudioPlay = () => isPlaying ? resetAudio() : audioUrl?.play();\n const handleTextToSpeech = async (content2) => {\n if (!audioUrl) {\n setIsLoading(true);\n const filteredContent = parseTextToSpeech(content2);\n const audioFile = await textToSpeech(filteredContent);\n if (audioFile) {\n const url = URL.createObjectURL(audioFile);\n const audio = new Audio(url);\n setIsLoading(false);\n audio.play();\n setAudioUrl(audio);\n }\n } else {\n setIsLoading(false);\n handleAudioPlay();\n }\n };\n return /* @__PURE__ */ React.createElement(\"div\", { className: cn(className) }, isMessageStreaming && /* @__PURE__ */ React.createElement(\"div\", { className: \"p-2 w-[24px] h-[24px]\" }), !isMessageStreaming && /* @__PURE__ */ React.createElement(\"div\", { onClick: () => handleTextToSpeech(content) }, isPlaying && /* @__PURE__ */ React.createElement(\"button\", { className: \"p-2 items-center justify-center\" }, /* @__PURE__ */ React.createElement(import_lucide_react8.AudioLinesIcon, { size: 20 })), isLoading && /* @__PURE__ */ React.createElement(\"button\", { className: \"p-2 items-center justify-center\" }, \" \", /* @__PURE__ */ React.createElement(import_lucide_react8.LoaderPinwheelIcon, { size: 20, className: \"circular-animation\" })), !isLoading && !isPlaying && /* @__PURE__ */ React.createElement(\n \"button\",\n {\n disabled: isLoading,\n className: \"p-2 items-center justify-center\"\n },\n /* @__PURE__ */ React.createElement(import_lucide_react8.PlayCircleIcon, { size: 20 })\n )));\n}\n\n// src/components/organisms/speechToText.tsx\nvar import_react7 = require(\"react\");\ninit_utils();\nfunction SpeechToText({\n className,\n speechToText,\n RecordAudioIcon,\n IdleAudioIcon,\n handleReplaceInput,\n setIsAudioRecording,\n ...props\n}) {\n const [isRecording, setIsRecording] = (0, import_react7.useState)(false);\n const [isLoading, setIsLoading] = (0, import_react7.useState)(false);\n const [mediaRecorder, setMediaRecorder] = (0, import_react7.useState)(null);\n const [audioBlob, setAudioBlob] = (0, import_react7.useState)(null);\n const startRecording = async () => {\n setIsRecording(true);\n const stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n const recorder = new MediaRecorder(stream);\n setMediaRecorder(recorder);\n recorder.ondataavailable = (event) => {\n setAudioBlob(event.data);\n };\n recorder.start();\n };\n const stopRecording = () => {\n setIsRecording(false);\n mediaRecorder?.stop();\n mediaRecorder?.stream.getTracks().forEach((track) => track.stop());\n };\n const handleSpeechToText = async () => {\n if (!audioBlob) return;\n const audioBase64 = await blobToBase64(audioBlob);\n try {\n setIsLoading(true);\n const transcription = await speechToText(audioBase64);\n if (transcription) {\n handleReplaceInput(transcription);\n setIsLoading(false);\n }\n } catch (error) {\n console.error(\"Error transcribing audio:\", error);\n setIsLoading(false);\n } finally {\n setAudioBlob(null);\n }\n };\n (0, import_react7.useEffect)(() => {\n if (!isRecording && audioBlob) {\n handleSpeechToText();\n }\n }, [isRecording, audioBlob]);\n (0, import_react7.useEffect)(() => {\n isLoading || isRecording ? setIsAudioRecording(true) : setIsAudioRecording(false);\n }, [isRecording, isLoading]);\n const handleRecordButtonClick = () => {\n if (isRecording) {\n stopRecording();\n } else {\n startRecording();\n }\n };\n const recordIcons = isRecording ? RecordAudioIcon : IdleAudioIcon;\n return /* @__PURE__ */ React.createElement(\"div\", { className: cn(className), ...props }, /* @__PURE__ */ React.createElement(\"button\", { disabled: isLoading, type: \"button\", onClick: handleRecordButtonClick }, recordIcons));\n}\n\n// src/components/organisms/assistant.tsx\nvar React40 = __toESM(require(\"react\"));\nvar import_react15 = require(\"react\");\ninit_atoms();\n\n// src/components/molecules/page-container.tsx\nvar import_react8 = require(\"react\");\ninit_utils();\nvar PageContainer = (0, import_react8.forwardRef)(\n ({ className, ...props }, ref) => {\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ref,\n className: cn(className, \"alq--page-container\"),\n ...props\n }\n );\n }\n);\nPageContainer.displayName = \"PageContainer\";\n\n// src/components/molecules/index.ts\ninit_alert_dialog();\n\n// src/components/molecules/carousel.tsx\nvar React28 = __toESM(require(\"react\"));\nvar import_embla_carousel_react = __toESM(require(\"embla-carousel-react\"));\nvar import_lucide_react9 = require(\"lucide-react\");\ninit_utils();\ninit_button();\nvar CarouselContext = React28.createContext(null);\nfunction useCarousel() {\n const context = React28.useContext(CarouselContext);\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n return context;\n}\nvar Carousel = React28.forwardRef(\n ({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n }, ref) => {\n const [carouselRef, api] = (0, import_embla_carousel_react.default)(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\"\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = React28.useState(false);\n const [canScrollNext, setCanScrollNext] = React28.useState(false);\n const onSelect = React28.useCallback((api2) => {\n if (!api2) {\n return;\n }\n setCanScrollPrev(api2.canScrollPrev());\n setCanScrollNext(api2.canScrollNext());\n }, []);\n const scrollPrev = React28.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n const scrollNext = React28.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n const handleKeyDown = React28.useCallback(\n (event) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n React28.useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n setApi(api);\n }, [api, setApi]);\n React28.useEffect(() => {\n if (!api) {\n return;\n }\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n return /* @__PURE__ */ React28.createElement(\n CarouselContext.Provider,\n {\n value: {\n carouselRef,\n api,\n opts,\n orientation: orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext\n }\n },\n /* @__PURE__ */ React28.createElement(\n \"div\",\n {\n ref,\n onKeyDownCapture: handleKeyDown,\n className: cn(\"relative\", className),\n role: \"region\",\n \"aria-roledescription\": \"carousel\",\n ...props\n },\n children\n )\n );\n }\n);\nCarousel.displayName = \"Carousel\";\nvar CarouselContent = React28.forwardRef(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel();\n return /* @__PURE__ */ React28.createElement(\"div\", { ref: carouselRef, className: \"overflow-hidden\" }, /* @__PURE__ */ React28.createElement(\n \"div\",\n {\n ref,\n className: cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n ),\n ...props\n }\n ));\n});\nCarouselContent.displayName = \"CarouselContent\";\nvar CarouselItem = React28.forwardRef(({ className, ...props }, ref) => {\n const { orientation } = useCarousel();\n return /* @__PURE__ */ React28.createElement(\n \"div\",\n {\n ref,\n role: \"group\",\n \"aria-roledescription\": \"slide\",\n className: cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n ),\n ...props\n }\n );\n});\nCarouselItem.displayName = \"CarouselItem\";\nvar CarouselPrevious = React28.forwardRef(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n return /* @__PURE__ */ React28.createElement(\n Button,\n {\n ref,\n variant,\n size,\n className: cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\" ? \"-left-12 top-1/2 -translate-y-1/2\" : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n ),\n disabled: !canScrollPrev,\n onClick: scrollPrev,\n ...props\n },\n /* @__PURE__ */ React28.createElement(import_lucide_react9.ArrowLeft, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ React28.createElement(\"span\", { className: \"sr-only\" }, \"Previous slide\")\n );\n});\nCarouselPrevious.displayName = \"CarouselPrevious\";\nvar CarouselNext = React28.forwardRef(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n return /* @__PURE__ */ React28.createElement(\n Button,\n {\n ref,\n variant,\n size,\n className: cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\" ? \"-right-12 top-1/2 -translate-y-1/2\" : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n ),\n disabled: !canScrollNext,\n onClick: scrollNext,\n ...props\n },\n /* @__PURE__ */ React28.createElement(import_lucide_react9.ArrowRight, { className: \"h-4 w-4\" }),\n /* @__PURE__ */ React28.createElement(\"span\", { className: \"sr-only\" }, \"Next slide\")\n );\n});\nCarouselNext.displayName = \"CarouselNext\";\n\n// src/components/molecules/navigation-menu.tsx\nvar React29 = __toESM(require(\"react\"));\nvar NavigationMenuPrimitive = __toESM(require(\"@radix-ui/react-navigation-menu\"));\nvar import_class_variance_authority8 = require(\"class-variance-authority\");\nvar import_lucide_react10 = require(\"lucide-react\");\ninit_utils();\nvar NavigationMenu = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React29.createElement(\n NavigationMenuPrimitive.Root,\n {\n ref,\n className: cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n ),\n ...props\n },\n children,\n /* @__PURE__ */ React29.createElement(NavigationMenuViewport, null)\n));\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;\nvar NavigationMenuList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React29.createElement(\n NavigationMenuPrimitive.List,\n {\n ref,\n className: cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n ),\n ...props\n }\n));\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;\nvar NavigationMenuItem = NavigationMenuPrimitive.Item;\nvar navigationMenuTriggerStyle = (0, import_class_variance_authority8.cva)(\n \"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50\"\n);\nvar NavigationMenuTrigger = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React29.createElement(\n NavigationMenuPrimitive.Trigger,\n {\n ref,\n className: cn(navigationMenuTriggerStyle(), \"group\", className),\n ...props\n },\n children,\n \" \",\n /* @__PURE__ */ React29.createElement(\n import_lucide_react10.ChevronDown,\n {\n className: \"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180\",\n \"aria-hidden\": \"true\"\n }\n )\n));\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;\nvar NavigationMenuContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React29.createElement(\n NavigationMenuPrimitive.Content,\n {\n ref,\n className: cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n ),\n ...props\n }\n));\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;\nvar NavigationMenuLink = NavigationMenuPrimitive.Link;\nvar NavigationMenuViewport = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React29.createElement(\"div\", { className: cn(\"absolute left-0 top-full flex justify-center\") }, /* @__PURE__ */ React29.createElement(\n NavigationMenuPrimitive.Viewport,\n {\n className: cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n ),\n ref,\n ...props\n }\n)));\nNavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;\nvar NavigationMenuIndicator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React29.createElement(\n NavigationMenuPrimitive.Indicator,\n {\n ref,\n className: cn(\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n ),\n ...props\n },\n /* @__PURE__ */ React29.createElement(\"div\", { className: \"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" })\n));\nNavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;\n\n// src/components/molecules/sidebar.tsx\nvar React30 = __toESM(require(\"react\"));\nvar import_class_variance_authority9 = require(\"class-variance-authority\");\ninit_utils();\ninit_atoms();\nvar sidebarVariants = (0, import_class_variance_authority9.cva)(\n \"flex flex-col border-r\",\n {\n variants: {\n size: {\n sm: \"w-48\",\n default: \"w-64\",\n lg: \"w-72\"\n }\n },\n defaultVariants: {\n size: \"default\"\n }\n }\n);\nvar SidebarFooter = React30.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React30.createElement(\n \"div\",\n {\n ref,\n className: cn(\"p-4\", className),\n ...props\n },\n children\n));\nSidebarFooter.displayName = \"SidebarFooter\";\nvar Sidebar = React30.forwardRef(\n ({\n className,\n items,\n selectedSection,\n onSelect,\n footerContent,\n size = \"default\",\n selectedVariant = \"secondary\",\n defaultVariant = \"ghost\",\n buttonClassName,\n ...props\n }, ref) => {\n return /* @__PURE__ */ React30.createElement(\"div\", { className: cn(className, \"alq--navigation-sidebar h-full\"), ref, ...props }, /* @__PURE__ */ React30.createElement(\"aside\", { className: cn(sidebarVariants({ size }), \"h-full\") }, /* @__PURE__ */ React30.createElement(ScrollArea, { className: \"flex-grow justify-between\" }, /* @__PURE__ */ React30.createElement(\"div\", { className: \"flex flex-col gap-2 p-4\" }, items.map((item) => /* @__PURE__ */ React30.createElement(\n Button,\n {\n key: item.name,\n variant: selectedSection?.name === item.name ? selectedVariant : defaultVariant,\n className: cn(\"justify-start\", buttonClassName),\n disabled: item.disabled,\n onClick: () => {\n if (onSelect) {\n onSelect(item);\n }\n }\n },\n item.icon && /* @__PURE__ */ React30.createElement(item.icon, { className: \"mr-2 h-4 w-4\" }),\n item.name\n )))), footerContent && /* @__PURE__ */ React30.createElement(SidebarFooter, null, footerContent)));\n }\n);\n\n// src/components/molecules/sonner.tsx\nvar React31 = __toESM(require(\"react\"));\nvar import_next_themes = require(\"next-themes\");\nvar import_sonner = require(\"sonner\");\nvar Toaster2 = ({ ...props }) => {\n const { theme = \"system\" } = (0, import_next_themes.useTheme)();\n return /* @__PURE__ */ React31.createElement(\n import_sonner.Toaster,\n {\n theme,\n className: \"toaster group\",\n toastOptions: {\n classNames: {\n toast: \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton: \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton: \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\"\n }\n },\n ...props\n }\n );\n};\n\n// src/components/molecules/rating-stars.tsx\nvar React32 = __toESM(require(\"react\"));\nvar TooltipPrimitive = __toESM(require(\"@radix-ui/react-tooltip\"));\nvar import_lucide_react11 = require(\"lucide-react\");\ninit_utils();\ninit_atoms();\nvar TooltipProvider = TooltipPrimitive.Provider;\nvar Tooltip = TooltipPrimitive.Root;\nvar TooltipTrigger = TooltipPrimitive.Trigger;\nvar TooltipContent = React32.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React32.createElement(\n TooltipPrimitive.Content,\n {\n ref,\n sideOffset,\n className: cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground shadow-lg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n ),\n ...props\n }\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\nvar StarRating = React32.forwardRef(({ rating, onRate }, ref) => /* @__PURE__ */ React32.createElement(\"div\", { ref, className: \"flex\" }, [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ React32.createElement(\n Button,\n {\n key: star,\n onClick: () => onRate(star),\n variant: \"link\",\n className: \"p-1 transition-colors [&_svg]:size-5 h-5\",\n \"aria-label\": `Rate ${star} star${star !== 1 ? \"s\" : \"\"}`\n },\n /* @__PURE__ */ React32.createElement(\n import_lucide_react11.Star,\n {\n className: cn(\n \"w-5 h-5\",\n star <= rating ? \"alq-rating-star-active fill-current stroke-current\" : \"alq-rating-star-inactive\"\n )\n }\n )\n))));\nStarRating.displayName = \"StarRating\";\nvar RatingStars = React32.forwardRef(({\n currentRating = 0,\n onRate,\n className,\n isLoading\n}, ref) => {\n const [open, setOpen] = React32.useState(false);\n const [animate, setAnimate] = React32.useState(false);\n const handleRate = (rating) => {\n onRate(rating);\n setOpen(false);\n };\n React32.useEffect(() => {\n if (currentRating > 0) {\n setAnimate(true);\n const timer = setTimeout(() => setAnimate(false), 150);\n return () => clearTimeout(timer);\n }\n }, [currentRating]);\n const hasRated = currentRating > 0;\n return /* @__PURE__ */ React32.createElement(TooltipProvider, null, /* @__PURE__ */ React32.createElement(Tooltip, { open, onOpenChange: setOpen }, /* @__PURE__ */ React32.createElement(TooltipTrigger, { asChild: true }, /* @__PURE__ */ React32.createElement(\n Button,\n {\n ref,\n variant: \"link\",\n className: cn(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium [&_svg]:size-5 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n className\n ),\n disabled: isLoading,\n onClick: () => setOpen(!open)\n },\n /* @__PURE__ */ React32.createElement(\n import_lucide_react11.Star,\n {\n className: cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && \"animate-ping\",\n isLoading && \"animate-pulse\",\n hasRated ? \"alq-rating-star-active fill-current stroke-current\" : \"alq-rating-star-inactive\"\n )\n }\n )\n )), /* @__PURE__ */ React32.createElement(TooltipContent, { side: \"top\", align: \"center\", className: \"p-0\" }, /* @__PURE__ */ React32.createElement(\"div\", { className: \"p-2 bg-background\" }, /* @__PURE__ */ React32.createElement(\n StarRating,\n {\n rating: currentRating,\n onRate: handleRate\n }\n )))));\n});\nRatingStars.displayName = \"RatingStars\";\n\n// src/components/molecules/rating-thumbs.tsx\nvar React33 = __toESM(require(\"react\"));\nvar import_lucide_react12 = require(\"lucide-react\");\ninit_atoms();\ninit_utils();\nvar RatingThumbs = React33.forwardRef(\n ({\n currentRating,\n onRate,\n direction = \"row\",\n className,\n isLoading\n }, ref) => {\n const [animate, setAnimate] = React33.useState(false);\n React33.useEffect(() => {\n if (currentRating) {\n setAnimate(true);\n const timer = setTimeout(() => setAnimate(false), 150);\n return () => clearTimeout(timer);\n }\n }, [currentRating]);\n return /* @__PURE__ */ React33.createElement(\n \"div\",\n {\n ref,\n className: cn(\n \"inline-flex\",\n direction === \"column\" ? \"flex-col\" : \"flex-row\",\n \"space-x-1 gap-4\",\n className\n )\n },\n /* @__PURE__ */ React33.createElement(\n Button,\n {\n variant: \"link\",\n onClick: () => onRate(currentRating === \"thumbsUp\" ? \"\" : \"thumbsUp\"),\n className: cn(\n \"p-1 transition-colors disabled:opacity-50 [&_svg]:size-5\",\n `hover:alq-rating-thumbsup/10`\n ),\n \"aria-label\": \"Thumbs up\",\n disabled: isLoading\n },\n /* @__PURE__ */ React33.createElement(\n import_lucide_react12.ThumbsUp,\n {\n className: cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && currentRating === \"thumbsUp\" && \"animate-ping\",\n isLoading && \"animate-pulse\",\n currentRating === \"thumbsUp\" ? \"alq-rating-thumbsup fill-current stroke-current\" : \"alq-rating-thumbs-inactive fill-transparent\"\n )\n }\n )\n ),\n /* @__PURE__ */ React33.createElement(\n Button,\n {\n variant: \"link\",\n onClick: () => onRate(currentRating === \"thumbsDown\" ? \"\" : \"thumbsDown\"),\n className: cn(\n \"p-1 transition-colors disabled:opacity-50 mt-0.5 [&_svg]:size-5\",\n `hover:bg-alq-rating-thumbsdown/10`\n ),\n \"aria-label\": \"Thumbs down\",\n disabled: isLoading\n },\n /* @__PURE__ */ React33.createElement(\n import_lucide_react12.ThumbsDown,\n {\n className: cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && currentRating === \"thumbsDown\" && \"animate-ping\",\n isLoading && \"animate-pulse\",\n currentRating === \"thumbsDown\" ? \"alq-rating-thumbsdown fill-current stroke-current\" : \"alq-rating-thumbs-inactive fill-transparent\"\n )\n }\n )\n )\n );\n }\n);\nRatingThumbs.displayName = \"RatingThumbs\";\n\n// src/components/molecules/rating-comment.tsx\nvar React34 = __toESM(require(\"react\"));\nvar import_lucide_react13 = require(\"lucide-react\");\ninit_utils();\ninit_atoms();\ninit_dialog();\nvar RatingComment = React34.forwardRef(\n ({ currentRating, onRate, className, isLoading }, ref) => {\n const [open, setOpen] = React34.useState(false);\n const [comment, setComment] = React34.useState(\"\");\n const [animate, setAnimate] = React34.useState(false);\n const handleRate = () => {\n onRate(comment);\n setOpen(false);\n };\n React34.useEffect(() => {\n if (currentRating) {\n setAnimate(true);\n const timer = setTimeout(() => setAnimate(false), 150);\n return () => clearTimeout(timer);\n }\n }, [currentRating]);\n React34.useEffect(() => {\n setComment(\"\");\n }, [open]);\n return /* @__PURE__ */ React34.createElement(Dialog, { open, onOpenChange: setOpen }, /* @__PURE__ */ React34.createElement(DialogTrigger, { asChild: true }, /* @__PURE__ */ React34.createElement(\n Button,\n {\n ref,\n variant: \"link\",\n size: \"lg\",\n className: cn(\n \"inline-flex p-2 items-center justify-center rounded-md text-sm font-medium transition-colors [&_svg]:size-5 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring bg-transparent hover:none disabled:pointer-events-none disabled:opacity-50\",\n className\n ),\n disabled: isLoading\n },\n /* @__PURE__ */ React34.createElement(\n import_lucide_react13.Book,\n {\n className: cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && \"animate-ping\",\n isLoading && \"animate-pulse\",\n `${comment ? \"alq-rating-comment\" : \"stroke-gray-400\"}`\n )\n }\n )\n )), /* @__PURE__ */ React34.createElement(DialogOverlay, { className: \"fixed inset-0 bg-black bg-opacity-50\" }), /* @__PURE__ */ React34.createElement(DialogContent, { \"aria-describedby\": void 0 }, /* @__PURE__ */ React34.createElement(DialogTitle, { className: \"text-lg font-medium\" }, \"Deja un comentario\"), /* @__PURE__ */ React34.createElement(\n \"textarea\",\n {\n className: \"mt-4 w-full p-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-primary\",\n rows: 4,\n value: comment,\n onChange: (e) => setComment(e.target.value)\n }\n ), /* @__PURE__ */ React34.createElement(\"div\", { className: \"mt-4 flex justify-end\" }, /* @__PURE__ */ React34.createElement(\n Button,\n {\n onClick: handleRate,\n disabled: !comment\n },\n \"Enviar\"\n ))));\n }\n);\nRatingComment.displayName = \"RatingComment\";\n\n// src/components/molecules/documents/document-selector.tsx\nvar import_react14 = __toESM(require(\"react\"));\ninit_atoms();\nvar import_lucide_react15 = require(\"lucide-react\");\n\n// src/components/molecules/documents/document-viewer.tsx\nvar import_react13 = __toESM(require(\"react\"));\ninit_atoms();\n\n// src/components/hooks/use-document.tsx\nvar import_react9 = require(\"react\");\nvar useDocumentReader = (url, getDocument) => {\n const [loading, setLoading] = (0, import_react9.useState)(true);\n const [error, setError] = (0, import_react9.useState)(null);\n const [document2, setDocument] = (0, import_react9.useState)(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\nvar import_dynamic = __toESM(require(\"next/dynamic\"));\nvar PdfViewer2 = (0, import_dynamic.default)(() => Promise.resolve().then(() => (init_pdf_viewer(), pdf_viewer_exports)), { ssr: false });\nvar PlainTextViewer2 = (0, import_dynamic.default)(() => Promise.resolve().then(() => (init_plain_text_viewer(), plain_text_viewer_exports)), { ssr: false });\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 (0, import_react13.useEffect)(() => {\n resetDocument();\n if (isOpen) {\n fetchDocument();\n }\n }, [isOpen]);\n const documentRender = document2 && !error ? /* @__PURE__ */ import_react13.default.createElement(DocumentFactory, { document: document2, docId: doc.id }) : /* @__PURE__ */ import_react13.default.createElement(\"div\", { className: \"flex flex-col items-center justify-center h-full w-full text-center p-4\" }, /* @__PURE__ */ import_react13.default.createElement(\"div\", { className: \"text-primary font-medium\" }, error));\n return /* @__PURE__ */ import_react13.default.createElement(Dialog, { open: isOpen, onOpenChange: onClose }, /* @__PURE__ */ import_react13.default.createElement(\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\"\n },\n /* @__PURE__ */ import_react13.default.createElement(DialogHeader, { className: \"border-b border-border pb-2\" }, /* @__PURE__ */ import_react13.default.createElement(DialogTitle, null, doc.name)),\n !document2 && loading ? /* @__PURE__ */ import_react13.default.createElement(Loader, { size: \"xl\", colorVariant: \"destructive\" }) : documentRender\n ));\n};\nvar DocumentFactory = ({ document: document2, docId }) => {\n switch (document2 && document2.type) {\n case \"application/pdf\":\n return /* @__PURE__ */ import_react13.default.createElement(PdfViewer2, { doc: document2, docId });\n case \"text/plain\":\n return /* @__PURE__ */ import_react13.default.createElement(PlainTextViewer2, { doc: document2, docId });\n default:\n return /* @__PURE__ */ import_react13.default.createElement(\"div\", null, \"Unsupported file type\");\n }\n};\n\n// src/components/molecules/documents/document-selector.tsx\nvar DocumentSelector = ({ documents, getDocument, logInfoMessage }) => {\n const [selectedDocName, setSelectedDocName] = (0, import_react14.useState)(void 0);\n const [selectedDoc, setSelectedDoc] = (0, import_react14.useState)(null);\n const [isModalOpen, setIsModalOpen] = (0, import_react14.useState)(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__ */ import_react14.default.createElement(\"div\", { className: \"w-full md:w-4/6 alq--document-selector\" }, /* @__PURE__ */ import_react14.default.createElement(Select, { value: selectedDocName, onValueChange: setSelectedDocName }, /* @__PURE__ */ import_react14.default.createElement(SelectTrigger, { \"aria-label\": \"Documentos\" }, /* @__PURE__ */ import_react14.default.createElement(SelectValue, { placeholder: \"Documentos\" })), /* @__PURE__ */ import_react14.default.createElement(SelectContent, null, /* @__PURE__ */ import_react14.default.createElement(SelectGroup, null, /* @__PURE__ */ import_react14.default.createElement(SelectLabel, null, \"Documents\"), documents.map((doc) => /* @__PURE__ */ import_react14.default.createElement(\"div\", { key: doc.id, className: \"w-full flex relative\" }, /* @__PURE__ */ import_react14.default.createElement(SelectItem, { className: \"w-full\", key: doc.id, value: doc.id }, /* @__PURE__ */ import_react14.default.createElement(\"div\", { className: \"flex justify-between w-full\" }, /* @__PURE__ */ import_react14.default.createElement(\"p\", { className: \"h-4 truncate mr-5\" }, doc.name))), /* @__PURE__ */ import_react14.default.createElement(\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 },\n /* @__PURE__ */ import_react14.default.createElement(import_lucide_react15.ExternalLink, { className: \"h-4 w-4 mx-2\" })\n )))))), selectedDoc && /* @__PURE__ */ import_react14.default.createElement(\n DocumentViewer,\n {\n doc: selectedDoc,\n docName: selectedDocName || \"\",\n isOpen: isModalOpen,\n onClose: handleDrawerClose,\n getDocument\n }\n ));\n};\n\n// src/components/molecules/call-out.tsx\nvar React39 = __toESM(require(\"react\"));\ninit_utils();\ninit_atoms();\nvar CallOut = React39.forwardRef(({ className, children, role, ...props }, ref) => {\n return /* @__PURE__ */ React39.createElement(\n \"div\",\n {\n ref,\n className: cn(\"alq--callout-box\", className),\n \"data-role\": role,\n ...props\n },\n children\n );\n});\nvar CallOutDate = React39.forwardRef(({ className, children, ...props }, ref) => {\n return /* @__PURE__ */ React39.createElement(\"div\", { ref, className: cn(\"alq--callout-date\", className), ...props }, children);\n});\nvar CallOutActions = React39.forwardRef(({ className, actions, role, message, ...props }, ref) => {\n const [isLoading, setIsLoading] = React39.useState(false);\n const [isClicked, setIsClicked] = React39.useState(false);\n if (role === \"user\") {\n return null;\n }\n return /* @__PURE__ */ React39.createElement(\"div\", { ref, className: cn(\"alq--callout-actions\", className), ...props }, actions.map((action) => /* @__PURE__ */ React39.createElement(\n \"button\",\n {\n key: action.label,\n className: cn(\n \"alq--callout-action\",\n {\n \"alq--callout-animate-action\": isLoading\n },\n {\n \"alq--callout-clicked-action\": isClicked\n }\n ),\n type: \"button\",\n title: action.label,\n onClick: () => {\n setIsLoading(true);\n action.onClick(message).then(() => {\n setIsLoading(false);\n setIsClicked(true);\n });\n }\n },\n /* @__PURE__ */ React39.createElement(\n \"span\",\n {\n className: cn(\"alq-action-icon-wrapper\", {\n \"alq--callout-animate-action\": isLoading\n })\n },\n action.icon\n ),\n /* @__PURE__ */ React39.createElement(\"label\", null, action.label)\n )));\n});\nvar CallOutResponse = React39.forwardRef(({ className, children, role, additionalInfo, ...props }, ref) => {\n return /* @__PURE__ */ React39.createElement(\n \"div\",\n {\n ref,\n \"data-role\": role,\n className: cn(\"alq--callout-response\", className),\n ...props\n },\n /* @__PURE__ */ React39.createElement(RichText, { content: children }),\n additionalInfo && /* @__PURE__ */ React39.createElement(\"div\", { className: \"alq--callout-response-additional-info\" }, additionalInfo)\n );\n});\nCallOut.displayName = \"CallOut\";\nCallOutDate.displayName = \"CallOutDate\";\nCallOutActions.displayName = \"CallOutActions\";\nCallOutResponse.displayName = \"CallOutResponse\";\n\n// src/components/organisms/assistant.tsx\ninit_utils();\nvar import_lucide_react16 = require(\"lucide-react\");\nvar Assistant = React40.forwardRef(\n ({ className, sdk, title, description, children, ...props }, ref) => {\n return /* @__PURE__ */ React40.createElement(\n \"div\",\n {\n ref,\n className: cn(\"flex flex-col h-full\", className),\n ...props\n },\n (title || description) && /* @__PURE__ */ React40.createElement(AssistantHeader, null, title && /* @__PURE__ */ React40.createElement(AssistantTitle, { title }), description && /* @__PURE__ */ React40.createElement(AssistantDescription, { description })),\n children\n );\n }\n);\nAssistant.displayName = \"Assistant\";\nvar AssistantTitle = React40.forwardRef(({ className, title, ...props }, ref) => /* @__PURE__ */ React40.createElement(\"div\", { ref, className, ...props }, /* @__PURE__ */ React40.createElement(Typography, { typeStyle: \"heading1\", as: \"h1\" }, title)));\nAssistantTitle.displayName = \"AssistantTitle\";\nvar AssistantDescription = React40.forwardRef(({ className, description, ...props }, ref) => /* @__PURE__ */ React40.createElement(\"div\", { ref, className, ...props }, /* @__PURE__ */ React40.createElement(Typography, { typeStyle: \"display\", as: \"p\" }, description)));\nAssistantDescription.displayName = \"AssistantDescription\";\nvar AssistantHeader = React40.forwardRef(\n ({ className, children, ...props }, ref) => /* @__PURE__ */ React40.createElement(\"div\", { ref, className, ...props }, children)\n);\nAssistantHeader.displayName = \"AssistantHeader\";\nvar AssistantMessageArea = React40.forwardRef(\n ({\n className,\n messages,\n messagesEndRef,\n actions,\n streamingMessageId,\n ...props\n }, ref) => {\n (0, import_react15.useEffect)(() => {\n messagesEndRef.current?.scrollIntoView({ behavior: \"instant\" });\n }, []);\n return /* @__PURE__ */ React40.createElement(\n \"div\",\n {\n ref,\n className: cn(\"p-6 overflow-y-auto flex-grow\", className),\n ...props\n },\n messages.map((message) => /* @__PURE__ */ React40.createElement(\"div\", { key: message.id }, /* @__PURE__ */ React40.createElement(\n CallOut,\n {\n key: message.id,\n role: message.role,\n message\n },\n message.created_at && /* @__PURE__ */ React40.createElement(\"div\", { className: \"text-xs text-muted-foreground/80 pb-1\" }, new Date(Number(message.created_at)).toLocaleString(\"es-ES\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n })),\n message.error_code && /* @__PURE__ */ React40.createElement(\n CallOutResponse,\n {\n role: \"assistant\",\n \"data-error-code\": message.error_code\n },\n \"We have an internal error, please try again later.\"\n ),\n message.content && /* @__PURE__ */ React40.createElement(CallOutResponse, { role: message.role, additionalInfo: streamingMessageId !== message.id ? message?.additionalInfo : void 0 }, message.content),\n actions && streamingMessageId !== message.id && /* @__PURE__ */ React40.createElement(\n CallOutActions,\n {\n key: message.id,\n actions,\n message,\n role: message.role\n }\n )\n ))),\n /* @__PURE__ */ React40.createElement(\"div\", { ref: messagesEndRef })\n );\n }\n);\nAssistantMessageArea.displayName = \"AssistantMessageArea\";\nvar AssistantInput = React40.forwardRef(\n ({\n className,\n sendMessageFunc,\n isButtonDisabled,\n input,\n handleInputChange,\n isMessageStreaming,\n ...props\n }, ref) => {\n return /* @__PURE__ */ React40.createElement(\n \"form\",\n {\n onSubmit: sendMessageFunc,\n className: `flex items-center space-x-4 ${className}`,\n ref,\n ...props\n },\n /* @__PURE__ */ React40.createElement(\n \"input\",\n {\n type: \"text\",\n disabled: isButtonDisabled,\n value: input,\n onChange: handleInputChange,\n placeholder: isMessageStreaming ? \"Procesando...\" : \"Escribe tu mensaje aqu\\xED...\",\n className: \"flex-1 text-sm p-3 rounded-lg focus:outline-none w-full border\"\n }\n ),\n /* @__PURE__ */ React40.createElement(\n \"button\",\n {\n type: \"submit\",\n disabled: isButtonDisabled,\n className: `w-10 h-10 ${isButtonDisabled ? \"bg-gray-500\" : \"bg-black\"} rounded-full flex items-center justify-center alq--assistant-button-send`\n },\n /* @__PURE__ */ React40.createElement(import_lucide_react16.Send, { className: \"text-white w-5 h-5\" })\n )\n );\n }\n);\nAssistantInput.displayName = \"AssistantInput\";\n\n// src/components/organisms/rating-dialog.tsx\nvar import_hooks = require(\"@alquimia-ai/tools/hooks\");\n\n// src/components/hooks/index.ts\ninit_use_toast();\ninit_use_resize_observer();\n\n// src/components/organisms/rating-dialog.tsx\ninit_atoms();\nfunction RatingDialog({\n sendRating,\n topicId,\n assistantId,\n isOpen,\n onOpenChange,\n setHasRatedTopic\n}) {\n const { toast: toast2 } = useToast();\n const { handleRate, ratingStars, ratingThumbs, ratingComment, isLoading } = (0, import_hooks.useRatings)({ assistantId, sendRating, topicId });\n const onHandleRateSuccess = (success, err) => {\n setTimeout(() => onOpenChange(false), 1e3);\n success ? setHasRatedTopic(true) : toast2({\n title: \"Error\",\n description: `Hubo un error al enviar la calificaci\\xF3n`,\n action: /* @__PURE__ */ React.createElement(ToastAction, { altText: \"Goto schedule to undo\" }, \"Cerrar\")\n });\n };\n const handleCancelRate = () => {\n setHasRatedTopic(true);\n onOpenChange(false);\n };\n return /* @__PURE__ */ React.createElement(Dialog, { open: isOpen, onOpenChange }, /* @__PURE__ */ React.createElement(DialogContent, { className: \"sm:max-w-md\" }, /* @__PURE__ */ React.createElement(DialogHeader, null, /* @__PURE__ */ React.createElement(DialogTitle, null, \"Calific\\xE1 esta conversaci\\xF3n\"), /* @__PURE__ */ React.createElement(DialogDescription, null, \"Por favor, compart\\xED tu opini\\xF3n sobre el asistente.\")), /* @__PURE__ */ React.createElement(\"div\", { className: \"flex flex-row justify-center gap-4 py-4\" }, /* @__PURE__ */ React.createElement(\n RatingStars,\n {\n currentRating: ratingStars,\n onRate: (newRating) => handleRate(\"score\", newRating, onHandleRateSuccess),\n isLoading,\n className: \"p-2 rounded\"\n }\n ), /* @__PURE__ */ React.createElement(\n RatingThumbs,\n {\n currentRating: ratingComment,\n onRate: (newRating) => handleRate(\"description\", newRating, onHandleRateSuccess),\n direction: \"row\",\n isLoading\n }\n ), /* @__PURE__ */ React.createElement(\n RatingComment,\n {\n currentRating: ratingComment,\n onRate: (newRating) => handleRate(\"description\", newRating, onHandleRateSuccess),\n isLoading\n }\n )), /* @__PURE__ */ React.createElement(\"div\", { className: \"flex flex-row justify-center gap-4\" }, /* @__PURE__ */ React.createElement(Button, { onClick: handleCancelRate, variant: \"secondary\" }, /* @__PURE__ */ React.createElement(Typography, { as: \"p\", typeStyle: \"tiny\" }, \"No, gracias.\")))));\n}\n\n// src/index.ts\ninit_utils();\n\n// src/types/type.ts\nvar EditingStatus = /* @__PURE__ */ ((EditingStatus2) => {\n EditingStatus2[\"EDITING\"] = \"EDITING\";\n EditingStatus2[\"FINISHED\"] = \"FINISHED\";\n return EditingStatus2;\n})(EditingStatus || {});\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Alert,\n AlertDescription,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n AlertTitle,\n AspectRatio,\n Assistant,\n AssistantInput,\n AssistantMessageArea,\n Avatar,\n AvatarFallback,\n AvatarImage,\n Badge,\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n Button,\n CallOut,\n CallOutActions,\n CallOutDate,\n CallOutResponse,\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardImageWithHeadingAndDescriptionAvatarHorizontal,\n CardImageWithHeadingAndDescriptionHorizontal,\n CardTitle,\n CardWithImageHeadingDescriptionAvatarVertical,\n CardWithImageHeadingDescriptionVertical,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n Checkbox,\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DocumentSelector,\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerOverlay,\n DrawerPortal,\n DrawerTitle,\n DrawerTrigger,\n EditingStatus,\n Hero,\n HeroContent,\n Input,\n Label,\n Loader,\n MessagesWindow,\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n NavigationMenuViewport,\n PageContainer,\n Popover,\n PopoverContent,\n PopoverTrigger,\n QueryBox,\n RatingComment,\n RatingDialog,\n RatingStars,\n RatingThumbs,\n RichText,\n ScrollArea,\n ScrollBar,\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n Sidebar,\n SidebarFooter,\n Skeleton,\n Slider,\n SonnerToaster,\n SpeechToText,\n Switch,\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableFooter,\n TableHead,\n TableHeader,\n TableRow,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Textarea,\n Toast,\n ToastAction,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n Toaster,\n Toggle,\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n Typography,\n Whisper,\n badgeVariants,\n blobToBase64,\n buttonVariants,\n cn,\n getCookies,\n navigationMenuTriggerStyle,\n parseTextToSpeech,\n reducer,\n toast,\n toggleVariants,\n truncateString,\n useDocumentReader,\n useToast\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","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\", className)}\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 bg-background\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = \"DrawerContent\";\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n);\nDrawerHeader.displayName = \"DrawerHeader\";\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n);\nDrawerFooter.displayName = \"DrawerFooter\";\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n","import { 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\", 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\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-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 )}\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\",\n className\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-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\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","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/toaster\";\n","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","export * from \"./components/atoms\";\nexport * from \"./components/templates\";\nexport * from \"./components/organisms\";\nexport * from \"./components/molecules\";\nexport * from \"./components/hooks\";\nexport * from \"./lib/utils\";\nexport * from \"./types\";\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils\";\n\ninterface MessagesWindowProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst MessagesWindow = forwardRef<HTMLDivElement, MessagesWindowProps>(\n ({ className, ...props }, ref) => {\n return (\n <div className={cn(className, \"alq--messages--window\")} {...props}></div>\n );\n }\n);\n\nMessagesWindow.displayName = \"MessagesWindow\";\nexport { MessagesWindow };\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils\";\n\ninterface QueryBoxProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst QueryBox = forwardRef<HTMLDivElement, QueryBoxProps>(\n ({ className, ...props }, ref) => {\n return <div className={cn(className, \"alq--querybox\")} {...props}></div>;\n }\n);\n\nQueryBox.displayName = \"QueryBox\";\nexport { QueryBox };\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../../lib/utils\";\n\nexport interface HeroProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst Hero = forwardRef<HTMLDivElement, HeroProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"alq--hero-container\", \"grid\", className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nexport interface HeroContentProps\n extends React.HTMLAttributes<HTMLDivElement> {}\nconst HeroContent = forwardRef<HTMLDivElement, HeroContentProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"alq--hero-container\", className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n);\n\nHero.displayName = \"Hero\";\nHeroContent.displayName = \"HeroContent\";\n\nexport { Hero, HeroContent };\n","import { cn } from \"../../../lib/utils\";\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Typography,\n} from \"../../atoms\";\n\ninterface CardWithImageHeadingDescriptionProps {\n orientation: \"vertical\" | \"horizontal\";\n showBorder?: boolean;\n image: React.ReactNode;\n heading: React.ReactNode;\n description: React.ReactNode;\n}\n\nconst CardWithImageHeadingDescriptionVertical = (\n props: CardWithImageHeadingDescriptionProps\n) => {\n const { showBorder, image, heading, description } = props;\n return (\n <Card className={cn(\"w-[360px]\", !showBorder && \"border-none shadow-none\")}>\n {image}\n <CardHeader>\n <CardTitle>{heading}</CardTitle>\n <Typography typeStyle=\"small\" className=\"text-font-weak-color\">\n {description}\n </Typography>\n </CardHeader>\n <CardContent></CardContent>\n </Card>\n );\n};\n\nconst CardImageWithHeadingAndDescriptionHorizontal = (\n props: CardWithImageHeadingDescriptionProps\n) => {\n const { showBorder, image, heading, description } = props;\n return (\n <Card\n className={cn(\n \"lg:w-[600px] w-[360px] lg:flex lg:h-[150px]\",\n !showBorder && \"border-none shadow-none \"\n )}\n >\n {image}\n <CardHeader>\n <CardTitle>{heading}</CardTitle>\n <Typography typeStyle=\"small\" className=\"text-font-weak-color\">\n {description}\n </Typography>\n </CardHeader>\n <CardContent></CardContent>\n </Card>\n );\n};\n\nexport {\n CardWithImageHeadingDescriptionVertical,\n CardImageWithHeadingAndDescriptionHorizontal,\n type CardWithImageHeadingDescriptionProps,\n};\n","import { cn } from \"../../../lib/utils\";\nimport {\n Avatar,\n AvatarImage,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Typography,\n} from \"../../atoms\";\n\ninterface CardWithImageHeadingDescriptionAvatarProps {\n orientation: \"vertical\" | \"horizontal\";\n showBorder?: boolean;\n image: React.ReactNode;\n heading: React.ReactNode;\n description: React.ReactNode;\n avatarImage: string;\n userName: string;\n email: string;\n}\n\nconst AvatarInfo = (props: CardWithImageHeadingDescriptionAvatarProps) => {\n const { userName, email, avatarImage } = props;\n return (\n <div className=\"flex space-x-2 items-center\">\n <Avatar className=\"w-16 h-16\">\n <AvatarImage src={avatarImage} />\n </Avatar>\n <div>\n <Typography typeStyle=\"small\" className=\"font-semibold\">\n {userName}\n </Typography>\n <Typography typeStyle=\"tiny\" className=\"text-font-weak-color\">\n {email}\n </Typography>\n </div>\n </div>\n );\n};\n\nconst CardWithImageHeadingDescriptionAvatarVertical = (\n props: CardWithImageHeadingDescriptionAvatarProps\n) => {\n const { showBorder, image, heading, description } = props;\n\n return (\n <Card className={cn(\"w-[360px]\", !showBorder && \"border-none shadow-none\")}>\n {image}\n <CardHeader>\n <CardTitle>{heading}</CardTitle>\n <Typography typeStyle=\"small\" className=\"text-font-weak-color\">\n {description}\n </Typography>\n </CardHeader>\n <CardContent>\n <AvatarInfo {...props} />\n </CardContent>\n </Card>\n );\n};\n\nconst CardImageWithHeadingAndDescriptionAvatarHorizontal = (\n props: CardWithImageHeadingDescriptionAvatarProps\n) => {\n const { showBorder, image, heading, description } = props;\n return (\n <Card\n className={cn(\n \"lg:w-[600px] w-[360px] lg:flex lg:h-[246px]\",\n !showBorder && \"border-none shadow-none \"\n )}\n >\n {image}\n <div>\n <CardHeader>\n <CardTitle>{heading}</CardTitle>\n <Typography typeStyle=\"small\" className=\"text-font-weak-color\">\n {description}\n </Typography>\n </CardHeader>\n <CardContent>\n <AvatarInfo {...props} />\n </CardContent>\n </div>\n </Card>\n );\n};\n\nexport {\n CardWithImageHeadingDescriptionAvatarVertical,\n CardImageWithHeadingAndDescriptionAvatarHorizontal,\n type CardWithImageHeadingDescriptionAvatarProps,\n};\n","import { useState, useEffect } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport {\n AudioLinesIcon,\n PlayCircleIcon,\n LoaderPinwheelIcon,\n} from \"lucide-react\";\nimport { Message } from \"ai\";\nimport { parseTextToSpeech } from \"../../lib/utils\";\n\ninterface WhisperProps extends React.HTMLAttributes<HTMLDivElement> {\n message: Message;\n isMessageStreaming: boolean;\n textToSpeech: (content: string) => Promise<Blob>;\n}\n\nfunction Whisper({\n className,\n message,\n isMessageStreaming,\n textToSpeech,\n}: WhisperProps) {\n const [audioUrl, setAudioUrl] = useState<HTMLAudioElement | null>(null);\n const [isPlaying, setIsPlaying] = useState<boolean>(false);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n const content = message.content;\n\n useEffect(() => {\n if (audioUrl) {\n const handlePlaying = () => setIsPlaying(true);\n const handlePause = () => setIsPlaying(false);\n const handleEnded = () => setIsPlaying(false);\n\n audioUrl.addEventListener(\"playing\", handlePlaying);\n audioUrl.addEventListener(\"pause\", handlePause);\n audioUrl.addEventListener(\"ended\", handleEnded);\n\n return () => {\n audioUrl.removeEventListener(\"playing\", handlePlaying);\n audioUrl.removeEventListener(\"pause\", handlePause);\n audioUrl.removeEventListener(\"ended\", handleEnded);\n };\n }\n }, [audioUrl]);\n\n const resetAudio = () => {\n audioUrl && (audioUrl.currentTime = 0);\n audioUrl?.pause();\n };\n\n const handleAudioPlay = () => (isPlaying ? resetAudio() : audioUrl?.play());\n\n const handleTextToSpeech = async (content: string) => {\n if (!audioUrl) {\n setIsLoading(true);\n const filteredContent = parseTextToSpeech(content);\n const audioFile = await textToSpeech(filteredContent);\n\n if (audioFile) {\n const url = URL.createObjectURL(audioFile);\n const audio = new Audio(url);\n\n setIsLoading(false);\n audio.play();\n setAudioUrl(audio);\n }\n } else {\n setIsLoading(false);\n handleAudioPlay();\n }\n };\n\n return (\n <div className={cn(className)}>\n {isMessageStreaming && <div className=\"p-2 w-[24px] h-[24px]\"></div>}\n {!isMessageStreaming && (\n <div onClick={() => handleTextToSpeech(content)}>\n {isPlaying && (\n <button className=\"p-2 items-center justify-center\">\n <AudioLinesIcon size={20} />\n </button>\n )}\n\n {isLoading && (\n <button className=\"p-2 items-center justify-center\">\n {\" \"}\n <LoaderPinwheelIcon size={20} className=\"circular-animation\" />\n </button>\n )}\n\n {!isLoading && !isPlaying && (\n <button\n disabled={isLoading}\n className=\"p-2 items-center justify-center\"\n >\n <PlayCircleIcon size={20} />\n </button>\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport { Whisper };\n","import { useState, useEffect } from \"react\";\nimport { cn, blobToBase64 } from \"../../lib/utils\";\ninterface SpeechToTextProps extends React.HTMLAttributes<HTMLDivElement> {\n RecordAudioIcon: React.ReactElement;\n IdleAudioIcon: React.ReactElement;\n speechToText: (audio: string) => Promise<string>;\n handleReplaceInput: (text: string) => void;\n setIsAudioRecording: React.Dispatch<React.SetStateAction<boolean>>;\n}\n\nfunction SpeechToText({\n className,\n speechToText,\n RecordAudioIcon,\n IdleAudioIcon,\n handleReplaceInput,\n setIsAudioRecording,\n ...props\n}: SpeechToTextProps) {\n const [isRecording, setIsRecording] = useState<boolean>(false);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder | null>(null);\n const [audioBlob, setAudioBlob] = useState<Blob | null>(null);\n\n const startRecording = async () => {\n setIsRecording(true);\n const stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n const recorder = new MediaRecorder(stream);\n setMediaRecorder(recorder);\n\n recorder.ondataavailable = (event) => {\n setAudioBlob(event.data);\n };\n\n recorder.start();\n };\n\n const stopRecording = () => {\n setIsRecording(false);\n mediaRecorder?.stop();\n mediaRecorder?.stream.getTracks().forEach(track => track.stop());\n };\n\n const handleSpeechToText = async () => {\n if (!audioBlob) return;\n\n const audioBase64 = await blobToBase64(audioBlob);\n try {\n setIsLoading(true)\n const transcription = await speechToText(audioBase64);\n if (transcription) {\n handleReplaceInput(transcription)\n setIsLoading(false)\n }\n } catch (error) {\n console.error('Error transcribing audio:', error);\n setIsLoading(false)\n } finally {\n setAudioBlob(null);\n }\n };\n\n useEffect(() => {\n if (!isRecording && audioBlob) {\n handleSpeechToText();\n }\n }, [isRecording, audioBlob]);\n\n useEffect(() => {\n isLoading || isRecording ? setIsAudioRecording(true) : setIsAudioRecording(false);\n }, [isRecording, isLoading]);\n\n const handleRecordButtonClick = () => {\n if (isRecording) {\n stopRecording();\n } else {\n startRecording();\n }\n };\n\n const recordIcons = isRecording ? RecordAudioIcon : IdleAudioIcon\n\n return (\n <div className={cn(className)} {...props}>\n <button disabled={isLoading} type=\"button\" onClick={handleRecordButtonClick}>\n {recordIcons}\n </button>\n </div>\n );\n}\n\nexport { SpeechToText };","\"use client\";\n\nimport * as React from \"react\";\nimport { useEffect } from \"react\";\nimport { AlquimiaSDK } from \"@alquimia-ai/tools/sdk\";\nimport { Typography } from \"../atoms\";\nimport { CallOut, CallOutResponse, CallOutActions } from \"../molecules\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Message } from \"ai\";\nimport { Send } from \"lucide-react\";\n\ninterface AssistantProps extends React.HTMLAttributes<HTMLDivElement> {\n sdk: AlquimiaSDK;\n title?: string;\n description?: string;\n}\n\nconst Assistant = React.forwardRef<HTMLDivElement, AssistantProps>(\n ({ className, sdk, title, description, children, ...props }, ref) => {\n // this components need to be refactored into a fully functional assistant\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col h-full\", className)}\n {...props}\n >\n {(title || description) && (\n <AssistantHeader>\n {title && <AssistantTitle title={title} />}\n {description && <AssistantDescription description={description} />}\n </AssistantHeader>\n )}\n {children}\n </div>\n );\n }\n);\nAssistant.displayName = \"Assistant\";\n\ninterface AssistantTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {\n title: string;\n}\n\nconst AssistantTitle = React.forwardRef<\n HTMLHeadingElement,\n AssistantTitleProps\n>(({ className, title, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n <Typography typeStyle=\"heading1\" as=\"h1\">\n {title}\n </Typography>\n </div>\n));\nAssistantTitle.displayName = \"AssistantTitle\";\n\ninterface AssistantDescriptionProps\n extends React.HTMLAttributes<HTMLParagraphElement> {\n description: string;\n}\n\nconst AssistantDescription = React.forwardRef<\n HTMLParagraphElement,\n AssistantDescriptionProps\n>(({ className, description, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n <Typography typeStyle=\"display\" as=\"p\">\n {description}\n </Typography>\n </div>\n));\nAssistantDescription.displayName = \"AssistantDescription\";\n\ninterface AssistantHeaderProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst AssistantHeader = React.forwardRef<HTMLDivElement, AssistantHeaderProps>(\n ({ className, children, ...props }, ref) => (\n <div ref={ref} className={className} {...props}>\n {children}\n </div>\n )\n);\nAssistantHeader.displayName = \"AssistantHeader\";\n\ninterface MessageAction {\n label: string;\n icon: React.ReactNode;\n onClick: (message?: Message) => Promise<void>;\n}\n\ninterface AssistantMessageAreaProps\n extends React.HTMLAttributes<HTMLDivElement> {\n messages: (Message & {\n error_code?: string;\n created_at?: string;\n error_detail?: string;\n additionalInfo?: string;\n })[];\n actions?: MessageAction[];\n messagesEndRef: any;\n isMessageStreaming?: boolean;\n streamingMessageId: string | null;\n}\n\nconst AssistantMessageArea = React.forwardRef<\n HTMLDivElement,\n AssistantMessageAreaProps\n>(\n (\n {\n className,\n messages,\n messagesEndRef,\n actions,\n streamingMessageId,\n ...props\n },\n ref\n ) => {\n useEffect(() => {\n messagesEndRef.current?.scrollIntoView({ behavior: \"instant\" });\n }, []);\n\n return(\n <div\n ref={ref}\n className={cn(\"p-6 overflow-y-auto flex-grow\", className)}\n {...props}\n >\n {messages.map((message) => (\n <div key={message.id}>\n <CallOut\n key={message.id}\n role={message.role as \"user\" | \"assistant\"}\n message={message}\n >\n {message.created_at && (\n <div className=\"text-xs text-muted-foreground/80 pb-1\">\n {new Date(Number(message.created_at)).toLocaleString(\"es-ES\", {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false,\n })}\n </div>\n )}\n {message.error_code && (\n <CallOutResponse\n role=\"assistant\"\n data-error-code={message.error_code}\n >\n We have an internal error, please try again later.\n </CallOutResponse>\n )}\n {message.content && (\n <CallOutResponse role={message.role} additionalInfo={streamingMessageId !== message.id ? message?.additionalInfo : undefined}>\n {message.content}\n </CallOutResponse>\n )}\n {actions && streamingMessageId !== message.id &&\n <CallOutActions\n key={message.id}\n actions={actions}\n message={message}\n role={message.role as \"user\" | \"assistant\"}\n />\n }\n </CallOut>\n </div>\n ))}\n <div ref={messagesEndRef} />\n </div>\n );\n }\n);\nAssistantMessageArea.displayName = \"AssistantMessageArea\";\n\ninterface AssistantInputProps\n extends React.FormHTMLAttributes<HTMLFormElement> {\n sendMessageFunc: (event: React.FormEvent<HTMLFormElement>) => Promise<void>;\n isButtonDisabled: boolean;\n input: string;\n handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n isMessageStreaming: boolean;\n}\n\nconst AssistantInput = React.forwardRef<HTMLFormElement, AssistantInputProps>(\n (\n {\n className,\n sendMessageFunc,\n isButtonDisabled,\n input,\n handleInputChange,\n isMessageStreaming,\n ...props\n },\n ref\n ) => {\n return (\n <form\n onSubmit={sendMessageFunc}\n className={`flex items-center space-x-4 ${className}`}\n ref={ref}\n {...props}\n >\n <input\n type=\"text\"\n disabled={isButtonDisabled}\n value={input}\n onChange={handleInputChange}\n placeholder={\n isMessageStreaming ? \"Procesando...\" : \"Escribe tu mensaje aquí...\"\n }\n className=\"flex-1 text-sm p-3 rounded-lg focus:outline-none w-full border\"\n />\n <button\n type=\"submit\"\n disabled={isButtonDisabled}\n className={`w-10 h-10 ${isButtonDisabled ? \"bg-gray-500\" : \"bg-black\"} rounded-full flex items-center justify-center alq--assistant-button-send`}\n >\n <Send className=\"text-white w-5 h-5\" />\n </button>\n </form>\n );\n }\n);\nAssistantInput.displayName = \"AssistantInput\";\n\nexport {\n Assistant,\n AssistantTitle,\n AssistantDescription,\n AssistantHeader,\n AssistantMessageArea,\n AssistantInput,\n};\n","import { forwardRef } from \"react\";\nimport { cn } from \"../../lib/utils\";\n\ninterface PageContainerProps extends React.HTMLAttributes<HTMLDivElement> {}\nconst PageContainer = forwardRef<HTMLDivElement, PageContainerProps>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(className, \"alq--page-container\")}\n {...props}\n />\n );\n }\n);\nPageContainer.displayName = \"PageContainer\";\nexport { PageContainer };\n","export { PageContainer } from \"./page-container\";\nexport * from \"./alert-dialog\";\nexport * from \"./carousel\";\nexport * from \"./navigation-menu\";\nexport * from \"./sidebar\";\nexport * from \"./sonner\";\nexport * from \"./rating-stars\";\nexport * from \"./rating-thumbs\";\nexport * from \"./rating-comment\";\nexport * from \"./documents\";\nexport * from \"./call-out\";\n","\"use client\";\n\nimport * as React from \"react\";\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\";\nimport { ArrowLeft, ArrowRight } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../../components/atoms/ui/button\";\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: \"horizontal\" | \"vertical\";\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\");\n }\n\n return context;\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n );\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return;\n }\n\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext]\n );\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on(\"reInit\", onSelect);\n api.on(\"select\", onSelect);\n\n return () => {\n api?.off(\"select\", onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n }\n);\nCarousel.displayName = \"Carousel\";\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n );\n});\nCarouselContent.displayName = \"CarouselContent\";\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel();\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n );\n});\nCarouselItem.displayName = \"CarouselItem\";\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n});\nCarouselPrevious.displayName = \"CarouselPrevious\";\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n});\nCarouselNext.displayName = \"CarouselNext\";\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n};\n","import * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDown } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n));\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n )}\n {...props}\n />\n));\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item;\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50\"\n);\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n));\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n));\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link;\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n));\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName;\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n));\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName;\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n};\n","import * as React from \"react\";\nimport { LucideIcon } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport { ScrollArea, Button } from \"../atoms\";\n\nconst sidebarVariants = cva(\n \"flex flex-col border-r\",\n {\n variants: {\n size: {\n sm: \"w-48\",\n default: \"w-64\",\n lg: \"w-72\"\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n);\n\nexport interface SidebarItem {\n name: string;\n icon?: LucideIcon;\n disabled?: boolean;\n isLink?: boolean;\n link?: string;\n}\n\ntype SidebarBaseProps = {\n items: SidebarItem[];\n selectedSection?: SidebarItem;\n onSelect?: (item: SidebarItem) => void;\n footerContent?: React.ReactNode;\n selectedVariant?: \"default\" | \"secondary\" | \"ghost\" | \"link\";\n defaultVariant?: \"default\" | \"secondary\" | \"ghost\" | \"link\";\n buttonClassName?: string;\n}\n\nexport interface SidebarProps \n extends SidebarBaseProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, keyof SidebarBaseProps>,\n VariantProps<typeof sidebarVariants> {}\n\nexport const SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"p-4\", className)}\n {...props}\n >\n {children}\n </div>\n));\nSidebarFooter.displayName = \"SidebarFooter\";\n\n\nexport const Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>(\n ({ \n className, \n items, \n selectedSection, \n onSelect, \n footerContent,\n size = \"default\",\n selectedVariant = \"secondary\",\n defaultVariant = \"ghost\",\n buttonClassName,\n ...props \n }, ref) => {\n return (\n <div className={cn(className, \"alq--navigation-sidebar h-full\")} ref={ref} {...props}>\n <aside className={cn(sidebarVariants({ size }), \"h-full\")}>\n <ScrollArea className=\"flex-grow justify-between\">\n <div className=\"flex flex-col gap-2 p-4\">\n {items.map((item) => (\n <Button\n key={item.name}\n variant={selectedSection?.name === item.name ? selectedVariant : defaultVariant}\n className={cn(\"justify-start\", buttonClassName)}\n disabled={item.disabled}\n onClick={() => {\n if (onSelect) {\n onSelect(item);\n }\n }}\n >\n {item.icon && <item.icon className=\"mr-2 h-4 w-4\" />}\n {item.name}\n </Button>\n ))}\n </div>\n </ScrollArea>\n {footerContent && (\n <SidebarFooter>\n {footerContent}\n </SidebarFooter>\n )}\n </aside>\n </div>\n );\n }\n);","\"use client\";\nimport * as React from \"react\";\nimport { useTheme } from \"next-themes\";\nimport { Toaster as Sonner } from \"sonner\";\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n );\n};\nexport { Toaster as SonnerToaster };\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\nimport { Star } from \"lucide-react\"\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../atoms\";\n\nconst TooltipProvider = TooltipPrimitive.Provider\nconst Tooltip = TooltipPrimitive.Root\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground shadow-lg animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\ninterface StarColors {\n fill: string\n stroke: string\n}\n\ninterface RatingStarsProps {\n currentRating: number\n isLoading: boolean\n onRate: (rating: number) => void\n className?: string\n}\n\nconst StarRating = React.forwardRef<\n HTMLDivElement,\n { rating: number; onRate: (r: number) => void }\n>(({ rating, onRate }, ref) => (\n <div ref={ref} className=\"flex\">\n {[1, 2, 3, 4, 5].map((star) => (\n <Button\n key={star}\n onClick={() => onRate(star)}\n variant=\"link\"\n className=\"p-1 transition-colors [&_svg]:size-5 h-5\"\n aria-label={`Rate ${star} star${star !== 1 ? \"s\" : \"\"}`}\n >\n <Star\n className={cn(\n \"w-5 h-5\",\n star <= rating ? \"alq-rating-star-active fill-current stroke-current\" : \"alq-rating-star-inactive\",\n )}\n />\n </Button>\n ))}\n </div>\n));\nStarRating.displayName = \"StarRating\"\n\nexport const RatingStars = React.forwardRef<\n HTMLButtonElement,\n RatingStarsProps\n>(({\n currentRating = 0,\n onRate,\n className,\n isLoading\n}, ref) => {\n const [open, setOpen] = React.useState(false)\n const [animate, setAnimate] = React.useState(false)\n\n const handleRate = (rating: number) => {\n onRate(rating)\n setOpen(false)\n }\n\n React.useEffect(() => {\n if (currentRating > 0) {\n setAnimate(true)\n const timer = setTimeout(() => setAnimate(false), 150)\n return () => clearTimeout(timer)\n }\n }, [currentRating])\n\n const hasRated = currentRating > 0\n\n return (\n <TooltipProvider>\n <Tooltip open={open} onOpenChange={setOpen}>\n <TooltipTrigger asChild>\n <Button\n ref={ref}\n variant=\"link\"\n className={cn(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium [&_svg]:size-5 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n className\n )}\n disabled={isLoading}\n onClick={() => setOpen(!open)}\n >\n <Star \n className={cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && \"animate-ping\",\n isLoading && \"animate-pulse\",\n hasRated ? \"alq-rating-star-active fill-current stroke-current\" : \"alq-rating-star-inactive\",\n )}\n />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\" align=\"center\" className=\"p-0\">\n <div className=\"p-2 bg-background\">\n <StarRating \n rating={currentRating} \n onRate={handleRate}\n />\n </div>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n})\nRatingStars.displayName = \"RatingStars\"\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n}","\"use client\"\n\nimport * as React from \"react\"\nimport { ThumbsUp, ThumbsDown } from \"lucide-react\"\nimport { Button } from \"../atoms\";\nimport { cn } from \"../../lib/utils\";\n\ninterface RatingThumbsProps {\n currentRating: string\n isLoading: boolean\n onRate: (rating: \"thumbsUp\" | \"thumbsDown\" | \"\") => void\n direction?: \"row\" | \"column\"\n className?: string\n}\n\nexport const RatingThumbs = React.forwardRef<HTMLDivElement, RatingThumbsProps>(\n (\n {\n currentRating,\n onRate,\n direction = \"row\",\n className,\n isLoading\n },\n ref\n ) => {\n const [animate, setAnimate] = React.useState(false);\n\n React.useEffect(() => {\n if (currentRating) {\n setAnimate(true);\n const timer = setTimeout(() => setAnimate(false), 150);\n return () => clearTimeout(timer);\n }\n }, [currentRating]);\n\n return (\n <div\n ref={ref}\n className={cn(\n \"inline-flex\",\n direction === \"column\" ? \"flex-col\" : \"flex-row\",\n \"space-x-1 gap-4\",\n className\n )}\n >\n <Button\n variant=\"link\"\n onClick={() => onRate(currentRating === \"thumbsUp\" ? \"\" : \"thumbsUp\")}\n className={cn(\n \"p-1 transition-colors disabled:opacity-50 [&_svg]:size-5\",\n `hover:alq-rating-thumbsup/10`\n )}\n aria-label=\"Thumbs up\"\n disabled={isLoading}\n >\n <ThumbsUp\n className={cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && currentRating === \"thumbsUp\" && \"animate-ping\",\n isLoading && \"animate-pulse\",\n currentRating === \"thumbsUp\" ? \"alq-rating-thumbsup fill-current stroke-current\" : \"alq-rating-thumbs-inactive fill-transparent\"\n )}\n />\n </Button>\n <Button\n variant=\"link\"\n onClick={() => onRate(currentRating === \"thumbsDown\" ? \"\" : \"thumbsDown\")}\n className={cn(\n \"p-1 transition-colors disabled:opacity-50 mt-0.5 [&_svg]:size-5\",\n `hover:bg-alq-rating-thumbsdown/10`\n )}\n aria-label=\"Thumbs down\"\n disabled={isLoading}\n >\n <ThumbsDown\n className={cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && currentRating === \"thumbsDown\" && \"animate-ping\",\n isLoading && \"animate-pulse\",\n currentRating === \"thumbsDown\" ? \"alq-rating-thumbsdown fill-current stroke-current\" : \"alq-rating-thumbs-inactive fill-transparent\"\n )}\n />\n </Button>\n </div>\n );\n }\n);\n\nRatingThumbs.displayName = \"RatingThumbs\"","\"use client\"\n\nimport * as React from \"react\"\nimport { Book } from \"lucide-react\"\nimport { cn } from \"../../lib/utils\"\nimport { Button } from \"../atoms\"\nimport {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogOverlay,\n DialogTitle,\n} from \"../atoms/ui/dialog\";\n\ninterface RatingCommentProps {\n currentRating: string\n onRate: (comment: string) => void\n className?: string\n isLoading?: boolean\n}\n\nexport const RatingComment = React.forwardRef<HTMLButtonElement, RatingCommentProps>(\n ({ currentRating, onRate, className, isLoading }, ref) => {\n const [open, setOpen] = React.useState(false)\n const [comment, setComment] = React.useState(\"\")\n const [animate, setAnimate] = React.useState(false);\n\n const handleRate = () => {\n onRate(comment)\n setOpen(false)\n }\n\n React.useEffect(() => {\n if (currentRating) {\n setAnimate(true);\n const timer = setTimeout(() => setAnimate(false), 150);\n return () => clearTimeout(timer);\n }\n }, [currentRating]);\n\n React.useEffect(() => {\n setComment(\"\")\n }, [open])\n\n return (\n <Dialog open={open} onOpenChange={setOpen}>\n <DialogTrigger asChild>\n <Button\n ref={ref}\n variant=\"link\"\n size={\"lg\"}\n className={cn(\n \"inline-flex p-2 items-center justify-center rounded-md text-sm font-medium transition-colors [&_svg]:size-5 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring bg-transparent hover:none disabled:pointer-events-none disabled:opacity-50\",\n className\n )}\n disabled={isLoading}\n >\n <Book\n className={cn(\n \"w-5 h-5 transition-all duration-500\",\n animate && \"animate-ping\",\n isLoading && \"animate-pulse\",\n `${comment ? \"alq-rating-comment\" : \"stroke-gray-400\"}`\n )}\n />\n </Button>\n </DialogTrigger>\n <DialogOverlay className=\"fixed inset-0 bg-black bg-opacity-50\" />\n <DialogContent aria-describedby={undefined}>\n <DialogTitle className=\"text-lg font-medium\">\n Deja un comentario\n </DialogTitle>\n <textarea\n className=\"mt-4 w-full p-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-primary\"\n rows={4}\n value={comment}\n onChange={(e) => setComment(e.target.value)}\n />\n <div className=\"mt-4 flex justify-end\">\n <Button\n onClick={handleRate}\n disabled={!comment}\n >\n Enviar\n </Button>\n </div>\n </DialogContent>\n </Dialog>\n );\n }\n)\n\nRatingComment.displayName = \"RatingComment\"\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 } from '../../../types/type';\nimport { ExternalLink } from \"lucide-react\";\nimport { DocumentViewer } from './document-viewer';\nimport { ActionResponse } from '@alquimia-ai/tools/types';\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 '@alquimia-ai/tools/types';\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\"\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 } from \"../../types/type\";\nimport { ActionResponse } from \"@alquimia-ai/tools/types\";\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","import * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { RichText } from \"../atoms\";\nimport { Message } from \"ai\";\n\nexport interface CallOutMessage {\n id: string;\n role: \"user\" | \"assistant\";\n content: string;\n timestamp: Date;\n}\n\ninterface CallOutActionProps {\n label: string;\n icon: React.ReactNode;\n onClick: (message?: Message) => Promise<void>;\n}\n\nexport interface CallOutProps extends React.HTMLAttributes<HTMLDivElement> {\n message?: Message;\n}\n\nconst CallOut = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CallOutProps\n>(({ className, children, role, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\"alq--callout-box\", className)}\n data-role={role}\n {...props}\n >\n {children}\n </div>\n );\n});\n\nconst CallOutDate = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, ref) => {\n return (\n <div ref={ref} className={cn(\"alq--callout-date\", className)} {...props}>\n {children}\n </div>\n );\n});\n\nconst CallOutActions = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & {\n actions: CallOutActionProps[];\n role: \"user\" | \"assistant\";\n message?: Message;\n }\n>(({ className, actions, role, message, ...props }, ref) => {\n const [isLoading, setIsLoading] = React.useState(false);\n const [isClicked, setIsClicked] = React.useState(false);\n\n if (role === \"user\") {\n return null;\n }\n\n return (\n <div ref={ref} className={cn(\"alq--callout-actions\", className)} {...props}>\n {actions.map((action) => (\n <button\n key={action.label}\n className={cn(\n \"alq--callout-action\",\n {\n \"alq--callout-animate-action\": isLoading,\n },\n {\n \"alq--callout-clicked-action\": isClicked,\n }\n )}\n type=\"button\"\n title={action.label}\n onClick={() => {\n setIsLoading(true);\n action.onClick(message).then(() => {\n setIsLoading(false);\n setIsClicked(true);\n });\n }}\n >\n <span\n className={cn(\"alq-action-icon-wrapper\", {\n \"alq--callout-animate-action\": isLoading,\n })}\n >\n {action.icon}\n </span>\n <label>{action.label}</label>\n </button>\n ))}\n </div>\n );\n});\n\nconst CallOutResponse = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & { role: Message[\"role\"], additionalInfo?: string }\n>(({ className, children, role, additionalInfo, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-role={role}\n className={cn(\"alq--callout-response\", className)}\n {...props}\n >\n <RichText content={children as string} />\n {additionalInfo && (\n <div className=\"alq--callout-response-additional-info\">\n {additionalInfo}\n </div>\n )}\n </div>\n );\n});\n\nCallOut.displayName = \"CallOut\";\nCallOutDate.displayName = \"CallOutDate\";\nCallOutActions.displayName = \"CallOutActions\";\nCallOutResponse.displayName = \"CallOutResponse\";\nexport { CallOut, CallOutDate, CallOutResponse, CallOutActions };\n","\"use client\";\n\nimport { Message } from \"ai\";\n\nimport { RatingData } from \"@alquimia-ai/tools/types\";\nimport { useRatings } from \"@alquimia-ai/tools/hooks\";\nimport { useToast } from \"../hooks\";\nimport { RatingThumbs, RatingStars, RatingComment } from \"../molecules\";\nimport {\n Dialog,\n DialogDescription,\n DialogTitle,\n DialogContent,\n DialogHeader,\n Typography,\n Button,\n ToastAction,\n} from \"../atoms\";\n\ninterface RatingDialogProps {\n topicId: string;\n assistantId: string;\n sendRating: (ratingData: RatingData) => Promise<any>;\n isOpen: boolean;\n onOpenChange: (open: boolean) => void;\n setHasRatedTopic: (hasRated: boolean) => void;\n onError?: (componentName: string, error: Error) => void;\n}\n\nexport function RatingDialog({\n sendRating,\n topicId,\n assistantId,\n isOpen,\n onOpenChange,\n setHasRatedTopic,\n}: RatingDialogProps) {\n const { toast } = useToast();\n const { handleRate, ratingStars, ratingThumbs, ratingComment, isLoading } =\n useRatings({ assistantId, sendRating, topicId });\n\n const onHandleRateSuccess = (success: boolean, err?: string) => {\n setTimeout(() => onOpenChange(false), 1000);\n success\n ? setHasRatedTopic(true)\n : toast({\n title: \"Error\",\n description: `Hubo un error al enviar la calificación`,\n action: (\n <ToastAction altText=\"Goto schedule to undo\">Cerrar</ToastAction>\n ),\n });\n };\n\n const handleCancelRate = () => {\n setHasRatedTopic(true);\n onOpenChange(false);\n };\n\n return (\n <Dialog open={isOpen} onOpenChange={onOpenChange}>\n <DialogContent className=\"sm:max-w-md\">\n <DialogHeader>\n <DialogTitle>Calificá esta conversación</DialogTitle>\n <DialogDescription>\n Por favor, compartí tu opinión sobre el asistente.\n </DialogDescription>\n </DialogHeader>\n <div className=\"flex flex-row justify-center gap-4 py-4\">\n <RatingStars\n currentRating={ratingStars}\n onRate={(newRating) =>\n handleRate(\"score\", newRating, onHandleRateSuccess)\n }\n isLoading={isLoading}\n className=\"p-2 rounded\"\n />\n <RatingThumbs\n currentRating={ratingComment}\n onRate={(newRating) =>\n handleRate(\"description\", newRating, onHandleRateSuccess)\n }\n direction=\"row\"\n isLoading={isLoading}\n />\n <RatingComment\n currentRating={ratingComment}\n onRate={(newRating) =>\n handleRate(\"description\", newRating, onHandleRateSuccess)\n }\n isLoading={isLoading}\n />\n </div>\n <div className=\"flex flex-row justify-center gap-4\">\n <Button onClick={handleCancelRate} variant=\"secondary\">\n <Typography as=\"p\" typeStyle=\"tiny\">\n No, gracias.\n </Typography>\n </Button>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n","export * from \"./use-toast\";\nexport * from \"./use-document\";\nexport * from \"./use-resize-observer\";\n","export type AlquimiaDocument = {\n id: string;\n name: string;\n description?: string;\n isActive: boolean;\n contentType: string;\n url: string;\n updatedAt?: string;\n};\n\nexport type AlquimiaTopic = {\n id: string;\n externalCollectionId: string;\n isActive: boolean;\n name: string;\n description: string;\n createdAt?: string;\n updatedAt?: string;\n files: AlquimiaDocument[];\n ratings?: TopicRating[];\n};\n\nexport type TopicRating = {\n id: number;\n sessionId: string;\n}\n\nexport type AlquimiaFile = {\n id: string;\n file: Blob;\n}\n\nexport enum EditingStatus {\n EDITING = 'EDITING',\n FINISHED = 'FINISHED',\n}\n\nexport interface RatingData {\n assistantId: string;\n sessionId: string;\n topicId: number;\n score?: number;\n emoji?: string;\n description?: string;\n};\n\ninterface ActionResponse<T = void> {\n success: boolean;\n data?: T;\n error?: ActionError;\n}\n\nexport type ActionError = {\n message: string;\n code?: string;\n details?: ErrorDetails;\n}\n\nexport type ErrorDetails = {\n status: string;\n statusText?: string;\n}\n\nexport type ApiError = Error & {\n message: string;\n name: string;\n cause: string;\n code?: string | number;\n status?: string | number;\n}\n\nexport interface TWYDServerActions {\n getDocument?: (id: string) => Promise<ActionResponse<Blob>>;\n sendRating?: (ratingData: RatingData) => Promise<any>;\n logError?: (message: string, error: Error, data?: Record<string, any>) => Promise<any>;\n}"]}