@brainfish-ai/components 0.8.3 → 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/chat-search.d.ts +9 -1
- package/dist/esm/chunks/{ChatSearch.SKfNDI-w.js → ChatSearch.DCIOe8iM.js} +35 -12
- package/dist/esm/chunks/ChatSearch.DCIOe8iM.js.map +1 -0
- package/dist/esm/chunks/{FormattedMessage.DPRps9mh.js → FormattedMessage.aTdTW_T0.js} +2 -2
- package/dist/esm/chunks/FormattedMessage.aTdTW_T0.js.map +1 -0
- package/dist/esm/components/chat-search.js +1 -1
- package/dist/esm/components/markdown.js +1 -1
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.js +323 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +47 -1
- package/dist/stats.html +1 -1
- package/package.json +5 -2
- package/tailwind.config.js +33 -17
- package/dist/esm/chunks/ChatSearch.SKfNDI-w.js.map +0 -1
- package/dist/esm/chunks/FormattedMessage.DPRps9mh.js.map +0 -1
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":"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"}
|
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';
|
|
@@ -112,7 +113,7 @@ export declare interface Answer {
|
|
|
112
113
|
|
|
113
114
|
declare type AnswerBlock = MarkdownTextBlock | ActionButtonsBlock | ActionInputFormBlock;
|
|
114
115
|
|
|
115
|
-
declare type AnswerListAction = SetAnswers | ClearAll | AppendNewAnswer | SetSearchResults | AppendAnswerChunk | SetAnswerError | SetUserFeedback | ClearUserFeedback | SetFollowUpQuestions | AppendBlock | CompleteAnswer | MarkAsUncertain | InvokeAction | GetActionInputs | AddActionButtons;
|
|
116
|
+
declare type AnswerListAction = SetAnswers | ClearAll | AppendNewAnswer | SetSearchResults | AppendAnswerChunk | SetAnswerError | SetUserFeedback | ClearUserFeedback | SetFollowUpQuestions | AppendBlock | CompleteAnswer | MarkAsUncertain | InvokeAction | GetActionInputs | AddActionButtons | NoArticlesFound;
|
|
116
117
|
|
|
117
118
|
declare const AnswersActions: {
|
|
118
119
|
readonly SET_ANSWERS: "answers/set_answers";
|
|
@@ -127,6 +128,7 @@ declare const AnswersActions: {
|
|
|
127
128
|
readonly SET_USER_FEEDBACK: "answers/set_user_feedback";
|
|
128
129
|
readonly CLEAR_USER_FEEDBACK: "answers/clear_user_feedback";
|
|
129
130
|
readonly MARK_AS_UNCERTAIN: "answers/mark_as_uncertain";
|
|
131
|
+
readonly NO_ARTICLES_FOUND: "answers/no_articles_found";
|
|
130
132
|
readonly GET_ACTION_INPUTS: "answers/request_action_inputs";
|
|
131
133
|
readonly INVOKE_ACTION: "answers/invoke_action";
|
|
132
134
|
readonly ADD_ACTION_BUTTONS: "answers/add_action_buttons";
|
|
@@ -158,6 +160,15 @@ declare type AppendNewAnswer = {
|
|
|
158
160
|
};
|
|
159
161
|
};
|
|
160
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
|
+
|
|
161
172
|
export declare const BrainfishColors: {
|
|
162
173
|
primary: {
|
|
163
174
|
50: string;
|
|
@@ -619,6 +630,24 @@ declare type FeatureFlags = {
|
|
|
619
630
|
|
|
620
631
|
declare type FeedbackResponse = 'accept' | 'reject';
|
|
621
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
|
+
|
|
622
651
|
export declare const Filter: default_2.ForwardRefExoticComponent<FilterProps & default_2.RefAttributes<{
|
|
623
652
|
focus: () => void;
|
|
624
653
|
}>>;
|
|
@@ -765,6 +794,13 @@ declare enum NextBestActionType {
|
|
|
765
794
|
Function = "function"
|
|
766
795
|
}
|
|
767
796
|
|
|
797
|
+
declare type NoArticlesFound = {
|
|
798
|
+
type: typeof AnswersActions.NO_ARTICLES_FOUND;
|
|
799
|
+
payload: {
|
|
800
|
+
index?: number;
|
|
801
|
+
};
|
|
802
|
+
};
|
|
803
|
+
|
|
768
804
|
export declare enum Operator {
|
|
769
805
|
IS = "is",
|
|
770
806
|
IS_NOT = "is not",
|
|
@@ -781,6 +817,10 @@ export declare const PopoverContent: React_2.ForwardRefExoticComponent<Omit<Popo
|
|
|
781
817
|
|
|
782
818
|
export declare const PopoverTrigger: React_2.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
783
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
|
+
|
|
784
824
|
export declare interface Props {
|
|
785
825
|
message: Message;
|
|
786
826
|
isStreaming?: boolean;
|
|
@@ -924,6 +964,12 @@ export declare const TooltipProvider: ({ delayDuration, ...props }: TooltipPrimi
|
|
|
924
964
|
|
|
925
965
|
export declare const TooltipTrigger: React_2.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
926
966
|
|
|
967
|
+
declare interface UploadResult {
|
|
968
|
+
success: boolean;
|
|
969
|
+
url?: string;
|
|
970
|
+
error?: string;
|
|
971
|
+
}
|
|
972
|
+
|
|
927
973
|
declare type UrlString = string & {
|
|
928
974
|
__url: never;
|
|
929
975
|
};
|