@brainfish-ai/components 0.10.0-alpha.7 → 0.10.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.js +1 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/stats.html +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -305,17 +305,6 @@ const formatFileSize = (bytes) => {
|
|
|
305
305
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
306
306
|
return Number.parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + " " + sizes[i];
|
|
307
307
|
};
|
|
308
|
-
const calculateTimeRemaining = (fileState) => {
|
|
309
|
-
if (!fileState.startTime || fileState.progress === 0) return "Calculating...";
|
|
310
|
-
const elapsed = Date.now() - fileState.startTime;
|
|
311
|
-
const rate = fileState.progress / elapsed;
|
|
312
|
-
const remaining = (100 - fileState.progress) / rate;
|
|
313
|
-
if (remaining < 6e4) {
|
|
314
|
-
return `${Math.round(remaining / 1e3)}s remaining`;
|
|
315
|
-
} else {
|
|
316
|
-
return `${Math.round(remaining / 6e4)}m remaining`;
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
308
|
|
|
320
309
|
function FileUpload({
|
|
321
310
|
onDropAccepted,
|
|
@@ -439,5 +428,5 @@ const FileUploadStatus = ({
|
|
|
439
428
|
return createPortal(statusCard, document.body);
|
|
440
429
|
};
|
|
441
430
|
|
|
442
|
-
export { Badge, BrainfishColors, Button, Card, CardContent, Collapsible, CollapsibleContent, CollapsibleTrigger, FileUpload, FileUploadStatus, Progress, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, badgeVariants,
|
|
431
|
+
export { Badge, BrainfishColors, Button, Card, CardContent, Collapsible, CollapsibleContent, CollapsibleTrigger, FileUpload, FileUploadStatus, Progress, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, badgeVariants, customColor, formatFileSize };
|
|
443
432
|
//# sourceMappingURL=index.js.map
|
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","../../src/components/ui/badge.tsx","../../src/components/ui/progress.tsx","../../src/components/file-upload/utils.tsx","../../src/components/file-upload/file-upload.tsx","../../src/components/file-upload/file-upload-status.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 { UploadState } from './types';\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 calculateTimeRemaining = (fileState: UploadState): 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","import React from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { CloudArrowUp } from '@phosphor-icons/react';\n\nimport type { FileUploadProps } from './types';\nimport { formatFileSize } from './utils';\n\nimport { Card } from '@/components/ui/card';\nimport { cn } from '@/lib/utils';\n\nexport function FileUpload({\n onDropAccepted,\n onDropRejected,\n accept = {\n 'image/*': ['.png', '.jpg', '.jpeg', '.gif', '.mp4'],\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 title = 'Drag & drop files here, or click to select',\n description = '',\n supportsMessage = '',\n children,\n}: FileUploadProps) {\n const { getRootProps, getInputProps, isDragActive, isDragReject } = useDropzone({\n onDropAccepted,\n onDropRejected,\n accept,\n maxSize,\n multiple,\n disabled,\n maxFiles,\n });\n\n return (\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 {supportsMessage ? (\n <p className=\"text-sm\">{supportsMessage}</p>\n ) : (\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 )}\n </div>\n </div>\n </Card>\n </div>\n {children}\n </div>\n );\n}\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { CaretUp, CaretDown, FileVideo, CheckCircle, Circle } from '@phosphor-icons/react';\n\nimport type { UploadState } from './types';\nimport { formatFileSize } from './utils';\n\nimport { Card, CardContent } from '@/components/ui/card';\nimport { Button } from '@/components/ui/button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { cn } from '@/lib/utils';\n\nexport interface ProcessingStep {\n id: string;\n label: string;\n status: 'completed' | 'current' | 'pending' | 'error';\n}\n\ninterface FileUploadStatusProps {\n uploads: UploadState[];\n className?: string;\n timeRemaining?: string;\n onCancelUpload?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n steps?: ProcessingStep[];\n title?: string;\n}\n\nconst CheckCircleIcon = React.memo<{ className?: string }>(({ className }) => {\n return (\n <div className={cn('relative', className)}>\n <CheckCircle className=\"absolute size-6 text-green-400\" weight=\"fill\" />\n <CheckCircle className=\"absolute size-6 text-black\" weight=\"regular\" />\n </div>\n );\n});\n\nCheckCircleIcon.displayName = 'CheckCircleIcon';\n\nexport const FileUploadStatus: React.FC<FileUploadStatusProps> = ({\n uploads,\n className,\n onCancelUpload,\n steps = [\n { id: 'upload', label: 'Uploading video', status: 'current' },\n { id: 'analyze', label: 'Analyzing content', status: 'pending' },\n { id: 'create', label: 'Creating help articles', status: 'pending' },\n ],\n timeRemaining,\n title = 'Video Processing',\n}) => {\n const [mounted, setMounted] = useState(false);\n const [isOpen, setIsOpen] = useState(true);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const cancelButtonLabel = useCallback((uploadState: UploadState) => {\n if (uploadState.status === 'success') return 'Uploaded';\n if (uploadState.status === 'error') return 'Retry upload';\n\n return 'Cancel upload';\n }, []);\n\n if (!mounted || uploads.length === 0) return null;\n\n // Ensure we're in a browser environment\n if (typeof document === 'undefined') return null;\n\n const statusCard = (\n <Collapsible\n open={isOpen}\n onOpenChange={setIsOpen}\n className={cn(\n 'fixed bottom-3 right-3 w-96 shadow-lg border z-50 transition-all duration-200 h-auto p-0 gap-4 bg-dark-100 rounded-lg overflow-hidden',\n className,\n )}\n >\n <CollapsibleTrigger asChild>\n <div className=\"flex items-center justify-between py-4 px-6 bg-foreground text-background cursor-pointer\">\n <div className=\"flex flex-col gap-0\">\n <span className=\"font-semibold\">{title}</span>\n {timeRemaining && <span className=\"text-sm text-muted-foreground\">{timeRemaining}</span>}\n </div>\n <Button variant=\"ghost\" size=\"sm\" className=\"size-6 p-0\">\n {isOpen ? <CaretDown className=\"size-4\" /> : <CaretUp className=\"size-4\" />}\n </Button>\n </div>\n </CollapsibleTrigger>\n <CollapsibleContent>\n {uploads.map((upload) => (\n <Card key={upload.id} className={cn('rounded-none p-0')}>\n <CardContent className=\"p-0\">\n {/* File Info */}\n <div className=\"px-6 py-4 border-b\">\n <div className=\"flex items-center gap-4\">\n <div className=\"size-12 bg-yellow-400 border border-dark rounded-lg flex items-center justify-center text-dark shrink-0\">\n <FileVideo className=\"size-6\" />\n </div>\n <div className=\"flex-1 flex flex-col gap-0\">\n <h3 className=\"text-base font-medium flex items-center gap-1 whitespace-nowrap\">\n <span className=\"truncate max-w-56\">{upload.file.name}</span>\n <span className=\"shrink-0\"> • {formatFileSize(upload.file.size)}</span>\n </h3>\n <Button\n variant=\"dark\"\n size=\"sm\"\n className=\"self-start h-6 text-xs bg-foreground text-background\"\n onClick={onCancelUpload}\n data-id={upload.id}\n disabled={upload.status === 'success' || upload.progress === 100}\n data-status={upload.status}\n >\n {cancelButtonLabel(upload)}\n </Button>\n </div>\n </div>\n </div>\n\n {/* Steps */}\n <ol className=\"py-2\">\n {steps.map((step) => (\n <li\n key={step.id}\n className={cn(\n 'flex items-center gap-4 px-6 py-3 relative',\n 'after:absolute after:w-[1px] after:bg-foreground after:top-[38px] after:-bottom-[10px] after:left-[35px]',\n 'last-of-type:after:hidden',\n )}\n >\n {step.status === 'completed' ? (\n <CheckCircleIcon className=\"size-6\" />\n ) : (\n <Circle className=\"size-6\" />\n )}\n <span className=\"flex items-center gap-1\">\n {`${step.label} ${step.id === 'upload' ? `— ${Math.round(upload.progress)}%` : ''}`}\n </span>\n </li>\n ))}\n </ol>\n </CardContent>\n </Card>\n ))}\n </CollapsibleContent>\n </Collapsible>\n );\n\n return createPortal(statusCard, document.body);\n};\n"],"names":["React"],"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.tsx","../../src/components/file-upload/file-upload-status.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","export 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","import React from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { CloudArrowUp } from '@phosphor-icons/react';\n\nimport type { FileUploadProps } from './types';\nimport { formatFileSize } from './utils';\n\nimport { Card } from '@/components/ui/card';\nimport { cn } from '@/lib/utils';\n\nexport function FileUpload({\n onDropAccepted,\n onDropRejected,\n accept = {\n 'image/*': ['.png', '.jpg', '.jpeg', '.gif', '.mp4'],\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 title = 'Drag & drop files here, or click to select',\n description = '',\n supportsMessage = '',\n children,\n}: FileUploadProps) {\n const { getRootProps, getInputProps, isDragActive, isDragReject } = useDropzone({\n onDropAccepted,\n onDropRejected,\n accept,\n maxSize,\n multiple,\n disabled,\n maxFiles,\n });\n\n return (\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 {supportsMessage ? (\n <p className=\"text-sm\">{supportsMessage}</p>\n ) : (\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 )}\n </div>\n </div>\n </Card>\n </div>\n {children}\n </div>\n );\n}\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\nimport { CaretUp, CaretDown, FileVideo, CheckCircle, Circle } from '@phosphor-icons/react';\n\nimport type { UploadState } from './types';\nimport { formatFileSize } from './utils';\n\nimport { Card, CardContent } from '@/components/ui/card';\nimport { Button } from '@/components/ui/button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { cn } from '@/lib/utils';\n\nexport interface ProcessingStep {\n id: string;\n label: string;\n status: 'completed' | 'current' | 'pending' | 'error';\n}\n\ninterface FileUploadStatusProps {\n uploads: UploadState[];\n className?: string;\n timeRemaining?: string;\n onCancelUpload?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n steps?: ProcessingStep[];\n title?: string;\n}\n\nconst CheckCircleIcon = React.memo<{ className?: string }>(({ className }) => {\n return (\n <div className={cn('relative', className)}>\n <CheckCircle className=\"absolute size-6 text-green-400\" weight=\"fill\" />\n <CheckCircle className=\"absolute size-6 text-black\" weight=\"regular\" />\n </div>\n );\n});\n\nCheckCircleIcon.displayName = 'CheckCircleIcon';\n\nexport const FileUploadStatus: React.FC<FileUploadStatusProps> = ({\n uploads,\n className,\n onCancelUpload,\n steps = [\n { id: 'upload', label: 'Uploading video', status: 'current' },\n { id: 'analyze', label: 'Analyzing content', status: 'pending' },\n { id: 'create', label: 'Creating help articles', status: 'pending' },\n ],\n timeRemaining,\n title = 'Video Processing',\n}) => {\n const [mounted, setMounted] = useState(false);\n const [isOpen, setIsOpen] = useState(true);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const cancelButtonLabel = useCallback((uploadState: UploadState) => {\n if (uploadState.status === 'success') return 'Uploaded';\n if (uploadState.status === 'error') return 'Retry upload';\n\n return 'Cancel upload';\n }, []);\n\n if (!mounted || uploads.length === 0) return null;\n\n // Ensure we're in a browser environment\n if (typeof document === 'undefined') return null;\n\n const statusCard = (\n <Collapsible\n open={isOpen}\n onOpenChange={setIsOpen}\n className={cn(\n 'fixed bottom-3 right-3 w-96 shadow-lg border z-50 transition-all duration-200 h-auto p-0 gap-4 bg-dark-100 rounded-lg overflow-hidden',\n className,\n )}\n >\n <CollapsibleTrigger asChild>\n <div className=\"flex items-center justify-between py-4 px-6 bg-foreground text-background cursor-pointer\">\n <div className=\"flex flex-col gap-0\">\n <span className=\"font-semibold\">{title}</span>\n {timeRemaining && <span className=\"text-sm text-muted-foreground\">{timeRemaining}</span>}\n </div>\n <Button variant=\"ghost\" size=\"sm\" className=\"size-6 p-0\">\n {isOpen ? <CaretDown className=\"size-4\" /> : <CaretUp className=\"size-4\" />}\n </Button>\n </div>\n </CollapsibleTrigger>\n <CollapsibleContent>\n {uploads.map((upload) => (\n <Card key={upload.id} className={cn('rounded-none p-0')}>\n <CardContent className=\"p-0\">\n {/* File Info */}\n <div className=\"px-6 py-4 border-b\">\n <div className=\"flex items-center gap-4\">\n <div className=\"size-12 bg-yellow-400 border border-dark rounded-lg flex items-center justify-center text-dark shrink-0\">\n <FileVideo className=\"size-6\" />\n </div>\n <div className=\"flex-1 flex flex-col gap-0\">\n <h3 className=\"text-base font-medium flex items-center gap-1 whitespace-nowrap\">\n <span className=\"truncate max-w-56\">{upload.file.name}</span>\n <span className=\"shrink-0\"> • {formatFileSize(upload.file.size)}</span>\n </h3>\n <Button\n variant=\"dark\"\n size=\"sm\"\n className=\"self-start h-6 text-xs bg-foreground text-background\"\n onClick={onCancelUpload}\n data-id={upload.id}\n disabled={upload.status === 'success' || upload.progress === 100}\n data-status={upload.status}\n >\n {cancelButtonLabel(upload)}\n </Button>\n </div>\n </div>\n </div>\n\n {/* Steps */}\n <ol className=\"py-2\">\n {steps.map((step) => (\n <li\n key={step.id}\n className={cn(\n 'flex items-center gap-4 px-6 py-3 relative',\n 'after:absolute after:w-[1px] after:bg-foreground after:top-[38px] after:-bottom-[10px] after:left-[35px]',\n 'last-of-type:after:hidden',\n )}\n >\n {step.status === 'completed' ? (\n <CheckCircleIcon className=\"size-6\" />\n ) : (\n <Circle className=\"size-6\" />\n )}\n <span className=\"flex items-center gap-1\">\n {`${step.label} ${step.id === 'upload' ? `— ${Math.round(upload.progress)}%` : ''}`}\n </span>\n </li>\n ))}\n </ol>\n </CardContent>\n </Card>\n ))}\n </CollapsibleContent>\n </Collapsible>\n );\n\n return createPortal(statusCard, document.body);\n};\n"],"names":["React"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -308,8 +308,6 @@ export declare const buttonVariants: (props?: ({
|
|
|
308
308
|
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
309
309
|
} & ClassProp) | undefined) => string;
|
|
310
310
|
|
|
311
|
-
export declare const calculateTimeRemaining: (fileState: UploadState) => string;
|
|
312
|
-
|
|
313
311
|
export declare function Card({ className, ...props }: React_2.ComponentProps<'div'>): React_2.JSX.Element;
|
|
314
312
|
|
|
315
313
|
export declare function CardAction({ className, ...props }: React_2.ComponentProps<'div'>): React_2.JSX.Element;
|
|
@@ -986,6 +984,7 @@ export declare interface UploadState {
|
|
|
986
984
|
progress: number;
|
|
987
985
|
error?: string;
|
|
988
986
|
startTime?: number;
|
|
987
|
+
url?: string;
|
|
989
988
|
}
|
|
990
989
|
|
|
991
990
|
declare type UrlString = string & {
|