@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 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, calculateTimeRemaining, customColor, formatFileSize };
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
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;ACpBjC,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;AAEa,MAAA,sBAAA,GAAyB,CAAC,SAAmC,KAAA;AACxE,EAAA,IAAI,CAAC,SAAU,CAAA,SAAA,IAAa,SAAU,CAAA,QAAA,KAAa,GAAU,OAAA,gBAAA;AAE7D,EAAA,MAAM,OAAU,GAAA,IAAA,CAAK,GAAI,EAAA,GAAI,SAAU,CAAA,SAAA;AACvC,EAAM,MAAA,IAAA,GAAO,UAAU,QAAW,GAAA,OAAA;AAClC,EAAM,MAAA,SAAA,GAAA,CAAa,GAAM,GAAA,SAAA,CAAU,QAAY,IAAA,IAAA;AAE/C,EAAA,IAAI,YAAY,GAAO,EAAA;AACrB,IAAA,OAAO,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,SAAA,GAAY,GAAI,CAAC,CAAA,WAAA,CAAA;AAAA,GACjC,MAAA;AACL,IAAA,OAAO,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,SAAA,GAAY,GAAK,CAAC,CAAA,WAAA,CAAA;AAAA;AAE3C;;ACbO,SAAS,UAAW,CAAA;AAAA,EACzB,cAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAS,GAAA;AAAA,IACP,WAAW,CAAC,MAAA,EAAQ,MAAQ,EAAA,OAAA,EAAS,QAAQ,MAAM,CAAA;AAAA,IACnD,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,KAAQ,GAAA,4CAAA;AAAA,EACR,WAAc,GAAA,EAAA;AAAA,EACd,eAAkB,GAAA,EAAA;AAAA,EAClB;AACF,CAAoB,EAAA;AAClB,EAAA,MAAM,EAAE,YAAc,EAAA,aAAA,EAAe,YAAc,EAAA,YAAA,KAAiB,WAAY,CAAA;AAAA,IAC9E,cAAA;AAAA,IACA,cAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,oDACG,KAAI,EAAA,EAAA,aAAA,EAAY,aAAc,EAAA,SAAA,EAAU,sCACtCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,EAAA,CAAG,SAAS,SAAW,EAAA,4BAA4B,CAAI,EAAA,GAAG,cACxE,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,kBACCA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,WAAA,EAAA,kBACZA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,qBAAA,EAAA,EACV,YAAgB,GAAA,YAAA,GAAe,6BAAgC,GAAA,iBAAA,GAAqB,KACvF,CACC,EAAA,WAAA,oBAAgBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,SAAA,EAAA,EAAW,WAAY,CAAA,EACnD,eACC,mBAAAA,cAAA,CAAA,aAAA,CAAC,GAAE,EAAA,EAAA,SAAA,EAAU,SAAW,EAAA,EAAA,eAAgB,oBAEvCA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAE,SAAU,EAAA,SAAA,EAAA,EACV,CAAa,UAAA,EAAA,MAAA,CAAO,MAAO,CAAA,MAAM,CAAE,CAAA,IAAA,EAAO,CAAA,IAAA,CAAK,IAAI,CAAC,gBAAgB,cAAe,CAAA,OAAO,CAAC,CAAA,EAC1F,QAAW,GAAA,CAAA,GAAI,CAAiB,cAAA,EAAA,QAAQ,CAAK,CAAA,GAAA,EAC/C,CACF,CAAA,CAEJ,CACF;AAAA,GAEJ,GACC,QACH,CAAA;AAEJ;;ACtDA,MAAM,kBAAkBA,cAAM,CAAA,IAAA,CAA6B,CAAC,EAAE,WAAgB,KAAA;AAC5E,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,SAAI,SAAW,EAAA,EAAA,CAAG,YAAY,SAAS,CAAA,EAAA,+CACrC,WAAY,EAAA,EAAA,SAAA,EAAU,kCAAiC,MAAO,EAAA,MAAA,EAAO,mBACrEA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,WAAU,4BAA6B,EAAA,MAAA,EAAO,WAAU,CACvE,CAAA;AAEJ,CAAC,CAAA;AAED,eAAA,CAAgB,WAAc,GAAA,iBAAA;AAEvB,MAAM,mBAAoD,CAAC;AAAA,EAChE,OAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,KAAQ,GAAA;AAAA,IACN,EAAE,EAAI,EAAA,QAAA,EAAU,KAAO,EAAA,iBAAA,EAAmB,QAAQ,SAAU,EAAA;AAAA,IAC5D,EAAE,EAAI,EAAA,SAAA,EAAW,KAAO,EAAA,mBAAA,EAAqB,QAAQ,SAAU,EAAA;AAAA,IAC/D,EAAE,EAAI,EAAA,QAAA,EAAU,KAAO,EAAA,wBAAA,EAA0B,QAAQ,SAAU;AAAA,GACrE;AAAA,EACA,aAAA;AAAA,EACA,KAAQ,GAAA;AACV,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,IAAI,CAAA;AAEzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,GACjB,EAAG,EAAE,CAAA;AAEL,EAAM,MAAA,iBAAA,GAAoB,WAAY,CAAA,CAAC,WAA6B,KAAA;AAClE,IAAI,IAAA,WAAA,CAAY,MAAW,KAAA,SAAA,EAAkB,OAAA,UAAA;AAC7C,IAAI,IAAA,WAAA,CAAY,MAAW,KAAA,OAAA,EAAgB,OAAA,cAAA;AAE3C,IAAO,OAAA,eAAA;AAAA,GACT,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,CAAC,OAAA,IAAW,OAAQ,CAAA,MAAA,KAAW,GAAU,OAAA,IAAA;AAG7C,EAAI,IAAA,OAAO,QAAa,KAAA,WAAA,EAAoB,OAAA,IAAA;AAE5C,EAAA,MAAM,UACJ,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,IAAM,EAAA,MAAA;AAAA,MACN,YAAc,EAAA,SAAA;AAAA,MACd,SAAW,EAAA,EAAA;AAAA,QACT,uIAAA;AAAA,QACA;AAAA;AACF,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA,CAAC,sBAAmB,OAAO,EAAA,IAAA,EAAA,+CACxB,KAAI,EAAA,EAAA,SAAA,EAAU,8GACZA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,qBACb,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAK,SAAU,EAAA,eAAA,EAAA,EAAiB,KAAM,CACtC,EAAA,aAAA,oBAAkBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,+BAAA,EAAA,EAAiC,aAAc,CACnF,CAAA,+CACC,MAAO,EAAA,EAAA,OAAA,EAAQ,SAAQ,IAAK,EAAA,IAAA,EAAK,WAAU,YACzC,EAAA,EAAA,MAAA,gDAAU,SAAU,EAAA,EAAA,SAAA,EAAU,UAAS,CAAK,mBAAAA,cAAA,CAAA,aAAA,CAAC,WAAQ,SAAU,EAAA,QAAA,EAAS,CAC3E,CACF,CACF,CAAA;AAAA,oBACCA,cAAA,CAAA,aAAA,CAAA,kBAAA,EAAA,IAAA,EACE,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAA,qBACXA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,GAAK,EAAA,MAAA,CAAO,EAAI,EAAA,SAAA,EAAW,GAAG,kBAAkB,CAAA,EAAA,kBACnDA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,SAAU,EAAA,KAAA,EAAA,kBAEpBA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,oBAAA,EAAA,kBACZA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,yBAAA,EAAA,kBACZA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,yGACb,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,SAAU,EAAA,EAAA,SAAA,EAAU,QAAS,EAAA,CAChC,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,4BACb,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAG,EAAA,EAAA,SAAA,EAAU,iEACZ,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAK,SAAU,EAAA,mBAAA,EAAA,EAAqB,MAAO,CAAA,IAAA,CAAK,IAAK,CAAA,kBACrDA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,UAAA,EAAA,EAAW,KAAI,EAAA,cAAA,CAAe,MAAO,CAAA,IAAA,CAAK,IAAI,CAAE,CAClE,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,MAAA;AAAA,QACR,IAAK,EAAA,IAAA;AAAA,QACL,SAAU,EAAA,sDAAA;AAAA,QACV,OAAS,EAAA,cAAA;AAAA,QACT,WAAS,MAAO,CAAA,EAAA;AAAA,QAChB,QAAU,EAAA,MAAA,CAAO,MAAW,KAAA,SAAA,IAAa,OAAO,QAAa,KAAA,GAAA;AAAA,QAC7D,eAAa,MAAO,CAAA;AAAA,OAAA;AAAA,MAEnB,kBAAkB,MAAM;AAAA,KAE7B,CACF,CACF,CAGA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAG,EAAA,EAAA,SAAA,EAAU,MACX,EAAA,EAAA,KAAA,CAAM,GAAI,CAAA,CAAC,IACV,qBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,KAAK,IAAK,CAAA,EAAA;AAAA,QACV,SAAW,EAAA,EAAA;AAAA,UACT,4CAAA;AAAA,UACA,0GAAA;AAAA,UACA;AAAA;AACF,OAAA;AAAA,MAEC,IAAA,CAAK,MAAW,KAAA,WAAA,mBACdA,cAAA,CAAA,aAAA,CAAA,eAAA,EAAA,EAAgB,SAAU,EAAA,QAAA,EAAS,CAEpC,mBAAAA,cAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,SAAA,EAAU,QAAS,EAAA,CAAA;AAAA,mDAE5B,MAAK,EAAA,EAAA,SAAA,EAAU,6BACb,CAAG,EAAA,IAAA,CAAK,KAAK,CAAI,CAAA,EAAA,IAAA,CAAK,OAAO,QAAW,GAAA,CAAA,EAAA,EAAK,KAAK,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAA,CAAA,GAAM,EAAE,CACnF,CAAA;AAAA,KAEH,CACH,CACF,CACF,CACD,CACH;AAAA,GACF;AAGF,EAAO,OAAA,YAAA,CAAa,UAAY,EAAA,QAAA,CAAS,IAAI,CAAA;AAC/C;;;;"}
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 & {