@seaguntech/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/dist/index.cjs +1131 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +210 -0
- package/dist/index.d.ts +210 -0
- package/dist/index.js +1041 -0
- package/dist/index.js.map +1 -0
- package/package.json +78 -0
- package/src/styles/globals.css +27 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/badge.tsx","../src/components/bento-grid.tsx","../src/components/button.tsx","../src/components/card.tsx","../src/components/dialog.tsx","../src/components/command.tsx","../src/components/conversation.tsx","../src/components/dropdown-menu.tsx","../src/components/generative-container.tsx","../src/components/input.tsx","../src/components/label.tsx","../src/components/magnetic-button.tsx","../src/components/scroll-area.tsx","../src/components/separator.tsx","../src/components/spotlight-card.tsx","../src/components/tabs.tsx","../src/components/textarea.tsx","../src/components/voice-button.tsx","../src/components/voice-input-bar.tsx","../src/components/waveform.tsx"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from '../lib/utils';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-medium transition-all duration-300',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground',\n secondary: 'border-transparent bg-secondary text-secondary-foreground',\n outline: 'text-foreground',\n new: 'badge-new',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport function Badge({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof badgeVariants>) {\n return (\n <div\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n","'use client';\n\nimport { cn } from '../lib/utils';\nimport React from 'react';\n\ninterface BentoGridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport function BentoGrid({ className, children, ...props }: BentoGridProps) {\n return (\n <div\n className={cn(\n 'grid w-full auto-rows-[22rem] grid-cols-3 gap-4 mx-auto',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function BentoGridItem({\n className,\n title,\n description,\n header,\n icon,\n}: {\n className?: string;\n title?: string | React.ReactNode;\n description?: string | React.ReactNode;\n header?: React.ReactNode;\n icon?: React.ReactNode;\n}) {\n return (\n <div\n className={cn(\n 'row-span-1 rounded-xl group/bento hover:shadow-xl transition duration-200 shadow-input dark:shadow-none p-4 dark:bg-black dark:border-white/[0.2] bg-white border border-transparent justify-between flex flex-col space-y-4',\n className,\n )}\n >\n {header}\n <div className=\"group-hover/bento:translate-x-2 transition duration-200\">\n {icon}\n <div className=\"font-sans font-bold text-neutral-600 dark:text-neutral-200 mb-2 mt-2\">\n {title}\n </div>\n <div className=\"font-sans font-normal text-neutral-600 text-xs dark:text-neutral-300\">\n {description}\n </div>\n </div>\n </div>\n );\n}\n","import { cn } from '../lib/utils';\nimport { Slot } from '@radix-ui/react-slot';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport * as React from 'react';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium 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',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:opacity-90',\n secondary: 'bg-secondary text-secondary-foreground hover:opacity-90',\n outline: 'border border-input bg-background hover:bg-accent',\n ghost: 'hover:bg-accent',\n destructive:\n 'bg-destructive text-destructive-foreground hover:opacity-90',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-10 px-4 py-2',\n sm: 'h-9 px-3',\n lg: 'h-11 px-8',\n icon: 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nexport function Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { buttonVariants };\n","import { cn } from '../lib/utils';\nimport * as React from 'react';\n\nexport function Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'rounded-lg border bg-card text-card-foreground shadow-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CardHeader({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn('flex flex-col space-y-1.5 p-6', className)}\n {...props}\n />\n );\n}\n\nexport function CardTitle({ className, ...props }: React.ComponentProps<'h3'>) {\n return (\n <h3\n data-slot=\"card-title\"\n className={cn(\n 'text-lg font-semibold leading-none tracking-tight',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function CardDescription({\n className,\n ...props\n}: React.ComponentProps<'p'>) {\n return (\n <p\n data-slot=\"card-description\"\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nexport function CardContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('p-6 pt-0', className)}\n {...props}\n />\n );\n}\n\nexport function CardFooter({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center p-6 pt-0', className)}\n {...props}\n />\n );\n}\n","import { cn } from '../lib/utils';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nexport function Dialog(\n props: React.ComponentProps<typeof DialogPrimitive.Root>,\n) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nexport function DialogTrigger(\n props: React.ComponentProps<typeof DialogPrimitive.Trigger>,\n) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nexport function DialogPortal(\n props: React.ComponentProps<typeof DialogPrimitive.Portal>,\n) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nexport function DialogClose(\n props: React.ComponentProps<typeof DialogPrimitive.Close>,\n) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nexport function DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'fixed inset-0 z-50 bg-black/60 backdrop-blur-sm',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background fixed top-1/2 left-1/2 z-50 grid w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border p-6 shadow-lg',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-80 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\">\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nexport function DialogHeader({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col space-y-1.5', className)}\n {...props}\n />\n );\n}\n\nexport function DialogFooter({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg font-semibold', className)}\n {...props}\n />\n );\n}\n\nexport function DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n","'use client';\n\nimport { cn } from '../lib/utils';\nimport { Dialog, DialogContent, DialogTitle } from './dialog';\nimport { type DialogProps } from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\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\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <DialogTitle className=\"sr-only\">Command menu</DialogTitle>\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 [&_[data-cmdk-input-wrapper]_svg]:h-5 [&_[data-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\" data-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","import { cn } from '../lib/utils';\nimport * as React from 'react';\n\nexport function Conversation({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"conversation\"\n className={cn('flex flex-col gap-3', className)}\n {...props}\n />\n );\n}\n\nexport interface MessageProps extends React.ComponentProps<'div'> {\n from?: 'user' | 'assistant';\n}\n\nexport function Message({\n from = 'assistant',\n className,\n ...props\n}: MessageProps) {\n return (\n <div\n data-slot=\"message\"\n className={cn(\n 'max-w-[80%] rounded-xl px-3 py-2 text-sm',\n from === 'user'\n ? 'bg-primary text-primary-foreground ml-auto'\n : 'bg-muted text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n","import { cn } from '../lib/utils';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport * as React from 'react';\n\nexport function DropdownMenu(\n props: React.ComponentProps<typeof DropdownMenuPrimitive.Root>,\n) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nexport function DropdownMenuTrigger(\n props: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>,\n) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nexport function DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground z-50 min-w-40 overflow-hidden rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nexport function DropdownMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item>) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nexport function DropdownMenuLabel({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label>) {\n return (\n <DropdownMenuPrimitive.Label\n className={cn('px-2 py-1.5 text-sm font-medium', className)}\n {...props}\n />\n );\n}\n","'use client';\n\nimport { cn } from '../lib/utils';\nimport React from 'react';\n\ninterface GenerativeContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n active?: boolean;\n}\n\nexport function GenerativeContainer({\n children,\n className,\n active = true,\n ...props\n}: GenerativeContainerProps) {\n return (\n <div\n className={cn('relative rounded-xl p-[1px] overflow-hidden', className)}\n {...props}\n >\n {active && (\n <div className=\"absolute inset-0 z-0 bg-[conic-gradient(from_0deg_at_50%_50%,transparent_0%,transparent_75%,hsl(var(--primary))_100%)] animate-[spin_3s_linear_infinite]\" />\n )}\n <div className=\"relative z-10 rounded-[10px] bg-background h-full w-full\">\n {children}\n </div>\n </div>\n );\n}\n","import { cn } from '../lib/utils';\nimport * as React from 'react';\n\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n error?: string;\n}\n\nexport function Input({ className, error, id, ...props }: InputProps) {\n const errorId = id ? `${id}-error` : undefined;\n\n return (\n <div className=\"grid gap-1.5\">\n <input\n id={id}\n data-slot=\"input\"\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 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 error && 'border-destructive focus-visible:ring-destructive',\n className,\n )}\n aria-invalid={error ? true : undefined}\n aria-describedby={error ? errorId : undefined}\n {...props}\n />\n {error ? (\n <p id={errorId} className=\"text-sm text-destructive\" role=\"alert\">\n {error}\n </p>\n ) : null}\n </div>\n );\n}\n","import { cn } from '../lib/utils';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport * as React from 'react';\n\nexport function Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className,\n )}\n {...props}\n />\n );\n}\n","'use client';\n\nimport { Button, type ButtonProps } from './button';\nimport { motion } from 'framer-motion';\nimport React, { useRef, useState } from 'react';\n\nexport interface MagneticButtonProps extends ButtonProps {\n children: React.ReactNode;\n distance?: number;\n}\n\nexport function MagneticButton({\n children,\n distance = 10,\n className,\n ...props\n}: MagneticButtonProps) {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n const ref = useRef<HTMLDivElement>(null);\n\n const handleMouse = (e: React.MouseEvent<HTMLDivElement>) => {\n const { clientX, clientY } = e;\n if (!ref.current) return;\n const { height, width, left, top } = ref.current.getBoundingClientRect();\n const middleX = clientX - (left + width / 2);\n const middleY = clientY - (top + height / 2);\n const normalizedX = middleX / Math.max(width / 2, 1);\n const normalizedY = middleY / Math.max(height / 2, 1);\n\n setPosition({\n x: normalizedX * distance,\n y: normalizedY * distance,\n });\n };\n\n const reset = () => {\n setPosition({ x: 0, y: 0 });\n };\n\n return (\n <motion.div\n style={{ position: 'relative', display: 'inline-block' }}\n ref={ref}\n onMouseMove={handleMouse}\n onMouseLeave={reset}\n animate={{ x: position.x, y: position.y }}\n transition={{ type: 'spring', stiffness: 150, damping: 15, mass: 0.1 }}\n >\n <Button className={className} {...props}>\n {children}\n </Button>\n </motion.div>\n );\n}\n","import { cn } from '../lib/utils';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\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 { cn } from '../lib/utils';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as React from 'react';\n\nexport function Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0',\n orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px',\n className,\n )}\n {...props}\n />\n );\n}\n","'use client';\n\nimport { cn } from '../lib/utils';\nimport React, { useRef, useState } from 'react';\n\nexport interface SpotlightCardProps extends React.HTMLAttributes<HTMLDivElement> {\n spotlightColor?: string;\n}\n\nexport function SpotlightCard({\n children,\n className,\n spotlightColor = 'rgba(120, 119, 198, 0.1)',\n ...props\n}: SpotlightCardProps) {\n const divRef = useRef<HTMLDivElement>(null);\n const [isFocused, setIsFocused] = useState(false);\n const [position, setPosition] = useState({ x: 0, y: 0 });\n const [opacity, setOpacity] = useState(0);\n\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\n if (!divRef.current || isFocused) return;\n\n const div = divRef.current;\n const rect = div.getBoundingClientRect();\n\n setPosition({ x: e.clientX - rect.left, y: e.clientY - rect.top });\n };\n\n const handleFocus = () => {\n setIsFocused(true);\n setOpacity(1);\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n setOpacity(0);\n };\n\n const handleMouseEnter = () => {\n setOpacity(1);\n };\n\n const handleMouseLeave = () => {\n setOpacity(0);\n };\n\n return (\n <div\n ref={divRef}\n onMouseMove={handleMouseMove}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={cn(\n 'relative overflow-hidden rounded-xl border bg-card text-card-foreground shadow transition-colors',\n className,\n )}\n {...props}\n >\n <div\n className=\"pointer-events-none absolute -inset-px opacity-0 transition duration-300\"\n style={{\n opacity,\n background: `radial-gradient(600px circle at ${position.x}px ${position.y}px, ${spotlightColor}, transparent 40%)`,\n }}\n />\n <div className=\"relative h-full z-10\">{children}</div>\n </div>\n );\n}\n","import { cn } from '../lib/utils';\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\nimport * as React from 'react';\n\nexport function Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nexport function TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-10 items-center rounded-md p-1',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n 'data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-sm px-3 py-1.5 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport function TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-md',\n className,\n )}\n {...props}\n />\n );\n}\n","import { cn } from '../lib/utils';\nimport * as React from 'react';\n\nexport function Textarea({\n className,\n ...props\n}: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring min-h-20 w-full rounded-md border px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n );\n}\n","import { cn } from '../lib/utils';\nimport { Button } from './button';\nimport { Mic, MicOff } from 'lucide-react';\nimport * as React from 'react';\n\nexport interface VoiceButtonProps {\n isListening?: boolean;\n onToggle?: () => void;\n disabled?: boolean;\n className?: string;\n}\n\nexport function VoiceButton({\n isListening = false,\n onToggle,\n disabled,\n className,\n}: VoiceButtonProps) {\n return (\n <Button\n type=\"button\"\n variant={isListening ? 'destructive' : 'default'}\n className={cn('min-w-36 gap-2', className)}\n onClick={onToggle}\n disabled={disabled}\n >\n {isListening ? <MicOff /> : <Mic />}\n {isListening ? 'Stop listening' : 'Start speaking'}\n </Button>\n );\n}\n","'use client';\n\nimport { cn } from '../lib/utils';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { Mic, Send } from 'lucide-react';\nimport React, { useRef, useState } from 'react';\n\nexport interface VoiceInputBarProps {\n onSend?: (text: string) => void;\n onVoiceStart?: () => void;\n onVoiceStop?: () => void;\n placeholder?: string;\n className?: string;\n}\n\nexport function VoiceInputBar({\n onSend,\n onVoiceStart,\n onVoiceStop,\n placeholder = 'Message or tap mic...',\n className,\n}: VoiceInputBarProps) {\n const [isListening, setIsListening] = useState(false);\n const [text, setText] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n const toggleListen = () => {\n if (isListening) {\n setIsListening(false);\n onVoiceStop?.();\n } else {\n setIsListening(true);\n onVoiceStart?.();\n }\n };\n\n const handleSend = () => {\n if (text.trim()) {\n onSend?.(text);\n setText('');\n }\n };\n\n return (\n <div\n className={cn(\n 'relative flex w-full max-w-2xl items-center rounded-full border bg-background px-2 py-1.5 shadow-sm transition-all focus-within:ring-1 focus-within:ring-ring',\n isListening && 'ring-1 ring-primary/50 shadow-md',\n className,\n )}\n >\n <button\n type=\"button\"\n onClick={toggleListen}\n className={cn(\n 'flex h-10 w-10 shrink-0 items-center justify-center rounded-full transition-colors',\n isListening\n ? 'bg-red-500 text-white shadow-[0_0_15px_rgba(239,68,68,0.5)]'\n : 'bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground',\n )}\n >\n <Mic className={cn('h-5 w-5', isListening && 'animate-pulse')} />\n </button>\n\n <div className=\"relative flex-1 overflow-hidden px-3\">\n <AnimatePresence mode=\"popLayout\">\n {isListening ? (\n <motion.div\n initial={{ y: 20, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n exit={{ y: -20, opacity: 0 }}\n className=\"flex h-10 items-center justify-center space-x-1\"\n >\n {[1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 2].map((i, index) => (\n <motion.div\n key={index}\n animate={{\n height: ['10%', '100%', '10%'],\n }}\n transition={{\n duration: 1,\n repeat: Infinity,\n delay: index * 0.1,\n ease: 'easeInOut',\n }}\n className=\"w-1 rounded-full bg-foreground\"\n />\n ))}\n <span className=\"ml-4 text-sm font-medium animate-pulse text-muted-foreground\">\n Listening...\n </span>\n </motion.div>\n ) : (\n <motion.input\n initial={{ y: -20, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n exit={{ y: 20, opacity: 0 }}\n ref={inputRef}\n type=\"text\"\n value={text}\n onChange={(e) => setText(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && handleSend()}\n placeholder={placeholder}\n className=\"flex h-10 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n />\n )}\n </AnimatePresence>\n </div>\n\n <AnimatePresence>\n {!isListening && text.length > 0 && (\n <motion.button\n initial={{ scale: 0.8, opacity: 0 }}\n animate={{ scale: 1, opacity: 1 }}\n exit={{ scale: 0.8, opacity: 0 }}\n type=\"button\"\n onClick={handleSend}\n className=\"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground hover:bg-primary/90 transition-colors mr-1\"\n >\n <Send className=\"h-4 w-4 ml-0.5\" />\n </motion.button>\n )}\n </AnimatePresence>\n </div>\n );\n}\n","import { cn } from '../lib/utils';\nimport * as React from 'react';\n\nexport interface WaveformProps {\n bars?: number;\n active?: boolean;\n className?: string;\n}\n\nexport function Waveform({\n bars = 24,\n active = false,\n className,\n}: WaveformProps) {\n const data = React.useMemo(() => {\n return Array.from({ length: bars }, (_, index) => {\n const cycle = (index % 7) + 1;\n return cycle / 7;\n });\n }, [bars]);\n\n return (\n <div\n data-slot=\"waveform\"\n className={cn('flex h-10 items-end gap-1 rounded-md px-2', className)}\n >\n {data.map((value, index) => (\n <div\n key={index}\n className={cn(\n 'bg-primary/80 w-1 rounded-full transition-all',\n active ? 'animate-pulse' : '',\n )}\n style={{ height: `${Math.max(value * 100, 20)}%` }}\n />\n ))}\n </div>\n );\n}\n"],"mappings":";;;AAAA,SAA0B,YAAY;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;ACJA,SAA4B,WAAW;AACvC,YAAY,WAAW;AAEvB,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,KAAK;AAAA,MACP;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEO,SAAS,MAAM;AAAA,EACpB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqE;AACnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MAClD,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC9BA,OAAOA,YAAW;AAMX,SAAS,UAAU,EAAE,WAAW,UAAU,GAAG,MAAM,GAAmB;AAC3E,SACE,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AACD,SACE,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA;AAAA,IAEC;AAAA,IACD,gBAAAA,OAAA,cAAC,SAAI,WAAU,6DACZ,MACD,gBAAAA,OAAA,cAAC,SAAI,WAAU,0EACZ,KACH,GACA,gBAAAA,OAAA,cAAC,SAAI,WAAU,0EACZ,WACH,CACF;AAAA,EACF;AAEJ;;;ACtDA,SAAS,YAAY;AACrB,SAA4B,OAAAC,YAAW;AACvC,YAAYC,YAAW;AAEvB,IAAM,iBAAiBD;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,QACP,aACE;AAAA,QACF,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AASO,SAAS,OAAO;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,GAAG;AACL,GAAgB;AACd,QAAM,OAAO,UAAU,OAAO;AAE9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACtDA,YAAYE,YAAW;AAEhB,SAAS,KAAK,EAAE,WAAW,GAAG,MAAM,GAAgC;AACzE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAA+B;AAC7E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,YAAY,SAAS;AAAA,MAClC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,8BAA8B,SAAS;AAAA,MACpD,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC9EA,YAAY,qBAAqB;AACjC,SAAS,SAAS;AAClB,YAAYC,YAAW;AAEhB,SAAS,OACd,OACA;AACA,SAAO,qCAAiB,sBAAhB,EAAqB,aAAU,UAAU,GAAG,OAAO;AAC7D;AAEO,SAAS,cACd,OACA;AACA,SAAO,qCAAiB,yBAAhB,EAAwB,aAAU,kBAAkB,GAAG,OAAO;AACxE;AAEO,SAAS,aACd,OACA;AACA,SAAO,qCAAiB,wBAAhB,EAAuB,aAAU,iBAAiB,GAAG,OAAO;AACtE;AAEO,SAAS,YACd,OACA;AACA,SAAO,qCAAiB,uBAAhB,EAAsB,aAAU,gBAAgB,GAAG,OAAO;AACpE;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAAyD;AACvD,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyD;AACvD,SACE,qCAAC,oBACC,qCAAC,mBAAc,GACf;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,IACD,qCAAiB,uBAAhB,EAAsB,WAAU,sRAC/B,qCAAC,KAAE,WAAU,UAAS,GACtB,qCAAC,UAAK,WAAU,aAAU,OAAK,CACjC;AAAA,EACF,CACF;AAEJ;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6BAA6B,SAAS;AAAA,MACnD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,yBAAyB,SAAS;AAAA,MAC/C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA,GAAG;AACL,GAA6D;AAC3D,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACvHA,SAAS,WAAW,wBAAwB;AAC5C,SAAS,cAAc;AACvB,YAAYC,YAAW;AAEvB,IAAM,UAAgB,kBAGpB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,QAAQ,cAAc,iBAAiB;AAEvC,IAAM,gBAAgB,CAAC,EAAE,UAAU,GAAG,MAAM,MAAmB;AAC7D,SACE,qCAAC,UAAQ,GAAG,SACV,qCAAC,iBAAc,WAAU,mCACvB,qCAAC,eAAY,WAAU,aAAU,cAAY,GAC7C,qCAAC,WAAQ,WAAU,2XAChB,QACH,CACF,CACF;AAEJ;AAEA,IAAM,eAAqB,kBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,qCAAC,SAAI,WAAU,mCAAkC,2BAAwB,MACvE,qCAAC,UAAO,WAAU,oCAAmC,GACrD;AAAA,EAAC,iBAAiB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACF,CACD;AAED,aAAa,cAAc,iBAAiB,MAAM;AAElD,IAAM,cAAoB,kBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC,iBAAiB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,mDAAmD,SAAS;AAAA,IACzE,GAAG;AAAA;AACN,CACD;AAED,YAAY,cAAc,iBAAiB,KAAK;AAEhD,IAAM,eAAqB,kBAGzB,CAAC,OAAO,QACR;AAAA,EAAC,iBAAiB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA,WAAU;AAAA,IACT,GAAG;AAAA;AACN,CACD;AAED,aAAa,cAAc,iBAAiB,MAAM;AAElD,IAAM,eAAqB,kBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC,iBAAiB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,aAAa,cAAc,iBAAiB,MAAM;AAElD,IAAM,mBAAyB,kBAG7B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC,iBAAiB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,wBAAwB,SAAS;AAAA,IAC9C,GAAG;AAAA;AACN,CACD;AACD,iBAAiB,cAAc,iBAAiB,UAAU;AAE1D,IAAM,cAAoB,kBAGxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC,iBAAiB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AAED,YAAY,cAAc,iBAAiB,KAAK;AAEhD,IAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA,GAAG;AACL,MAA6C;AAC3C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AACA,gBAAgB,cAAc;;;AC3I9B,YAAYC,YAAW;AAEhB,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,uBAAuB,SAAS;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN;AAEJ;AAMO,SAAS,QAAQ;AAAA,EACtB,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAiB;AACf,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA,SAAS,SACL,+CACA;AAAA,QACJ;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACrCA,YAAY,2BAA2B;AACvC,YAAYC,YAAW;AAEhB,SAAS,aACd,OACA;AACA,SAAO,qCAAuB,4BAAtB,EAA2B,aAAU,iBAAiB,GAAG,OAAO;AAC1E;AAEO,SAAS,oBACd,OACA;AACA,SACE;AAAA,IAAuB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACT,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA,aAAa;AAAA,EACb,GAAG;AACL,GAA+D;AAC7D,SACE,qCAAuB,8BAAtB,MACC;AAAA,IAAuB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN,CACF;AAEJ;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA,GAAG;AACL,GAA4D;AAC1D,SACE;AAAA,IAAuB;AAAA,IAAtB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA,GAAG;AACL,GAAiE;AAC/D,SACE;AAAA,IAAuB;AAAA,IAAtB;AAAA,MACC,WAAW,GAAG,6BAA6B,SAAS;AAAA,MACnD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA,GAAG;AACL,GAA6D;AAC3D,SACE;AAAA,IAAuB;AAAA,IAAtB;AAAA,MACC,WAAW,GAAG,mCAAmC,SAAS;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC5EA,OAAOC,YAAW;AAMX,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,GAAG;AACL,GAA6B;AAC3B,SACE,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,+CAA+C,SAAS;AAAA,MACrE,GAAG;AAAA;AAAA,IAEH,UACC,gBAAAA,OAAA,cAAC,SAAI,WAAU,4JAA2J;AAAA,IAE5K,gBAAAA,OAAA,cAAC,SAAI,WAAU,8DACZ,QACH;AAAA,EACF;AAEJ;;;AC3BA,YAAYC,aAAW;AAMhB,SAAS,MAAM,EAAE,WAAW,OAAO,IAAI,GAAG,MAAM,GAAe;AACpE,QAAM,UAAU,KAAK,GAAG,EAAE,WAAW;AAErC,SACE,sCAAC,SAAI,WAAU,kBACb;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA,SAAS;AAAA,QACT;AAAA,MACF;AAAA,MACA,gBAAc,QAAQ,OAAO;AAAA,MAC7B,oBAAkB,QAAQ,UAAU;AAAA,MACnC,GAAG;AAAA;AAAA,EACN,GACC,QACC,sCAAC,OAAE,IAAI,SAAS,WAAU,4BAA2B,MAAK,WACvD,KACH,IACE,IACN;AAEJ;;;AC9BA,YAAY,oBAAoB;AAChC,YAAYC,aAAW;AAEhB,SAASC,OAAM;AAAA,EACpB;AAAA,EACA,GAAG;AACL,GAAqD;AACnD,SACE;AAAA,IAAgB;AAAA,IAAf;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACfA,SAAS,cAAc;AACvB,OAAOC,WAAS,QAAQ,gBAAgB;AAOjC,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AACvD,QAAM,MAAM,OAAuB,IAAI;AAEvC,QAAM,cAAc,CAAC,MAAwC;AAC3D,UAAM,EAAE,SAAS,QAAQ,IAAI;AAC7B,QAAI,CAAC,IAAI,QAAS;AAClB,UAAM,EAAE,QAAQ,OAAO,MAAM,IAAI,IAAI,IAAI,QAAQ,sBAAsB;AACvE,UAAM,UAAU,WAAW,OAAO,QAAQ;AAC1C,UAAM,UAAU,WAAW,MAAM,SAAS;AAC1C,UAAM,cAAc,UAAU,KAAK,IAAI,QAAQ,GAAG,CAAC;AACnD,UAAM,cAAc,UAAU,KAAK,IAAI,SAAS,GAAG,CAAC;AAEpD,gBAAY;AAAA,MACV,GAAG,cAAc;AAAA,MACjB,GAAG,cAAc;AAAA,IACnB,CAAC;AAAA,EACH;AAEA,QAAM,QAAQ,MAAM;AAClB,gBAAY,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AAAA,EAC5B;AAEA,SACE,gBAAAA,QAAA;AAAA,IAAC,OAAO;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,UAAU,YAAY,SAAS,eAAe;AAAA,MACvD;AAAA,MACA,aAAa;AAAA,MACb,cAAc;AAAA,MACd,SAAS,EAAE,GAAG,SAAS,GAAG,GAAG,SAAS,EAAE;AAAA,MACxC,YAAY,EAAE,MAAM,UAAU,WAAW,KAAK,SAAS,IAAI,MAAM,IAAI;AAAA;AAAA,IAErE,gBAAAA,QAAA,cAAC,UAAO,WAAuB,GAAG,SAC/B,QACH;AAAA,EACF;AAEJ;;;ACpDA,YAAY,yBAAyB;AACrC,YAAYC,aAAW;AAEvB,IAAM,aAAmB,mBAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAqB;AAAA,EAApB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,IAClD,GAAG;AAAA;AAAA,EAEJ,sCAAqB,8BAApB,EAA6B,WAAU,qCACrC,QACH;AAAA,EACA,sCAAC,eAAU;AAAA,EACX,sCAAqB,4BAApB,IAA2B;AAC9B,CACD;AACD,WAAW,cAAkC,yBAAK;AAElD,IAAM,YAAkB,mBAGtB,CAAC,EAAE,WAAW,cAAc,YAAY,GAAG,MAAM,GAAG,QACpD;AAAA,EAAqB;AAAA,EAApB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA,gBAAgB,cACd;AAAA,MACF,gBAAgB,gBACd;AAAA,MACF;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AAAA,EAEJ,sCAAqB,qCAApB,EAAoC,WAAU,0CAAyC;AAC1F,CACD;AACD,UAAU,cAAkC,wCAAoB;;;ACzChE,YAAY,wBAAwB;AACpC,YAAYC,aAAW;AAEhB,SAASC,WAAU;AAAA,EACxB;AAAA,EACA,cAAc;AAAA,EACd,aAAa;AAAA,EACb,GAAG;AACL,GAAyD;AACvD,SACE;AAAA,IAAoB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,gBAAgB,eAAe,gBAAgB;AAAA,QAC/C;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACpBA,OAAOC,WAAS,UAAAC,SAAQ,YAAAC,iBAAgB;AAMjC,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,GAAG;AACL,GAAuB;AACrB,QAAM,SAASD,QAAuB,IAAI;AAC1C,QAAM,CAAC,WAAW,YAAY,IAAIC,UAAS,KAAK;AAChD,QAAM,CAAC,UAAU,WAAW,IAAIA,UAAS,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AACvD,QAAM,CAAC,SAAS,UAAU,IAAIA,UAAS,CAAC;AAExC,QAAM,kBAAkB,CAAC,MAAwC;AAC/D,QAAI,CAAC,OAAO,WAAW,UAAW;AAElC,UAAM,MAAM,OAAO;AACnB,UAAM,OAAO,IAAI,sBAAsB;AAEvC,gBAAY,EAAE,GAAG,EAAE,UAAU,KAAK,MAAM,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;AAAA,EACnE;AAEA,QAAM,cAAc,MAAM;AACxB,iBAAa,IAAI;AACjB,eAAW,CAAC;AAAA,EACd;AAEA,QAAM,aAAa,MAAM;AACvB,iBAAa,KAAK;AAClB,eAAW,CAAC;AAAA,EACd;AAEA,QAAM,mBAAmB,MAAM;AAC7B,eAAW,CAAC;AAAA,EACd;AAEA,QAAM,mBAAmB,MAAM;AAC7B,eAAW,CAAC;AAAA,EACd;AAEA,SACE,gBAAAF,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,aAAa;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,cAAc;AAAA,MACd,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEJ,gBAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL;AAAA,UACA,YAAY,mCAAmC,SAAS,CAAC,MAAM,SAAS,CAAC,OAAO,cAAc;AAAA,QAChG;AAAA;AAAA,IACF;AAAA,IACA,gBAAAA,QAAA,cAAC,SAAI,WAAU,0BAAwB,QAAS;AAAA,EAClD;AAEJ;;;ACtEA,YAAY,mBAAmB;AAC/B,YAAYG,aAAW;AAEhB,SAAS,KAAK;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GAAoD;AAClD,SACE;AAAA,IAAe;AAAA,IAAd;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,uBAAuB,SAAS;AAAA,MAC7C,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA,GAAG;AACL,GAAoD;AAClD,SACE;AAAA,IAAe;AAAA,IAAd;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE;AAAA,IAAe;AAAA,IAAd;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA,GAAG;AACL,GAAuD;AACrD,SACE;AAAA,IAAe;AAAA,IAAd;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;AC9DA,YAAYC,aAAW;AAEhB,SAAS,SAAS;AAAA,EACvB;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;;;ACfA,SAAS,KAAK,cAAc;AAC5B,YAAYC,aAAW;AAShB,SAAS,YAAY;AAAA,EAC1B,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AACF,GAAqB;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,cAAc,gBAAgB;AAAA,MACvC,WAAW,GAAG,kBAAkB,SAAS;AAAA,MACzC,SAAS;AAAA,MACT;AAAA;AAAA,IAEC,cAAc,sCAAC,YAAO,IAAK,sCAAC,SAAI;AAAA,IAChC,cAAc,mBAAmB;AAAA,EACpC;AAEJ;;;AC3BA,SAAS,iBAAiB,UAAAC,eAAc;AACxC,SAAS,OAAAC,MAAK,YAAY;AAC1B,OAAOC,WAAS,UAAAC,SAAQ,YAAAC,iBAAgB;AAUjC,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AACF,GAAuB;AACrB,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAS,KAAK;AACpD,QAAM,CAAC,MAAM,OAAO,IAAIA,UAAS,EAAE;AACnC,QAAM,WAAWD,QAAyB,IAAI;AAE9C,QAAM,eAAe,MAAM;AACzB,QAAI,aAAa;AACf,qBAAe,KAAK;AACpB,oBAAc;AAAA,IAChB,OAAO;AACL,qBAAe,IAAI;AACnB,qBAAe;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,aAAa,MAAM;AACvB,QAAI,KAAK,KAAK,GAAG;AACf,eAAS,IAAI;AACb,cAAQ,EAAE;AAAA,IACZ;AAAA,EACF;AAEA,SACE,gBAAAD,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,eAAe;AAAA,QACf;AAAA,MACF;AAAA;AAAA,IAEA,gBAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA,cACI,gEACA;AAAA,QACN;AAAA;AAAA,MAEA,gBAAAA,QAAA,cAACD,MAAA,EAAI,WAAW,GAAG,WAAW,eAAe,eAAe,GAAG;AAAA,IACjE;AAAA,IAEA,gBAAAC,QAAA,cAAC,SAAI,WAAU,0CACb,gBAAAA,QAAA,cAAC,mBAAgB,MAAK,eACnB,cACC,gBAAAA,QAAA;AAAA,MAACF,QAAO;AAAA,MAAP;AAAA,QACC,SAAS,EAAE,GAAG,IAAI,SAAS,EAAE;AAAA,QAC7B,SAAS,EAAE,GAAG,GAAG,SAAS,EAAE;AAAA,QAC5B,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE;AAAA,QAC3B,WAAU;AAAA;AAAA,MAET,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,UACzC,gBAAAE,QAAA;AAAA,QAACF,QAAO;AAAA,QAAP;AAAA,UACC,KAAK;AAAA,UACL,SAAS;AAAA,YACP,QAAQ,CAAC,OAAO,QAAQ,KAAK;AAAA,UAC/B;AAAA,UACA,YAAY;AAAA,YACV,UAAU;AAAA,YACV,QAAQ;AAAA,YACR,OAAO,QAAQ;AAAA,YACf,MAAM;AAAA,UACR;AAAA,UACA,WAAU;AAAA;AAAA,MACZ,CACD;AAAA,MACD,gBAAAE,QAAA,cAAC,UAAK,WAAU,kEAA+D,cAE/E;AAAA,IACF,IAEA,gBAAAA,QAAA;AAAA,MAACF,QAAO;AAAA,MAAP;AAAA,QACC,SAAS,EAAE,GAAG,KAAK,SAAS,EAAE;AAAA,QAC9B,SAAS,EAAE,GAAG,GAAG,SAAS,EAAE;AAAA,QAC5B,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE;AAAA,QAC1B,KAAK;AAAA,QACL,MAAK;AAAA,QACL,OAAO;AAAA,QACP,UAAU,CAAC,MAAM,QAAQ,EAAE,OAAO,KAAK;AAAA,QACvC,WAAW,CAAC,MAAM,EAAE,QAAQ,WAAW,WAAW;AAAA,QAClD;AAAA,QACA,WAAU;AAAA;AAAA,IACZ,CAEJ,CACF;AAAA,IAEA,gBAAAE,QAAA,cAAC,uBACE,CAAC,eAAe,KAAK,SAAS,KAC7B,gBAAAA,QAAA;AAAA,MAACF,QAAO;AAAA,MAAP;AAAA,QACC,SAAS,EAAE,OAAO,KAAK,SAAS,EAAE;AAAA,QAClC,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE;AAAA,QAChC,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE;AAAA,QAC/B,MAAK;AAAA,QACL,SAAS;AAAA,QACT,WAAU;AAAA;AAAA,MAEV,gBAAAE,QAAA,cAAC,QAAK,WAAU,kBAAiB;AAAA,IACnC,CAEJ;AAAA,EACF;AAEJ;;;AC5HA,YAAYG,aAAW;AAQhB,SAAS,SAAS;AAAA,EACvB,OAAO;AAAA,EACP,SAAS;AAAA,EACT;AACF,GAAkB;AAChB,QAAM,OAAa,gBAAQ,MAAM;AAC/B,WAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC,GAAG,UAAU;AAChD,YAAM,QAAS,QAAQ,IAAK;AAC5B,aAAO,QAAQ;AAAA,IACjB,CAAC;AAAA,EACH,GAAG,CAAC,IAAI,CAAC;AAET,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6CAA6C,SAAS;AAAA;AAAA,IAEnE,KAAK,IAAI,CAAC,OAAO,UAChB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,WAAW;AAAA,UACT;AAAA,UACA,SAAS,kBAAkB;AAAA,QAC7B;AAAA,QACA,OAAO,EAAE,QAAQ,GAAG,KAAK,IAAI,QAAQ,KAAK,EAAE,CAAC,IAAI;AAAA;AAAA,IACnD,CACD;AAAA,EACH;AAEJ;","names":["React","cva","React","React","React","React","React","React","React","React","React","Label","React","React","React","Separator","React","useRef","useState","React","React","React","motion","Mic","React","useRef","useState","React"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@seaguntech/ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js",
|
|
16
|
+
"require": "./dist/index.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./styles.css": "./src/styles/globals.css"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"src/styles/globals.css"
|
|
23
|
+
],
|
|
24
|
+
"sideEffects": [
|
|
25
|
+
"src/styles/globals.css"
|
|
26
|
+
],
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@radix-ui/react-dialog": "1.1.15",
|
|
29
|
+
"@radix-ui/react-dropdown-menu": "2.1.16",
|
|
30
|
+
"@radix-ui/react-label": "2.1.7",
|
|
31
|
+
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
32
|
+
"@radix-ui/react-separator": "1.1.8",
|
|
33
|
+
"@radix-ui/react-slot": "1.2.4",
|
|
34
|
+
"@radix-ui/react-tabs": "1.1.13",
|
|
35
|
+
"class-variance-authority": "0.7.1",
|
|
36
|
+
"clsx": "^2.1.1",
|
|
37
|
+
"cmdk": "^1.1.1",
|
|
38
|
+
"framer-motion": "^12.34.3",
|
|
39
|
+
"lucide-react": "^0.561.0",
|
|
40
|
+
"tailwind-merge": "^3.4.0",
|
|
41
|
+
"@seaguntech/design-system": "0.1.0"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"react": "^19.0.0",
|
|
45
|
+
"react-dom": "^19.0.0"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^22.15.3",
|
|
49
|
+
"@types/react": "^19.1.0",
|
|
50
|
+
"@types/react-dom": "^19.1.0",
|
|
51
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
52
|
+
"@vitest/ui": "^3.2.4",
|
|
53
|
+
"eslint": "^9.39.1",
|
|
54
|
+
"postcss": "^8.5.6",
|
|
55
|
+
"prettier": "^3.7.4",
|
|
56
|
+
"tailwindcss": "^4.0.0",
|
|
57
|
+
"tsup": "^8.5.1",
|
|
58
|
+
"typescript": "^5.9.3",
|
|
59
|
+
"vitest": "^3.2.4",
|
|
60
|
+
"@seaguntech/prettier-config": "0.0.0",
|
|
61
|
+
"@seaguntech/eslint-config": "0.0.0",
|
|
62
|
+
"@seaguntech/typescript-config": "0.0.0",
|
|
63
|
+
"@seaguntech/vitest-config": "0.0.0"
|
|
64
|
+
},
|
|
65
|
+
"scripts": {
|
|
66
|
+
"dev": "tsup",
|
|
67
|
+
"build": "tsup",
|
|
68
|
+
"lint": "eslint . --max-warnings 0",
|
|
69
|
+
"lint:fix": "eslint . --max-warnings 0 --fix",
|
|
70
|
+
"format": "prettier --check .",
|
|
71
|
+
"format:fix": "prettier --write .",
|
|
72
|
+
"check-types": "tsc --noEmit",
|
|
73
|
+
"test": "vitest run --passWithNoTests",
|
|
74
|
+
"test:watch": "vitest --passWithNoTests",
|
|
75
|
+
"test:coverage": "vitest run --coverage --passWithNoTests",
|
|
76
|
+
"clean": "rm -rf dist coverage"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
@import '@seaguntech/design-system';
|
|
2
|
+
|
|
3
|
+
@layer components {
|
|
4
|
+
.badge-new {
|
|
5
|
+
border-color: color-mix(in oklch, var(--color-brand-500) 35%, transparent);
|
|
6
|
+
background-color: color-mix(
|
|
7
|
+
in oklch,
|
|
8
|
+
var(--color-brand-500) 18%,
|
|
9
|
+
var(--color-background)
|
|
10
|
+
);
|
|
11
|
+
color: var(--color-brand-700);
|
|
12
|
+
box-shadow: 0 0 10px
|
|
13
|
+
color-mix(in oklch, var(--color-brand-500) 20%, transparent);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.dark .badge-new {
|
|
17
|
+
border-color: color-mix(in oklch, var(--color-brand-400) 50%, transparent);
|
|
18
|
+
background-color: color-mix(
|
|
19
|
+
in oklch,
|
|
20
|
+
var(--color-brand-500) 32%,
|
|
21
|
+
var(--color-background)
|
|
22
|
+
);
|
|
23
|
+
color: var(--color-brand-300);
|
|
24
|
+
box-shadow: 0 0 14px
|
|
25
|
+
color-mix(in oklch, var(--color-brand-500) 28%, transparent);
|
|
26
|
+
}
|
|
27
|
+
}
|