@brainfish-ai/components 0.9.0 → 0.10.0-alpha.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/dist/esm/index.css +1 -1
- package/dist/esm/index.js +321 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +38 -0
- package/dist/stats.html +1 -1
- package/package.json +5 -2
- package/tailwind.config.js +33 -17
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/colors/customColor.ts","../../src/colors/dark.ts","../../src/colors/primary.ts","../../src/colors/orange.ts","../../src/colors/yellow.ts","../../src/colors/green.ts","../../src/colors/blue.ts","../../src/colors/purple.ts","../../src/colors/pink.ts","../../src/colors/red.ts","../../src/colors/index.ts","../../src/components/ui/table.tsx"],"sourcesContent":["// function to create custom color that supports TW's opacity modifier\nexport function customColor(cssVariable: string, fallbackColor?: string) {\n return ({ opacityVariable, opacityValue }: { opacityVariable: string; opacityValue: string }) => {\n const opacity = opacityValue !== undefined ? opacityValue : `var(${opacityVariable}, 1)`;\n\n return `rgb(var(${cssVariable}, ${fallbackColor}) / ${opacity})`;\n };\n}\n","export const dark = {\n 50: '#FAFAFA',\n 100: '#F5F5F5',\n 200: '#E5E5E5',\n 300: '#D4D4D4',\n 400: '#A3A3A3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717',\n DEFAULT: '#171717', // 900\n};\n","import { customColor } from './customColor';\nimport { dark } from './dark';\n\nexport const primary = {\n 50: '#F7FEE8',\n 100: '#ECFCCC',\n 200: '#D9F99E',\n 300: '#BEF265',\n 400: '#A3E635',\n 500: '#84CC17',\n 600: '#65A30E',\n 700: '#4E7C10',\n 800: '#406213',\n 900: '#375415',\n DEFAULT: customColor('--bfc-primary', '#A3E635'), // 400\n foreground: customColor('--bfc-primary-foreground', dark.DEFAULT),\n};\n","export const orange = {\n 50: '#FFF7EE',\n 100: '#FFEDD6',\n 200: '#FED7AB',\n 300: '#FDBA75',\n 400: '#FB923D',\n 500: '#F97317',\n 600: '#EA590D',\n 700: '#C2420D',\n 800: '#9A3513',\n 900: '#7C2E13',\n DEFAULT: '#FB923D', // 400\n};\n","export const yellow = {\n 50: '#FFFBEC',\n 100: '#FEF3C8',\n 200: '#FDE68B',\n 300: '#FCD34E',\n 400: '#FBBF25',\n 500: '#F59E0C',\n 600: '#D97707',\n 700: '#B4540A',\n 800: '#92410F',\n 900: '#783610',\n DEFAULT: '#FBBF25', // 400\n};\n","export const green = {\n 50: '#EDFDF5',\n 100: '#D2FAE5',\n 200: '#A8F3D0',\n 300: '#6FE7B7',\n 400: '#35D399',\n 500: '#11B981',\n 600: '#069669',\n 700: '#057857',\n 800: '#075F47',\n 900: '#074F3C',\n DEFAULT: '#35D399', // 400\n};\n","export const blue = {\n 50: '#F0F6FF',\n 100: '#DCEAFE',\n 200: '#C0DBFE',\n 300: '#94C5FD',\n 400: '#61A5FA',\n 500: '#3C82F6',\n 600: '#2663EB',\n 700: '#1E4FD8',\n 800: '#1F41AF',\n 900: '#1F3B8A',\n DEFAULT: '#61A5FA', // 400\n};\n","export const purple = {\n 50: '#F5F4FF',\n 100: '#EDEAFE',\n 200: '#DED7FE',\n 300: '#C5B6FD',\n 400: '#A78CFA',\n 500: '#8C5DF6',\n 600: '#7C3BED',\n 700: '#6D29D9',\n 800: '#5B22B6',\n 900: '#4D1E95',\n DEFAULT: '#8C5DF6', // 500\n};\n","export const pink = {\n 50: '#F5F4FF',\n 100: '#FAE9FF',\n 200: '#F5D1FE',\n 300: '#F0ACFC',\n 400: '#E87AF9',\n 500: '#D947EF',\n 600: '#C027D3',\n 700: '#A21DAF',\n 800: '#861A8F',\n 900: '#701B75',\n DEFAULT: '#E87AF9', // 400\n};\n","export const red = {\n 50: '#FFF2F3',\n 100: '#FFE5E6',\n 200: '#FECED4',\n 300: '#FDA5B0',\n 400: '#FB7286',\n 500: '#F4405E',\n 600: '#E11E49',\n 700: '#BE133D',\n 800: '#9F133A',\n 900: '#881438',\n DEFAULT: '#F4405E', // 500\n};\n","import { primary } from './primary';\nimport { dark } from './dark';\nimport { orange } from './orange';\nimport { yellow } from './yellow';\nimport { green } from './green';\nimport { blue } from './blue';\nimport { purple } from './purple';\nimport { pink } from './pink';\nimport { red } from './red';\nimport { customColor } from './customColor';\n\nexport const BrainfishColors = {\n primary,\n dark,\n orange,\n yellow,\n green,\n blue,\n purple,\n pink,\n red,\n};\n\nexport { customColor };\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)}\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-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\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(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\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"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/colors/customColor.ts","../../src/colors/dark.ts","../../src/colors/primary.ts","../../src/colors/orange.ts","../../src/colors/yellow.ts","../../src/colors/green.ts","../../src/colors/blue.ts","../../src/colors/purple.ts","../../src/colors/pink.ts","../../src/colors/red.ts","../../src/colors/index.ts","../../src/components/ui/table.tsx","../../src/components/ui/badge.tsx","../../src/components/ui/progress.tsx","../../src/components/file-upload/utils.tsx","../../src/components/file-upload/file-upload-context.tsx","../../src/components/file-upload/file-upload.tsx"],"sourcesContent":["// function to create custom color that supports TW's opacity modifier\nexport function customColor(cssVariable: string, fallbackColor?: string) {\n return ({ opacityVariable, opacityValue }: { opacityVariable: string; opacityValue: string }) => {\n const opacity = opacityValue !== undefined ? opacityValue : `var(${opacityVariable}, 1)`;\n\n return `rgb(var(${cssVariable}, ${fallbackColor}) / ${opacity})`;\n };\n}\n","export const dark = {\n 50: '#FAFAFA',\n 100: '#F5F5F5',\n 200: '#E5E5E5',\n 300: '#D4D4D4',\n 400: '#A3A3A3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717',\n DEFAULT: '#171717', // 900\n};\n","import { customColor } from './customColor';\nimport { dark } from './dark';\n\nexport const primary = {\n 50: '#F7FEE8',\n 100: '#ECFCCC',\n 200: '#D9F99E',\n 300: '#BEF265',\n 400: '#A3E635',\n 500: '#84CC17',\n 600: '#65A30E',\n 700: '#4E7C10',\n 800: '#406213',\n 900: '#375415',\n DEFAULT: customColor('--bfc-primary', '#A3E635'), // 400\n foreground: customColor('--bfc-primary-foreground', dark.DEFAULT),\n};\n","export const orange = {\n 50: '#FFF7EE',\n 100: '#FFEDD6',\n 200: '#FED7AB',\n 300: '#FDBA75',\n 400: '#FB923D',\n 500: '#F97317',\n 600: '#EA590D',\n 700: '#C2420D',\n 800: '#9A3513',\n 900: '#7C2E13',\n DEFAULT: '#FB923D', // 400\n};\n","export const yellow = {\n 50: '#FFFBEC',\n 100: '#FEF3C8',\n 200: '#FDE68B',\n 300: '#FCD34E',\n 400: '#FBBF25',\n 500: '#F59E0C',\n 600: '#D97707',\n 700: '#B4540A',\n 800: '#92410F',\n 900: '#783610',\n DEFAULT: '#FBBF25', // 400\n};\n","export const green = {\n 50: '#EDFDF5',\n 100: '#D2FAE5',\n 200: '#A8F3D0',\n 300: '#6FE7B7',\n 400: '#35D399',\n 500: '#11B981',\n 600: '#069669',\n 700: '#057857',\n 800: '#075F47',\n 900: '#074F3C',\n DEFAULT: '#35D399', // 400\n};\n","export const blue = {\n 50: '#F0F6FF',\n 100: '#DCEAFE',\n 200: '#C0DBFE',\n 300: '#94C5FD',\n 400: '#61A5FA',\n 500: '#3C82F6',\n 600: '#2663EB',\n 700: '#1E4FD8',\n 800: '#1F41AF',\n 900: '#1F3B8A',\n DEFAULT: '#61A5FA', // 400\n};\n","export const purple = {\n 50: '#F5F4FF',\n 100: '#EDEAFE',\n 200: '#DED7FE',\n 300: '#C5B6FD',\n 400: '#A78CFA',\n 500: '#8C5DF6',\n 600: '#7C3BED',\n 700: '#6D29D9',\n 800: '#5B22B6',\n 900: '#4D1E95',\n DEFAULT: '#8C5DF6', // 500\n};\n","export const pink = {\n 50: '#F5F4FF',\n 100: '#FAE9FF',\n 200: '#F5D1FE',\n 300: '#F0ACFC',\n 400: '#E87AF9',\n 500: '#D947EF',\n 600: '#C027D3',\n 700: '#A21DAF',\n 800: '#861A8F',\n 900: '#701B75',\n DEFAULT: '#E87AF9', // 400\n};\n","export const red = {\n 50: '#FFF2F3',\n 100: '#FFE5E6',\n 200: '#FECED4',\n 300: '#FDA5B0',\n 400: '#FB7286',\n 500: '#F4405E',\n 600: '#E11E49',\n 700: '#BE133D',\n 800: '#9F133A',\n 900: '#881438',\n DEFAULT: '#F4405E', // 500\n};\n","import { primary } from './primary';\nimport { dark } from './dark';\nimport { orange } from './orange';\nimport { yellow } from './yellow';\nimport { green } from './green';\nimport { blue } from './blue';\nimport { purple } from './purple';\nimport { pink } from './pink';\nimport { red } from './red';\nimport { customColor } from './customColor';\n\nexport const BrainfishColors = {\n primary,\n dark,\n orange,\n yellow,\n green,\n blue,\n purple,\n pink,\n red,\n};\n\nexport { customColor };\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)}\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-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\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(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\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 { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-md 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 shadow 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 shadow 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)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from 'react';\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport { cn } from '@/lib/utils';\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> & {\n indicatorClassName?: string;\n }\n>(({ className, value, indicatorClassName, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn('relative h-2 w-full overflow-hidden rounded-full bg-primary/20', className)}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className={cn('h-full w-full flex-1 bg-primary transition-all', indicatorClassName)}\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","import React from 'react';\nimport { Image, Video, Headphones, FileText, File, Spinner, CheckCircle, WarningCircle } from '@phosphor-icons/react';\n\nimport { FileUploadState } from './types';\n\nexport const getFileIcon = (file: File) => {\n const type = file.type.split('/')[0];\n switch (type) {\n case 'image':\n return <Image className=\"size-8 text-blue-500\" />;\n case 'video':\n return <Video className=\"size-8 text-purple-500\" />;\n case 'audio':\n return <Headphones className=\"size-8 text-green-500\" />;\n case 'text':\n return <FileText className=\"size-8 text-orange-500\" />;\n default:\n return <File className=\"size-8 text-gray-500\" />;\n }\n};\n\nexport const formatFileSize = (bytes: number) => {\n if (bytes === 0) return '0 Bytes';\n const k = 1024;\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n};\n\nexport const getStatusIcon = (status: FileUploadState['status']) => {\n switch (status) {\n case 'uploading':\n return <Spinner className=\"size-4 animate-spin text-blue-500\" />;\n case 'success':\n return <CheckCircle className=\"size-4 text-green-500\" />;\n case 'error':\n return <WarningCircle className=\"size-4 text-red-500\" />;\n default:\n return null;\n }\n};\n\nexport const calculateTimeRemaining = (fileState: FileUploadState): string => {\n if (!fileState.startTime || fileState.progress === 0) return 'Calculating...';\n\n const elapsed = Date.now() - fileState.startTime;\n const rate = fileState.progress / elapsed;\n const remaining = (100 - fileState.progress) / rate;\n\n if (remaining < 60000) {\n return `${Math.round(remaining / 1000)}s remaining`;\n } else {\n return `${Math.round(remaining / 60000)}m remaining`;\n }\n};\n\nexport const getStatusColor = (status: FileUploadState['status']) => {\n switch (status) {\n case 'uploading':\n return 'border-blue-200 bg-blue-50';\n case 'success':\n return 'border-green-200 bg-green-50';\n case 'error':\n return 'border-red-200 bg-red-50';\n default:\n return '';\n }\n};\n","import { createContext, useContext } from 'react';\n\nimport { FileUploadState } from './types';\n\nexport interface FileUploadContextType {\n fileStates: FileUploadState[];\n cancelUpload: (fileState: FileUploadState) => void;\n removeFile: (fileState: FileUploadState) => void;\n retryUpload: (fileState: FileUploadState) => void;\n showStatus: boolean;\n setShowStatus: (showStatus: boolean) => void;\n}\n\nconst FileUploadContext = createContext<FileUploadContextType | null>(null);\n\n// Hook to use the FileUpload context\nexport function useFileUpload() {\n const context = useContext(FileUploadContext);\n if (!context) {\n throw new Error('useFileUpload must be used within a FileUpload component');\n }\n\n return context;\n}\n\nexport { FileUploadContext };\n","'use client';\nimport React, { useCallback, useState } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { CloudArrowUp, X } from '@phosphor-icons/react';\nimport { createId } from '@paralleldrive/cuid2';\n\nimport { FileUploadProps, FileWithPreview, FileUploadState } from './types';\nimport { getFileIcon, formatFileSize, getStatusIcon, getStatusColor } from './utils';\nimport { FileUploadContext, FileUploadContextType } from './file-upload-context';\n\nimport { Button } from '@/components/ui/button';\nimport { Card } from '@/components/ui/card';\nimport { Badge } from '@/components/ui/badge';\nimport { Progress } from '@/components/ui/progress';\nimport { cn } from '@/lib/utils';\n\nexport function FileUpload({\n onFilesChange,\n onUpload,\n accept = {\n 'image/*': ['.png', '.jpg', '.jpeg', '.gif'],\n 'application/pdf': ['.pdf'],\n 'text/*': ['.txt', '.csv'],\n },\n maxSize = 5 * 1024 * 1024, // 5MB\n maxFiles = 5,\n multiple = true,\n className,\n disabled = false,\n autoUpload = true,\n title = 'Drag & drop files here, or click to select',\n description = '',\n children,\n}: FileUploadProps) {\n const [fileStates, setFileStates] = useState<FileUploadState[]>([]);\n const [showStatus, setShowStatus] = useState<boolean>(false);\n const [dropErrors, setDropErrors] = useState<string[]>([]);\n\n const uploadFile = async (fileState: FileUploadState) => {\n if (!onUpload) return;\n\n const abortController = new AbortController();\n\n setFileStates((prev) =>\n prev.map((fs) =>\n fs.file.id === fileState.file.id ? { ...fs, status: 'uploading', progress: 0, abortController } : fs,\n ),\n );\n\n setShowStatus(true);\n\n try {\n // Simulate progress updates\n const progressInterval = setInterval(() => {\n setFileStates((prev) =>\n prev.map((fs) =>\n fs.file.id === fileState.file.id && fs.status === 'uploading'\n ? {\n ...fs,\n progress: Math.min(fs.progress + Math.random() * 30, 90),\n }\n : fs,\n ),\n );\n }, 200);\n\n const result = await onUpload(fileState.file, abortController.signal);\n\n clearInterval(progressInterval);\n\n if (abortController.signal.aborted) {\n return; // Upload was cancelled\n }\n\n setFileStates((prev) =>\n prev.map((fs) =>\n fs.file.id === fileState.file.id\n ? {\n ...fs,\n status: result.success ? 'success' : 'error',\n progress: result.success ? 100 : fs.progress,\n error: result.error,\n abortController: undefined,\n }\n : fs,\n ),\n );\n } catch (error) {\n if (abortController.signal.aborted) {\n return; // Upload was cancelled\n }\n\n setFileStates((prev) =>\n prev.map((fs) =>\n fs.file.id === fileState.file.id\n ? {\n ...fs,\n status: 'error',\n error: error instanceof Error ? error.message : 'Upload failed',\n abortController: undefined,\n }\n : fs,\n ),\n );\n }\n };\n\n const onDrop = useCallback(\n (acceptedFiles: File[], rejectedFiles: any[]) => {\n setDropErrors([]);\n\n // Handle rejected files\n if (rejectedFiles.length > 0) {\n const newErrors = rejectedFiles.map((rejection) => {\n const { file, errors } = rejection;\n\n return `${file.name}: ${errors.map((e: any) => e.message).join(', ')}`;\n });\n setDropErrors(newErrors);\n }\n\n // Handle accepted files\n if (acceptedFiles.length > 0) {\n const newFiles: FileWithPreview[] = acceptedFiles.map((file) => {\n const fileWithPreview = Object.assign(file, {\n preview: file.type.startsWith('image/') ? URL.createObjectURL(file) : undefined,\n id: createId(),\n });\n\n return fileWithPreview;\n });\n\n const newFileStates: FileUploadState[] = newFiles.map((file) => ({\n file,\n status: 'pending',\n progress: 0,\n }));\n\n const updatedFileStates = multiple ? [...fileStates, ...newFileStates] : newFileStates;\n\n // Respect maxFiles limit\n const finalFileStates = updatedFileStates.slice(0, maxFiles);\n\n setFileStates(finalFileStates);\n setShowStatus(true);\n onFilesChange?.(finalFileStates.map((fs) => fs.file));\n\n // Auto-upload if enabled\n if (autoUpload && onUpload) {\n newFileStates.forEach((fileState) => {\n void uploadFile(fileState);\n });\n }\n }\n },\n [fileStates, multiple, maxFiles, onFilesChange, autoUpload, onUpload],\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragReject } = useDropzone({\n onDrop,\n accept,\n maxSize,\n multiple,\n disabled,\n });\n\n const cancelUpload = (fileState: FileUploadState) => {\n if (fileState.abortController) {\n fileState.abortController.abort();\n }\n\n setFileStates((prev) => prev.filter((fs) => fs.file.id !== fileState.file.id));\n onFilesChange?.(fileStates.filter((fs) => fs.file.id !== fileState.file.id).map((fs) => fs.file));\n\n // Revoke preview URL\n if (fileState.file.preview) {\n URL.revokeObjectURL(fileState.file.preview);\n }\n };\n\n const removeFile = (fileState: FileUploadState) => {\n // If uploading, cancel it first\n if (fileState.status === 'uploading' && fileState.abortController) {\n fileState.abortController.abort();\n }\n\n const updatedFileStates = fileStates.filter((fs) => fs.file.id !== fileState.file.id);\n setFileStates(updatedFileStates);\n onFilesChange?.(updatedFileStates.map((fs) => fs.file));\n\n // Revoke the preview URL to avoid memory leaks\n if (fileState.file.preview) {\n URL.revokeObjectURL(fileState.file.preview);\n }\n };\n\n const retryUpload = (fileState: FileUploadState) => {\n if (onUpload) {\n void uploadFile(fileState);\n }\n };\n\n const clearAll = () => {\n // Cancel all ongoing uploads\n fileStates.forEach((fs) => {\n if (fs.abortController) {\n fs.abortController.abort();\n }\n if (fs.file.preview) {\n URL.revokeObjectURL(fs.file.preview);\n }\n });\n\n setShowStatus(false);\n setFileStates([]);\n setDropErrors([]);\n onFilesChange?.([]);\n };\n\n const contextValue: FileUploadContextType = {\n fileStates,\n cancelUpload,\n removeFile,\n retryUpload,\n setShowStatus,\n showStatus,\n };\n\n return (\n <FileUploadContext.Provider value={contextValue}>\n <div data-testid=\"file-upload\" className=\"w-full space-y-4\">\n <div className={cn('group', className, 'focus-visible:outline-none')} {...getRootProps()}>\n <Card\n className={cn(\n 'custom-dashed-border p-8 text-center cursor-pointer',\n 'group-focus:custom-dashed-border-hover',\n 'group-hover:custom-dashed-border-hover',\n isDragActive && !isDragReject && 'border-primary bg-primary/5',\n isDragReject && 'border-destructive bg-destructive/5',\n disabled && 'cursor-not-allowed opacity-50',\n )}\n >\n <input {...getInputProps()} />\n <div className=\"flex flex-col items-center gap-4\">\n <CloudArrowUp\n className={cn(\n 'size-12',\n isDragActive && !isDragReject && 'text-primary',\n isDragReject && 'text-destructive',\n )}\n />\n <div className=\"space-y-2\">\n <p className=\"text-lg font-medium\">\n {isDragActive ? (isDragReject ? 'Some files will be rejected' : 'Drop files here') : title}\n </p>\n {description && <p className=\"text-sm\">{description}</p>}\n <p className=\"text-sm\">\n {`Supports: ${Object.values(accept).flat().join(', ')} • Max size: ${formatFileSize(maxSize)}${\n maxFiles > 1 ? ` • Max files: ${maxFiles}` : ''\n }`}\n </p>\n </div>\n </div>\n </Card>\n </div>\n\n {/* Drop Error Messages */}\n {dropErrors.length > 0 && (\n <div className=\"space-y-2\">\n {dropErrors.map((error, index) => (\n <div key={index} className=\"text-sm text-destructive bg-destructive/10 p-2 rounded\">\n {error}\n </div>\n ))}\n </div>\n )}\n\n {/* Traditional File List (optional, can be hidden when using FileUploadStatus) */}\n {!children && fileStates.length > 0 && (\n <div className=\"space-y-4\">\n <div className=\"flex items-center justify-between\">\n <h3 className=\"text-lg font-medium\">Files ({fileStates.length})</h3>\n <Button variant=\"outline\" size=\"sm\" onClick={clearAll}>\n Clear All\n </Button>\n </div>\n\n <div className=\"grid gap-3\">\n {fileStates.map((fileState) => (\n <Card key={fileState.file.id} className={cn('p-4 overflow-x-auto', getStatusColor(fileState.status))}>\n <div className=\"space-y-3\">\n <div className=\"flex items-center gap-4\">\n {fileState.file.preview ? (\n <img\n src={fileState.file.preview || '/placeholder.svg'}\n alt={fileState.file.name}\n className=\"h-12 w-12 object-cover rounded\"\n />\n ) : (\n getFileIcon(fileState.file)\n )}\n\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center gap-2\">\n <p className=\"font-medium truncate\">{fileState.file.name}</p>\n {getStatusIcon(fileState.status)}\n </div>\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <span>{formatFileSize(fileState.file.size)}</span>\n <Badge variant=\"secondary\" className=\"text-xs\">\n {fileState.file.type || 'Unknown'}\n </Badge>\n <Badge\n variant={\n fileState.status === 'success'\n ? 'default'\n : fileState.status === 'error'\n ? 'destructive'\n : 'secondary'\n }\n className=\"text-xs capitalize\"\n >\n {fileState.status}\n </Badge>\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n {fileState.status === 'error' && onUpload && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => retryUpload(fileState)}\n className=\"text-blue-600 hover:text-blue-700\"\n >\n Retry\n </Button>\n )}\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() =>\n fileState.status === 'uploading' ? cancelUpload(fileState) : removeFile(fileState)\n }\n className=\"text-destructive hover:text-destructive\"\n >\n <X className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n\n {/* Progress Bar */}\n {fileState.status === 'uploading' && (\n <div className=\"space-y-1\">\n <Progress value={fileState.progress} className=\"h-2\" />\n <p className=\"text-xs text-muted-foreground\">Uploading... {Math.round(fileState.progress)}%</p>\n </div>\n )}\n\n {/* Error Message */}\n {fileState.status === 'error' && fileState.error && (\n <div className=\"text-sm text-destructive bg-destructive/10 p-2 rounded\">{fileState.error}</div>\n )}\n </div>\n </Card>\n ))}\n </div>\n </div>\n )}\n\n {children}\n </div>\n </FileUploadContext.Provider>\n );\n}\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACgB,SAAA,WAAA,CAAY,aAAqB,aAAwB,EAAA;AACvE,EAAA,OAAO,CAAC,EAAE,eAAiB,EAAA,YAAA,EAAsE,KAAA;AAC/F,IAAA,MAAM,OAAU,GAAA,YAAA,KAAiB,MAAY,GAAA,YAAA,GAAe,OAAO,eAAe,CAAA,IAAA,CAAA;AAElF,IAAA,OAAO,CAAW,QAAA,EAAA,WAAW,CAAK,EAAA,EAAA,aAAa,OAAO,OAAO,CAAA,CAAA,CAAA;AAAA,GAC/D;AACF;;ACPO,MAAM,IAAO,GAAA;AAAA,EAClB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACTO,MAAM,OAAU,GAAA;AAAA,EACrB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAA,EAAS,WAAY,CAAA,eAAA,EAAiB,SAAS,CAAA;AAAA;AAAA,EAC/C,UAAY,EAAA,WAAA,CAAY,0BAA4B,EAAA,IAAA,CAAK,OAAO;AAClE,CAAA;;AChBO,MAAM,MAAS,GAAA;AAAA,EACpB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACZO,MAAM,MAAS,GAAA;AAAA,EACpB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACZO,MAAM,KAAQ,GAAA;AAAA,EACnB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACZO,MAAM,IAAO,GAAA;AAAA,EAClB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACZO,MAAM,MAAS,GAAA;AAAA,EACpB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACZO,MAAM,IAAO,GAAA;AAAA,EAClB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACZO,MAAM,GAAM,GAAA;AAAA,EACjB,EAAI,EAAA,SAAA;AAAA,EACJ,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,GAAK,EAAA,SAAA;AAAA,EACL,OAAS,EAAA;AAAA;AACX,CAAA;;ACDO,MAAM,eAAkB,GAAA;AAAA,EAC7B,OAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF;;ACjBA,MAAM,KAAQ,GAAA,KAAA,CAAM,UAGlB,CAAA,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAS,EAAA,GAAA,qBACzB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,+BACb,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAG,CAAA,+BAAA,EAAiC,SAAS,CAAA;AAAA,IACvD,GAAG;AAAA;AACN,CACF,CACD;AACD,KAAA,CAAM,WAAc,GAAA,OAAA;AAEd,MAAA,WAAA,GAAc,MAAM,UAGxB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,OAAS,EAAA,GAAA,yCACzB,OAAM,EAAA,EAAA,GAAA,EAAU,WAAW,EAAG,CAAA,iBAAA,EAAmB,SAAS,CAAI,EAAA,GAAG,OAAO,CAC1E;AACD,WAAA,CAAY,WAAc,GAAA,aAAA;AAEpB,MAAA,SAAA,GAAY,MAAM,UAGtB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAG,CAAA,4BAAA,EAA8B,SAAS,CAAA;AAAA,IACpD,GAAG;AAAA;AACN,CACD;AACD,SAAA,CAAU,WAAc,GAAA,WAAA;AAElB,MAAA,WAAA,GAAc,MAAM,UAGxB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAA,EAAA;AAAA,MACT,yDAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,WAAA,CAAY,WAAc,GAAA,aAAA;AAEpB,MAAA,QAAA,GAAW,MAAM,UAGrB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAA,EAAA;AAAA,MACT,6EAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,QAAA,CAAS,WAAc,GAAA,UAAA;AAEjB,MAAA,SAAA,GAAY,MAAM,UAGtB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAA,EAAA;AAAA,MACT,wIAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,SAAA,CAAU,WAAc,GAAA,WAAA;AAElB,MAAA,SAAA,GAAY,MAAM,UAGtB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,IAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAA,EAAA;AAAA,MACT,sFAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,SAAA,CAAU,WAAc,GAAA,WAAA;AAElB,MAAA,YAAA,GAAe,MAAM,UAGzB,CAAA,CAAC,EAAE,SAAW,EAAA,GAAG,KAAM,EAAA,EAAG,GAC1B,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,SAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAG,CAAA,oCAAA,EAAsC,SAAS,CAAA;AAAA,IAC5D,GAAG;AAAA;AACN,CACD;AACD,YAAA,CAAa,WAAc,GAAA,cAAA;;ACvG3B,MAAM,aAAgB,GAAA,GAAA;AAAA,EACpB,sKAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,OACE,EAAA,kFAAA;AAAA,QACF,SACE,EAAA,iFAAA;AAAA,QACF,WACE,EAAA,8FAAA;AAAA,QACF,OAAS,EAAA;AAAA;AACX,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,OAAS,EAAA;AAAA;AACX;AAEJ;AAMA,SAAS,MAAM,EAAE,SAAA,EAAW,OAAS,EAAA,GAAG,OAAqB,EAAA;AAC3D,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,EAAA,CAAG,aAAc,CAAA,EAAE,OAAQ,EAAC,CAAG,EAAA,SAAS,CAAI,EAAA,GAAG,KAAO,EAAA,CAAA;AAE1E;;AC5BM,MAAA,QAAA,GAAW,KAAM,CAAA,UAAA,CAKrB,CAAC,EAAE,SAAW,EAAA,KAAA,EAAO,kBAAoB,EAAA,GAAG,KAAM,EAAA,EAAG,GACrD,qBAAA,KAAA,CAAA,aAAA;AAAA,EAAC,iBAAkB,CAAA,IAAA;AAAA,EAAlB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAG,CAAA,gEAAA,EAAkE,SAAS,CAAA;AAAA,IACxF,GAAG;AAAA,GAAA;AAAA,kBAEJ,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAkB,CAAA,SAAA;AAAA,IAAlB;AAAA,MACC,SAAA,EAAW,EAAG,CAAA,gDAAA,EAAkD,kBAAkB,CAAA;AAAA,MAClF,OAAO,EAAE,SAAA,EAAW,eAAe,GAAO,IAAA,KAAA,IAAS,EAAE,CAAK,EAAA,CAAA;AAAA;AAAA;AAE9D,CACD;AACD,QAAS,CAAA,WAAA,GAAc,kBAAkB,IAAK,CAAA,WAAA;;ACjBjC,MAAA,WAAA,GAAc,CAAC,IAAe,KAAA;AACzC,EAAA,MAAM,OAAO,IAAK,CAAA,IAAA,CAAK,KAAM,CAAA,GAAG,EAAE,CAAC,CAAA;AACnC,EAAA,QAAQ,IAAM;AAAA,IACZ,KAAK,OAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,SAAA,EAAU,sBAAuB,EAAA,CAAA;AAAA,IACjD,KAAK,OAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,SAAA,EAAU,wBAAyB,EAAA,CAAA;AAAA,IACnD,KAAK,OAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAU,uBAAwB,EAAA,CAAA;AAAA,IACvD,KAAK,MAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,QAAS,EAAA,EAAA,SAAA,EAAU,wBAAyB,EAAA,CAAA;AAAA,IACtD;AACE,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAU,sBAAuB,EAAA,CAAA;AAAA;AAEpD,CAAA;AAEa,MAAA,cAAA,GAAiB,CAAC,KAAkB,KAAA;AAC/C,EAAI,IAAA,KAAA,KAAU,GAAU,OAAA,SAAA;AACxB,EAAA,MAAM,CAAI,GAAA,IAAA;AACV,EAAA,MAAM,KAAQ,GAAA,CAAC,OAAS,EAAA,IAAA,EAAM,MAAM,IAAI,CAAA;AACxC,EAAM,MAAA,CAAA,GAAI,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,GAAA,CAAI,KAAK,CAAI,GAAA,IAAA,CAAK,GAAI,CAAA,CAAC,CAAC,CAAA;AAElD,EAAA,OAAO,MAAO,CAAA,UAAA,CAAA,CAAY,KAAQ,GAAA,IAAA,CAAK,IAAI,CAAG,EAAA,CAAC,CAAG,EAAA,OAAA,CAAQ,CAAC,CAAC,CAAI,GAAA,GAAA,GAAM,MAAM,CAAC,CAAA;AAC/E,CAAA;AAEa,MAAA,aAAA,GAAgB,CAAC,MAAsC,KAAA;AAClE,EAAA,QAAQ,MAAQ;AAAA,IACd,KAAK,WAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,SAAA,EAAU,mCAAoC,EAAA,CAAA;AAAA,IAChE,KAAK,SAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,WAAY,EAAA,EAAA,SAAA,EAAU,uBAAwB,EAAA,CAAA;AAAA,IACxD,KAAK,OAAA;AACH,MAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,aAAc,EAAA,EAAA,SAAA,EAAU,qBAAsB,EAAA,CAAA;AAAA,IACxD;AACE,MAAO,OAAA,IAAA;AAAA;AAEb,CAAA;AAgBa,MAAA,cAAA,GAAiB,CAAC,MAAsC,KAAA;AACnE,EAAA,QAAQ,MAAQ;AAAA,IACd,KAAK,WAAA;AACH,MAAO,OAAA,4BAAA;AAAA,IACT,KAAK,SAAA;AACH,MAAO,OAAA,8BAAA;AAAA,IACT,KAAK,OAAA;AACH,MAAO,OAAA,0BAAA;AAAA,IACT;AACE,MAAO,OAAA,EAAA;AAAA;AAEb,CAAA;;ACvDA,MAAM,iBAAA,GAAoB,cAA4C,IAAI,CAAA;;ACGnE,SAAS,UAAW,CAAA;AAAA,EACzB,aAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAS,GAAA;AAAA,IACP,SAAW,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,SAAS,MAAM,CAAA;AAAA,IAC3C,iBAAA,EAAmB,CAAC,MAAM,CAAA;AAAA,IAC1B,QAAA,EAAU,CAAC,MAAA,EAAQ,MAAM;AAAA,GAC3B;AAAA,EACA,OAAA,GAAU,IAAI,IAAO,GAAA,IAAA;AAAA;AAAA,EACrB,QAAW,GAAA,CAAA;AAAA,EACX,QAAW,GAAA,IAAA;AAAA,EACX,SAAA;AAAA,EACA,QAAW,GAAA,KAAA;AAAA,EACX,UAAa,GAAA,IAAA;AAAA,EACb,KAAQ,GAAA,4CAAA;AAAA,EACR,WAAc,GAAA,EAAA;AAAA,EACd;AACF,CAAoB,EAAA;AAClB,EAAA,MAAM,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA,CAA4B,EAAE,CAAA;AAClE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAkB,KAAK,CAAA;AAC3D,EAAA,MAAM,CAAC,UAAY,EAAA,aAAa,CAAI,GAAA,QAAA,CAAmB,EAAE,CAAA;AAEzD,EAAM,MAAA,UAAA,GAAa,OAAO,SAA+B,KAAA;AACvD,IAAA,IAAI,CAAC,QAAU,EAAA;AAEf,IAAM,MAAA,eAAA,GAAkB,IAAI,eAAgB,EAAA;AAE5C,IAAA,aAAA;AAAA,MAAc,CAAC,SACb,IAAK,CAAA,GAAA;AAAA,QAAI,CAAC,EACR,KAAA,EAAA,CAAG,IAAK,CAAA,EAAA,KAAO,UAAU,IAAK,CAAA,EAAA,GAAK,EAAE,GAAG,IAAI,MAAQ,EAAA,WAAA,EAAa,QAAU,EAAA,CAAA,EAAG,iBAAoB,GAAA;AAAA;AACpG,KACF;AAEA,IAAA,aAAA,CAAc,IAAI,CAAA;AAElB,IAAI,IAAA;AAEF,MAAM,MAAA,gBAAA,GAAmB,YAAY,MAAM;AACzC,QAAA,aAAA;AAAA,UAAc,CAAC,SACb,IAAK,CAAA,GAAA;AAAA,YAAI,CAAC,EACR,KAAA,EAAA,CAAG,IAAK,CAAA,EAAA,KAAO,UAAU,IAAK,CAAA,EAAA,IAAM,EAAG,CAAA,MAAA,KAAW,WAC9C,GAAA;AAAA,cACE,GAAG,EAAA;AAAA,cACH,QAAA,EAAU,KAAK,GAAI,CAAA,EAAA,CAAG,WAAW,IAAK,CAAA,MAAA,EAAW,GAAA,EAAA,EAAI,EAAE;AAAA,aAEzD,GAAA;AAAA;AACN,SACF;AAAA,SACC,GAAG,CAAA;AAEN,MAAA,MAAM,SAAS,MAAM,QAAA,CAAS,SAAU,CAAA,IAAA,EAAM,gBAAgB,MAAM,CAAA;AAEpE,MAAA,aAAA,CAAc,gBAAgB,CAAA;AAE9B,MAAI,IAAA,eAAA,CAAgB,OAAO,OAAS,EAAA;AAClC,QAAA;AAAA;AAGF,MAAA,aAAA;AAAA,QAAc,CAAC,SACb,IAAK,CAAA,GAAA;AAAA,UAAI,CAAC,EACR,KAAA,EAAA,CAAG,KAAK,EAAO,KAAA,SAAA,CAAU,KAAK,EAC1B,GAAA;AAAA,YACE,GAAG,EAAA;AAAA,YACH,MAAA,EAAQ,MAAO,CAAA,OAAA,GAAU,SAAY,GAAA,OAAA;AAAA,YACrC,QAAU,EAAA,MAAA,CAAO,OAAU,GAAA,GAAA,GAAM,EAAG,CAAA,QAAA;AAAA,YACpC,OAAO,MAAO,CAAA,KAAA;AAAA,YACd,eAAiB,EAAA,KAAA;AAAA,WAEnB,GAAA;AAAA;AACN,OACF;AAAA,aACO,KAAO,EAAA;AACd,MAAI,IAAA,eAAA,CAAgB,OAAO,OAAS,EAAA;AAClC,QAAA;AAAA;AAGF,MAAA,aAAA;AAAA,QAAc,CAAC,SACb,IAAK,CAAA,GAAA;AAAA,UAAI,CAAC,EACR,KAAA,EAAA,CAAG,KAAK,EAAO,KAAA,SAAA,CAAU,KAAK,EAC1B,GAAA;AAAA,YACE,GAAG,EAAA;AAAA,YACH,MAAQ,EAAA,OAAA;AAAA,YACR,KAAO,EAAA,KAAA,YAAiB,KAAQ,GAAA,KAAA,CAAM,OAAU,GAAA,eAAA;AAAA,YAChD,eAAiB,EAAA;AAAA,WAEnB,GAAA;AAAA;AACN,OACF;AAAA;AACF,GACF;AAEA,EAAA,MAAM,MAAS,GAAA,WAAA;AAAA,IACb,CAAC,eAAuB,aAAyB,KAAA;AAC/C,MAAA,aAAA,CAAc,EAAE,CAAA;AAGhB,MAAI,IAAA,aAAA,CAAc,SAAS,CAAG,EAAA;AAC5B,QAAA,MAAM,SAAY,GAAA,aAAA,CAAc,GAAI,CAAA,CAAC,SAAc,KAAA;AACjD,UAAM,MAAA,EAAE,IAAM,EAAA,MAAA,EAAW,GAAA,SAAA;AAEzB,UAAA,OAAO,CAAG,EAAA,IAAA,CAAK,IAAI,CAAA,EAAA,EAAK,MAAO,CAAA,GAAA,CAAI,CAAC,CAAA,KAAW,CAAE,CAAA,OAAO,CAAE,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,SACrE,CAAA;AACD,QAAA,aAAA,CAAc,SAAS,CAAA;AAAA;AAIzB,MAAI,IAAA,aAAA,CAAc,SAAS,CAAG,EAAA;AAC5B,QAAA,MAAM,QAA8B,GAAA,aAAA,CAAc,GAAI,CAAA,CAAC,IAAS,KAAA;AAC9D,UAAM,MAAA,eAAA,GAAkB,MAAO,CAAA,MAAA,CAAO,IAAM,EAAA;AAAA,YAC1C,OAAA,EAAS,KAAK,IAAK,CAAA,UAAA,CAAW,QAAQ,CAAI,GAAA,GAAA,CAAI,eAAgB,CAAA,IAAI,CAAI,GAAA,MAAA;AAAA,YACtE,IAAI,QAAS;AAAA,WACd,CAAA;AAED,UAAO,OAAA,eAAA;AAAA,SACR,CAAA;AAED,QAAA,MAAM,aAAmC,GAAA,QAAA,CAAS,GAAI,CAAA,CAAC,IAAU,MAAA;AAAA,UAC/D,IAAA;AAAA,UACA,MAAQ,EAAA,SAAA;AAAA,UACR,QAAU,EAAA;AAAA,SACV,CAAA,CAAA;AAEF,QAAA,MAAM,oBAAoB,QAAW,GAAA,CAAC,GAAG,UAAY,EAAA,GAAG,aAAa,CAAI,GAAA,aAAA;AAGzE,QAAA,MAAM,eAAkB,GAAA,iBAAA,CAAkB,KAAM,CAAA,CAAA,EAAG,QAAQ,CAAA;AAE3D,QAAA,aAAA,CAAc,eAAe,CAAA;AAC7B,QAAA,aAAA,CAAc,IAAI,CAAA;AAClB,QAAA,aAAA,GAAgB,gBAAgB,GAAI,CAAA,CAAC,EAAO,KAAA,EAAA,CAAG,IAAI,CAAC,CAAA;AAGpD,QAAA,IAAI,cAAc,QAAU,EAAA;AAC1B,UAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,SAAc,KAAA;AACnC,YAAA,KAAK,WAAW,SAAS,CAAA;AAAA,WAC1B,CAAA;AAAA;AACH;AACF,KACF;AAAA,IACA,CAAC,UAAY,EAAA,QAAA,EAAU,QAAU,EAAA,aAAA,EAAe,YAAY,QAAQ;AAAA,GACtE;AAEA,EAAA,MAAM,EAAE,YAAc,EAAA,aAAA,EAAe,YAAc,EAAA,YAAA,KAAiB,WAAY,CAAA;AAAA,IAC9E,MAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAM,MAAA,YAAA,GAAe,CAAC,SAA+B,KAAA;AACnD,IAAA,IAAI,UAAU,eAAiB,EAAA;AAC7B,MAAA,SAAA,CAAU,gBAAgB,KAAM,EAAA;AAAA;AAGlC,IAAA,aAAA,CAAc,CAAC,IAAA,KAAS,IAAK,CAAA,MAAA,CAAO,CAAC,EAAA,KAAO,EAAG,CAAA,IAAA,CAAK,EAAO,KAAA,SAAA,CAAU,IAAK,CAAA,EAAE,CAAC,CAAA;AAC7E,IAAA,aAAA,GAAgB,WAAW,MAAO,CAAA,CAAC,EAAO,KAAA,EAAA,CAAG,KAAK,EAAO,KAAA,SAAA,CAAU,IAAK,CAAA,EAAE,EAAE,GAAI,CAAA,CAAC,EAAO,KAAA,EAAA,CAAG,IAAI,CAAC,CAAA;AAGhG,IAAI,IAAA,SAAA,CAAU,KAAK,OAAS,EAAA;AAC1B,MAAI,GAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,IAAA,CAAK,OAAO,CAAA;AAAA;AAC5C,GACF;AAEA,EAAM,MAAA,UAAA,GAAa,CAAC,SAA+B,KAAA;AAEjD,IAAA,IAAI,SAAU,CAAA,MAAA,KAAW,WAAe,IAAA,SAAA,CAAU,eAAiB,EAAA;AACjE,MAAA,SAAA,CAAU,gBAAgB,KAAM,EAAA;AAAA;AAGlC,IAAM,MAAA,iBAAA,GAAoB,UAAW,CAAA,MAAA,CAAO,CAAC,EAAA,KAAO,GAAG,IAAK,CAAA,EAAA,KAAO,SAAU,CAAA,IAAA,CAAK,EAAE,CAAA;AACpF,IAAA,aAAA,CAAc,iBAAiB,CAAA;AAC/B,IAAA,aAAA,GAAgB,kBAAkB,GAAI,CAAA,CAAC,EAAO,KAAA,EAAA,CAAG,IAAI,CAAC,CAAA;AAGtD,IAAI,IAAA,SAAA,CAAU,KAAK,OAAS,EAAA;AAC1B,MAAI,GAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,IAAA,CAAK,OAAO,CAAA;AAAA;AAC5C,GACF;AAEA,EAAM,MAAA,WAAA,GAAc,CAAC,SAA+B,KAAA;AAClD,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,KAAK,WAAW,SAAS,CAAA;AAAA;AAC3B,GACF;AAEA,EAAA,MAAM,WAAW,MAAM;AAErB,IAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,EAAO,KAAA;AACzB,MAAA,IAAI,GAAG,eAAiB,EAAA;AACtB,QAAA,EAAA,CAAG,gBAAgB,KAAM,EAAA;AAAA;AAE3B,MAAI,IAAA,EAAA,CAAG,KAAK,OAAS,EAAA;AACnB,QAAI,GAAA,CAAA,eAAA,CAAgB,EAAG,CAAA,IAAA,CAAK,OAAO,CAAA;AAAA;AACrC,KACD,CAAA;AAED,IAAA,aAAA,CAAc,KAAK,CAAA;AACnB,IAAA,aAAA,CAAc,EAAE,CAAA;AAChB,IAAA,aAAA,CAAc,EAAE,CAAA;AAChB,IAAA,aAAA,GAAgB,EAAE,CAAA;AAAA,GACpB;AAEA,EAAA,MAAM,YAAsC,GAAA;AAAA,IAC1C,UAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACF;AAEA,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,kBAAkB,QAAlB,EAAA,EAA2B,OAAO,YACjC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,aAAA,EAAY,aAAc,EAAA,SAAA,EAAU,sCACtCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAW,EAAG,CAAA,OAAA,EAAS,WAAW,4BAA4B,CAAA,EAAI,GAAG,YAAA,EACxE,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,EAAA;AAAA,QACT,qDAAA;AAAA,QACA,wCAAA;AAAA,QACA,wCAAA;AAAA,QACA,YAAA,IAAgB,CAAC,YAAgB,IAAA,6BAAA;AAAA,QACjC,YAAgB,IAAA,qCAAA;AAAA,QAChB,QAAY,IAAA;AAAA;AACd,KAAA;AAAA,oBAECA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAO,GAAG,aAAA,EAAiB,EAAA,CAAA;AAAA,oBAC5BA,cAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,kCACb,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAA,EAAA;AAAA,UACT,SAAA;AAAA,UACA,YAAA,IAAgB,CAAC,YAAgB,IAAA,cAAA;AAAA,UACjC,YAAgB,IAAA;AAAA;AAClB;AAAA,KACF,+CACC,KAAI,EAAA,EAAA,SAAA,EAAU,+BACZA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,qBAAA,EAAA,EACV,YAAgB,GAAA,YAAA,GAAe,gCAAgC,iBAAqB,GAAA,KACvF,GACC,WAAe,oBAAAA,cAAA,CAAA,aAAA,CAAC,OAAE,SAAU,EAAA,SAAA,EAAA,EAAW,WAAY,CAAA,kBACnDA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAE,WAAU,SACV,EAAA,EAAA,CAAA,UAAA,EAAa,OAAO,MAAO,CAAA,MAAM,EAAE,IAAK,EAAA,CAAE,IAAK,CAAA,IAAI,CAAC,CAAA,aAAA,EAAgB,eAAe,OAAO,CAAC,CAC1F,EAAA,QAAA,GAAW,CAAI,GAAA,CAAA,cAAA,EAAiB,QAAQ,CAAK,CAAA,GAAA,EAC/C,CACF,CAAA,CACF,CACF;AAAA,GAEJ,CAGC,EAAA,UAAA,CAAW,SAAS,CACnB,oBAAAA,cAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,WAAA,EAAA,EACZ,WAAW,GAAI,CAAA,CAAC,OAAO,KACtB,qBAAAA,cAAA,CAAA,aAAA,CAAC,SAAI,GAAK,EAAA,KAAA,EAAO,WAAU,wDACxB,EAAA,EAAA,KACH,CACD,CACH,GAID,CAAC,QAAA,IAAY,WAAW,MAAS,GAAA,CAAA,iDAC/B,KAAI,EAAA,EAAA,SAAA,EAAU,+BACZA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,mCACb,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAG,SAAU,EAAA,qBAAA,EAAA,EAAsB,WAAQ,UAAW,CAAA,MAAA,EAAO,GAAC,CAAA,+CAC9D,MAAO,EAAA,EAAA,OAAA,EAAQ,WAAU,IAAK,EAAA,IAAA,EAAK,SAAS,QAAU,EAAA,EAAA,WAEvD,CACF,CAEA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,YAAA,EAAA,EACZ,WAAW,GAAI,CAAA,CAAC,8BACdA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAK,SAAU,CAAA,IAAA,CAAK,IAAI,SAAW,EAAA,EAAA,CAAG,uBAAuB,cAAe,CAAA,SAAA,CAAU,MAAM,CAAC,CAAA,EAAA,+CAChG,KAAI,EAAA,EAAA,SAAA,EAAU,+BACZA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,yBACZ,EAAA,EAAA,SAAA,CAAU,KAAK,OACd,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,SAAU,CAAA,IAAA,CAAK,OAAW,IAAA,kBAAA;AAAA,MAC/B,GAAA,EAAK,UAAU,IAAK,CAAA,IAAA;AAAA,MACpB,SAAU,EAAA;AAAA;AAAA,GACZ,GAEA,YAAY,SAAU,CAAA,IAAI,mBAG3BA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,gBAAA,EAAA,kBACZA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,yBACb,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,OAAE,SAAU,EAAA,sBAAA,EAAA,EAAwB,UAAU,IAAK,CAAA,IAAK,CACxD,EAAA,aAAA,CAAc,SAAU,CAAA,MAAM,CACjC,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,uDAAA,EAAA,+CACZ,MAAM,EAAA,IAAA,EAAA,cAAA,CAAe,SAAU,CAAA,IAAA,CAAK,IAAI,CAAE,mBAC1CA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,SAAQ,WAAY,EAAA,SAAA,EAAU,aAClC,SAAU,CAAA,IAAA,CAAK,IAAQ,IAAA,SAC1B,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EACE,UAAU,MAAW,KAAA,SAAA,GACjB,YACA,SAAU,CAAA,MAAA,KAAW,UACrB,aACA,GAAA,WAAA;AAAA,MAEN,SAAU,EAAA;AAAA,KAAA;AAAA,IAET,SAAU,CAAA;AAAA,GAEf,CACF,CAAA,kBAECA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,yBACZ,EAAA,EAAA,SAAA,CAAU,MAAW,KAAA,OAAA,IAAW,QAC/B,oBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAQ,EAAA,OAAA;AAAA,MACR,IAAK,EAAA,IAAA;AAAA,MACL,OAAA,EAAS,MAAM,WAAA,CAAY,SAAS,CAAA;AAAA,MACpC,SAAU,EAAA;AAAA,KAAA;AAAA,IACX;AAAA,GAIH,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAQ,EAAA,OAAA;AAAA,MACR,IAAK,EAAA,IAAA;AAAA,MACL,OAAA,EAAS,MACP,SAAU,CAAA,MAAA,KAAW,cAAc,YAAa,CAAA,SAAS,CAAI,GAAA,UAAA,CAAW,SAAS,CAAA;AAAA,MAEnF,SAAU,EAAA;AAAA,KAAA;AAAA,oBAEVA,cAAA,CAAA,aAAA,CAAC,CAAE,EAAA,EAAA,SAAA,EAAU,SAAU,EAAA;AAAA,GAE3B,CACF,CAGC,EAAA,SAAA,CAAU,WAAW,WACpB,oBAAAA,cAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,WACb,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,YAAS,KAAO,EAAA,SAAA,CAAU,UAAU,SAAU,EAAA,KAAA,EAAM,mBACpDA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,+BAAA,EAAA,EAAgC,eAAc,EAAA,IAAA,CAAK,MAAM,SAAU,CAAA,QAAQ,GAAE,GAAC,CAC7F,GAID,SAAU,CAAA,MAAA,KAAW,OAAW,IAAA,SAAA,CAAU,KACzC,oBAAAA,cAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,wDAAA,EAAA,EAA0D,SAAU,CAAA,KAAM,CAE7F,CACF,CACD,CACH,CACF,CAGD,EAAA,QACH,CACF,CAAA;AAEJ;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { JSONSchemaType } from 'ajv';
|
|
|
9
9
|
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
10
10
|
import { Options } from 'react-markdown';
|
|
11
11
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
12
|
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
12
13
|
import * as React_2 from 'react';
|
|
13
14
|
import { ReactNode } from 'react';
|
|
14
15
|
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
@@ -159,6 +160,15 @@ declare type AppendNewAnswer = {
|
|
|
159
160
|
};
|
|
160
161
|
};
|
|
161
162
|
|
|
163
|
+
export declare function Badge({ className, variant, ...props }: BadgeProps): React_2.JSX.Element;
|
|
164
|
+
|
|
165
|
+
export declare interface BadgeProps extends React_2.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export declare const badgeVariants: (props?: ({
|
|
169
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
170
|
+
} & ClassProp) | undefined) => string;
|
|
171
|
+
|
|
162
172
|
export declare const BrainfishColors: {
|
|
163
173
|
primary: {
|
|
164
174
|
50: string;
|
|
@@ -620,6 +630,24 @@ declare type FeatureFlags = {
|
|
|
620
630
|
|
|
621
631
|
declare type FeedbackResponse = 'accept' | 'reject';
|
|
622
632
|
|
|
633
|
+
export declare function FileUpload({ onFilesChange, onUpload, accept, maxSize, // 5MB
|
|
634
|
+
maxFiles, multiple, className, disabled, autoUpload, title, description, children, }: FileUploadProps): default_2.JSX.Element;
|
|
635
|
+
|
|
636
|
+
declare interface FileUploadProps {
|
|
637
|
+
onFilesChange?: (files: File[]) => void;
|
|
638
|
+
onUpload?: (file: File, abortSignal: AbortSignal) => Promise<UploadResult>;
|
|
639
|
+
accept?: Record<string, string[]>;
|
|
640
|
+
maxSize?: number;
|
|
641
|
+
maxFiles?: number;
|
|
642
|
+
multiple?: boolean;
|
|
643
|
+
className?: string;
|
|
644
|
+
disabled?: boolean;
|
|
645
|
+
autoUpload?: boolean;
|
|
646
|
+
title?: string;
|
|
647
|
+
description?: string;
|
|
648
|
+
children?: ReactNode;
|
|
649
|
+
}
|
|
650
|
+
|
|
623
651
|
export declare const Filter: default_2.ForwardRefExoticComponent<FilterProps & default_2.RefAttributes<{
|
|
624
652
|
focus: () => void;
|
|
625
653
|
}>>;
|
|
@@ -789,6 +817,10 @@ export declare const PopoverContent: React_2.ForwardRefExoticComponent<Omit<Popo
|
|
|
789
817
|
|
|
790
818
|
export declare const PopoverTrigger: React_2.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
791
819
|
|
|
820
|
+
export declare const Progress: React_2.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
821
|
+
indicatorClassName?: string | undefined;
|
|
822
|
+
} & React_2.RefAttributes<HTMLDivElement>>;
|
|
823
|
+
|
|
792
824
|
export declare interface Props {
|
|
793
825
|
message: Message;
|
|
794
826
|
isStreaming?: boolean;
|
|
@@ -932,6 +964,12 @@ export declare const TooltipProvider: ({ delayDuration, ...props }: TooltipPrimi
|
|
|
932
964
|
|
|
933
965
|
export declare const TooltipTrigger: React_2.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
934
966
|
|
|
967
|
+
declare interface UploadResult {
|
|
968
|
+
success: boolean;
|
|
969
|
+
url?: string;
|
|
970
|
+
error?: string;
|
|
971
|
+
}
|
|
972
|
+
|
|
935
973
|
declare type UrlString = string & {
|
|
936
974
|
__url: never;
|
|
937
975
|
};
|