ics-ui-kit 0.1.6 → 0.1.8
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/{Command-BhbfL5wm.js → Command-CiZHptkR.js} +2 -2
- package/dist/{Command-BhbfL5wm.js.map → Command-CiZHptkR.js.map} +1 -1
- package/dist/{Dialog-ByiJIDhl.js → Dialog-Bs1B5Iu8.js} +2 -2
- package/dist/{Dialog-ByiJIDhl.js.map → Dialog-Bs1B5Iu8.js.map} +1 -1
- package/dist/Overlay-CVt011mY.js +28 -0
- package/dist/Overlay-CVt011mY.js.map +1 -0
- package/dist/{Sheet-rtwmzm2-.js → Sheet-zTMuP7C8.js} +2 -2
- package/dist/{Sheet-rtwmzm2-.js.map → Sheet-zTMuP7C8.js.map} +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/dialog.js +2 -2
- package/dist/components/drawer.js +1 -1
- package/dist/components/file-upload/FileUpload.d.ts +1 -0
- package/dist/components/file-upload/FileUpload.stories.d.ts +1 -0
- package/dist/components/file-upload/components/file-upload-compact-input-zone/FileUploadCompactInputZone.d.ts +1 -1
- package/dist/components/file-upload/components/file-upload-input-zone/FileUploadInputZone.d.ts +1 -1
- package/dist/components/file-upload/components/file-upload-item/FileUploadItem.d.ts +2 -0
- package/dist/components/file-upload/components/file-upload-item/FileUploadItem.stories.d.ts +1 -0
- package/dist/components/file-upload/components/file-upload-item-compact/FileUploadItemCompact.d.ts +2 -0
- package/dist/components/file-upload/components/file-upload-item-compact/FileUploadItemCompact.stories.d.ts +1 -0
- package/dist/components/file-upload/file-upload-compact/FileUploadCompact.d.ts +1 -0
- package/dist/components/file-upload/file-upload-compact/FileUploadCompact.stories.d.ts +1 -0
- package/dist/components/file-upload.js +194 -185
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/overlay.js +1 -1
- package/dist/components/resizable/components/ResizableCornerIcon.d.ts +3 -0
- package/dist/components/resizable/components/ResizableCornerIcon.stories.d.ts +7 -0
- package/dist/components/resizable/index.d.ts +1 -0
- package/dist/components/resizable.js +255 -232
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/search-select.js +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/formatBytes-C4QXq5lC.js +9 -0
- package/dist/formatBytes-C4QXq5lC.js.map +1 -0
- package/dist/hooks/use-file-upload.js +1 -1
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils.js +4 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/styles-scoped.css +54 -40
- package/dist/styles.css +54 -40
- package/dist/theme.css +25 -25
- package/dist/useFileUpload-Bnl3P8mP.js +193 -0
- package/dist/useFileUpload-Bnl3P8mP.js.map +1 -0
- package/package.json +1 -1
- package/tailwind.preset.js +2 -2
- package/dist/Overlay-2XMlxApi.js +0 -28
- package/dist/Overlay-2XMlxApi.js.map +0 -1
- package/dist/useFileUpload-iDag0iqM.js +0 -197
- package/dist/useFileUpload-iDag0iqM.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-upload.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-archive.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-text.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/headphones.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/upload.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/video.js","../../src/hooks/useFileType.ts","../../src/components/file-upload/components/file-upload-icon/FileUploadIcon.tsx","../../src/components/file-upload/components/file-upload-item/FileUploadItem.tsx","../../src/components/file-upload/components/file-upload-error/FileUploadError.tsx","../../src/components/file-upload/components/file-upload-drop-area-icon/FileUploadDropAreaIcon.tsx","../../src/components/file-upload/components/file-upload-drop-area/FileUploadDropArea.tsx","../../src/components/file-upload/components/file-upload-inline-drop-area/FileUploadInlineDropArea.tsx","../../src/components/file-upload/components/file-upload-clear-button/FileUploadClearButton.tsx","../../src/components/file-upload/components/file-upload-input-zone/FileUploadInputZone.tsx","../../src/components/file-upload/components/file-upload-compact-input-zone/FileUploadCompactInputZone.tsx","../../src/components/file-upload/components/file-upload-item-compact/FileUploadItemCompact.tsx","../../src/components/file-upload/FileUpload.tsx","../../src/components/file-upload/file-upload-compact/FileUploadCompact.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileArchive = createLucideIcon(\"FileArchive\", [\n [\"path\", { d: \"M10 12v-1\", key: \"v7bkov\" }],\n [\"path\", { d: \"M10 18v-2\", key: \"1cjy8d\" }],\n [\"path\", { d: \"M10 7V6\", key: \"dljcrl\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\n \"path\",\n { d: \"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01\", key: \"gkbcor\" }\n ],\n [\"circle\", { cx: \"10\", cy: \"20\", r: \"2\", key: \"1xzdoj\" }]\n]);\n\nexport { FileArchive as default };\n//# sourceMappingURL=file-archive.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileSpreadsheet = createLucideIcon(\"FileSpreadsheet\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M8 13h2\", key: \"yr2amv\" }],\n [\"path\", { d: \"M14 13h2\", key: \"un5t4a\" }],\n [\"path\", { d: \"M8 17h2\", key: \"2yhykz\" }],\n [\"path\", { d: \"M14 17h2\", key: \"10kma7\" }]\n]);\n\nexport { FileSpreadsheet as default };\n//# sourceMappingURL=file-spreadsheet.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst File = createLucideIcon(\"File\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }]\n]);\n\nexport { File as default };\n//# sourceMappingURL=file.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Headphones = createLucideIcon(\"Headphones\", [\n [\n \"path\",\n {\n d: \"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\",\n key: \"1xhozi\"\n }\n ]\n]);\n\nexport { Headphones as default };\n//# sourceMappingURL=headphones.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Upload = createLucideIcon(\"Upload\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"17 8 12 3 7 8\", key: \"t8dd8p\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"3\", y2: \"15\", key: \"widbto\" }]\n]);\n\nexport { Upload as default };\n//# sourceMappingURL=upload.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Video = createLucideIcon(\"Video\", [\n [\n \"path\",\n {\n d: \"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\",\n key: \"ftymec\"\n }\n ],\n [\"rect\", { x: \"2\", y: \"6\", width: \"14\", height: \"12\", rx: \"2\", key: \"158x01\" }]\n]);\n\nexport { Video as default };\n//# sourceMappingURL=video.js.map\n","import {\n\tFileArchiveIcon,\n\tFileIcon,\n\tFileSpreadsheetIcon,\n\tFileTextIcon,\n\tHeadphonesIcon,\n\tImageIcon,\n\tVideoIcon\n} from \"lucide-react\";\nimport { FileData } from \"./use-file-upload/useFileUpload\";\n\nexport const useFileType = (file: FileData) => {\n\tconst fileType = file.type;\n\tconst fileName = file.name;\n\n\t// Определяем тип файла и возвращаем соответствующую иконку\n\tif (\n\t\tfileType.includes(\"pdf\") ||\n\t\tfileName.endsWith(\".pdf\") ||\n\t\tfileType.includes(\"word\") ||\n\t\tfileName.endsWith(\".doc\") ||\n\t\tfileName.endsWith(\".docx\")\n\t) {\n\t\treturn FileTextIcon;\n\t} else if (\n\t\tfileType.includes(\"zip\") ||\n\t\tfileType.includes(\"archive\") ||\n\t\tfileName.endsWith(\".zip\") ||\n\t\tfileName.endsWith(\".rar\")\n\t) {\n\t\treturn FileArchiveIcon;\n\t} else if (fileType.includes(\"excel\") || fileName.endsWith(\".xls\") || fileName.endsWith(\".xlsx\")) {\n\t\treturn FileSpreadsheetIcon;\n\t} else if (fileType.includes(\"video/\")) {\n\t\treturn VideoIcon;\n\t} else if (fileType.includes(\"audio/\")) {\n\t\treturn HeadphonesIcon;\n\t} else if (fileType.startsWith(\"image/\")) {\n\t\treturn ImageIcon;\n\t}\n\n\treturn FileIcon;\n};\n","import { FeatureIcon } from \"@/components/icon\";\nimport { tv } from \"tailwind-variants\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { useFileType } from \"@/hooks/useFileType\";\n\nconst fileIconStyles = tv({\n\tbase: \"rounded-md text-muted ring-0\"\n});\n\nexport interface FileUploadIconProps {\n\tfile: FileData;\n}\n\nexport const FileUploadIcon = ({ file }: FileUploadIconProps) => {\n\tconst IconComponent = useFileType(file);\n\n\treturn <FeatureIcon icon={IconComponent} size=\"lg\" className={fileIconStyles()} />;\n};\n","import { IconButton } from \"@/components/button\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { formatBytes } from \"@/lib/utils/file/formatBytes\";\nimport { Download, XIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadIcon } from \"../file-upload-icon/FileUploadIcon\";\nimport { TextOverflowTooltip } from \"@/components/overflow-tooltip\";\n\nconst fileUploadItemStyles = tv({\n\tslots: {\n\t\twrapper:\n\t\t\t\"box-border flex h-16 justify-between gap-2 rounded-xl border border-secondary-border bg-background p-3 pe-3\",\n\t\tinfoWrapper: \"flex min-w-0 flex-1 items-center gap-2.5\",\n\t\ttextWrapper: \"flex min-w-0 flex-col gap-0.5\",\n\t\ttitle: \"truncate text-sm font-medium\",\n\t\tdescription: \"text-xs text-muted\",\n\t\tactionWrapper: \"-me-3 -mt-3 flex h-8 items-center -space-x-1.5\"\n\t}\n});\n\nexport type FileUploadItemProps = React.HTMLAttributes<HTMLDivElement> & {\n\tonClear: () => void;\n\tonDownload?: (file: FileData) => void;\n\tfile: FileData;\n};\n\nexport const FileUploadItem = React.forwardRef<HTMLDivElement, FileUploadItemProps>(\n\t({ onClear, onDownload, file, className, ...props }, ref) => {\n\t\tconst styles = fileUploadItemStyles();\n\n\t\treturn (\n\t\t\t<div className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<div className={styles.infoWrapper()}>\n\t\t\t\t\t<FileUploadIcon file={file} />\n\n\t\t\t\t\t<div className={styles.textWrapper()}>\n\t\t\t\t\t\t<TextOverflowTooltip className={styles.title()}>{file.name}</TextOverflowTooltip>\n\t\t\t\t\t\t<p className={styles.description()}>{formatBytes(file.size)}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className={styles.actionWrapper()}>\n\t\t\t\t\t{onDownload && (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon={Download}\n\t\t\t\t\t\t\tonClick={() => onDownload(file)}\n\t\t\t\t\t\t\taria-label=\"Download file\"\n\t\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon={XIcon}\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t\taria-label=\"Remove file\"\n\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadItem.displayName = \"FileUploadItem\";\n","import { Alert, AlertDescription, AlertIcon } from \"@/components/alert\";\nimport { AlertCircleIcon } from \"lucide-react\";\nimport React from \"react\";\n\nexport type FileUploadErrorProps = React.HTMLAttributes<HTMLDivElement> & {\n\terror: string | string[];\n};\n\nexport const FileUploadError = React.forwardRef<HTMLDivElement, FileUploadErrorProps>(({ error, ...props }, ref) => {\n\tconst errorText = Array.isArray(error) ? error.join(\"\\n\") : error;\n\treturn (\n\t\t<Alert status=\"error\" focus=\"medium\" {...props} ref={ref}>\n\t\t\t<AlertIcon icon={AlertCircleIcon} />\n\t\t\t<AlertDescription className=\"whitespace-pre-line\">{errorText}</AlertDescription>\n\t\t</Alert>\n\t);\n});\n\nFileUploadError.displayName = \"FileUploadError\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FeatureIcon } from \"@/components/icon\";\nimport { FeatureIconProps } from \"@/components/icon/feature-icon/FeatureIcon\";\n\nconst fileUploadDropAreaIconStyles = tv({\n\tbase: \"shrink-0 bg-status-neutral-fg\"\n});\n\nexport const FileUploadDropAreaIcon: React.FC<FeatureIconProps> = ({ icon, className, ...props }) => {\n\treturn <FeatureIcon size=\"xl\" icon={icon} className={fileUploadDropAreaIconStyles({ className })} {...props} />;\n};\n\nFileUploadDropAreaIcon.displayName = \"FileUploadDropAreaIcon\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadDropAreaIcon } from \"../file-upload-drop-area-icon/FileUploadDropAreaIcon\";\nimport { LucideIcon, Upload } from \"lucide-react\";\n\nconst fileUploadDropAreaStyles = tv({\n\tslots: {\n\t\twrapper: [\n\t\t\t\"has-[:disabled]:pointer-events-none has-[:disabled]:opacity-50\",\n\t\t\t\"relative flex min-h-[9.125rem] flex-col items-center justify-center rounded-xl border border-dashed border-primary-border bg-secondary-bg p-6 transition-colors\",\n\t\t\t\"hover:bg-secondary-bg-hover\",\n\t\t\t\"has-[input:focus]:shadow-focus\",\n\t\t\t\"data-[dragging=true]:bg-secondary-bg-hover\"\n\t\t],\n\t\ttitle: \"mb-1.5 text-sm font-medium text-primary-accent\",\n\t\ticon: \"mb-3 size-11\",\n\t\tdescription: \"flex flex-wrap justify-center gap-1 text-xs text-muted\"\n\t}\n});\n\nexport type FileUploadDropAreaProps = React.HTMLAttributes<HTMLDivElement> & {\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\ticon?: LucideIcon;\n};\n\nexport const FileUploadDropArea = React.forwardRef<HTMLDivElement, FileUploadDropAreaProps>(\n\t(\n\t\t{\n\t\t\tclassName,\n\t\t\ttitle = \"Click to upload or drop your files here \",\n\t\t\tdescription = \"All files\\n∙\\nInfinity files\\n∙\\nInfinity size\",\n\t\t\ticon,\n\t\t\tchildren,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst styles = fileUploadDropAreaStyles();\n\n\t\treturn (\n\t\t\t<div role=\"button\" className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<FileUploadDropAreaIcon icon={icon || Upload} className={styles.icon()} />\n\t\t\t\t<p className={styles.title()}>{title}</p>\n\t\t\t\t{description && <p className={styles.description()}>{description}</p>}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadDropArea.displayName = \"FileUploadDropArea\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadDropAreaIcon } from \"../file-upload-drop-area-icon/FileUploadDropAreaIcon\";\nimport { LucideIcon, Upload } from \"lucide-react\";\n\nconst fileUploadInlineDropAreaStyles = tv({\n\tslots: {\n\t\twrapper: [\n\t\t\t\"has-[:disabled]:pointer-events-none has-[:disabled]:opacity-50\",\n\t\t\t\"relative flex h-11 items-center rounded-lg border border-dashed border-primary-border bg-secondary-bg p-1.5 transition-colors\",\n\t\t\t\"hover:bg-secondary-bg-hover\",\n\t\t\t\"has-[input:focus]:shadow-focus\",\n\t\t\t\"data-[dragging=true]:bg-secondary-bg-hover\"\n\t\t],\n\t\ticon: \"mr-3\",\n\t\ttitle: \"text-sm font-medium text-primary-accent\",\n\t\tdescription: \"ml-1.5 flex flex-wrap justify-center gap-1.5 text-xs text-muted\"\n\t}\n});\n\nexport type FileUploadInlineDropAreaProps = React.HTMLAttributes<HTMLDivElement> & {\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\ticon?: LucideIcon;\n};\n\nexport const FileUploadInlineDropArea = React.forwardRef<HTMLDivElement, FileUploadInlineDropAreaProps>(\n\t(\n\t\t{ className, title = \"Upload files\", description = \"Drag & drop or click to browse\", icon, children, ...props },\n\t\tref\n\t) => {\n\t\tconst styles = fileUploadInlineDropAreaStyles();\n\n\t\treturn (\n\t\t\t<div role=\"button\" className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<FileUploadDropAreaIcon icon={icon || Upload} className={styles.icon()} size=\"sm\" />\n\t\t\t\t<div className=\"flex items-baseline\">\n\t\t\t\t\t<p className={styles.title()}>{title}</p>\n\t\t\t\t\t{description && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"ml-1.5 text-muted\">∙</span>\n\t\t\t\t\t\t\t<p className={styles.description()}>{description}</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadInlineDropArea.displayName = \"FileUploadInlineDropArea\";\n","import { Button, ButtonProps } from \"../../../button\";\n\n/**\n * Кнопка для удаления всех файлов в компоненте загрузки файлов\n */\nexport type FileUploadClearButtonProps = ButtonProps;\n\nexport const FileUploadClearButton = ({ children = \"Remove all files\", ...props }: FileUploadClearButtonProps) => {\n\treturn (\n\t\t<Button size=\"sm\" variant=\"outline\" type=\"button\" {...props}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n};\n\nFileUploadClearButton.displayName = \"FileUploadClearButton\";\n","import { FileUploadActions } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { FileUploadTexts } from \"../../FileUpload\";\nimport { FileUploadDropArea } from \"../file-upload-drop-area/FileUploadDropArea\";\n\nexport type FileUploadInputZoneProps = Omit<FileUploadTexts, \"removeBtnText\"> &\n\tPick<\n\t\tFileUploadActions,\n\t\t\"openFileDialog\" | \"handleDragEnter\" | \"handleDragLeave\" | \"handleDragOver\" | \"handleDrop\" | \"getInputProps\"\n\t> & {\n\t\tisDragging?: boolean;\n\t};\n\nexport const FileUploadInputZone = ({\n\tisDragging,\n\tgetInputProps,\n\topenFileDialog,\n\thandleDragEnter,\n\thandleDragLeave,\n\thandleDragOver,\n\thandleDrop,\n\t...props\n}: FileUploadInputZoneProps) => {\n\treturn (\n\t\t<FileUploadDropArea\n\t\t\tonClick={openFileDialog}\n\t\t\tonDragEnter={handleDragEnter}\n\t\t\tonDragLeave={handleDragLeave}\n\t\t\tonDragOver={handleDragOver}\n\t\t\tonDrop={handleDrop}\n\t\t\tdata-dragging={isDragging || undefined}\n\t\t\t{...props}\n\t\t>\n\t\t\t<input className=\"sr-only\" aria-label=\"Upload files\" {...getInputProps()} />\n\t\t</FileUploadDropArea>\n\t);\n};\n\nFileUploadInputZone.displayName = \"FileUploadInputZone\";\n","import { FileUploadActions } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { FileUploadTexts } from \"../../FileUpload\";\nimport { FileUploadInlineDropArea } from \"../file-upload-inline-drop-area/FileUploadInlineDropArea\";\n\nexport type FileUploadCompactInputZoneProps = Omit<FileUploadTexts, \"removeBtnText\" | \"helpText\"> &\n\tPick<\n\t\tFileUploadActions,\n\t\t\"openFileDialog\" | \"handleDragEnter\" | \"handleDragLeave\" | \"handleDragOver\" | \"handleDrop\" | \"getInputProps\"\n\t> & {\n\t\tisDragging?: boolean;\n\t};\n\nexport const FileUploadCompactInputZone = ({\n\tisDragging,\n\tgetInputProps,\n\topenFileDialog,\n\thandleDragEnter,\n\thandleDragLeave,\n\thandleDragOver,\n\thandleDrop,\n\t...props\n}: FileUploadCompactInputZoneProps) => {\n\treturn (\n\t\t<FileUploadInlineDropArea\n\t\t\tonClick={openFileDialog}\n\t\t\tonDragEnter={handleDragEnter}\n\t\t\tonDragLeave={handleDragLeave}\n\t\t\tonDragOver={handleDragOver}\n\t\t\tonDrop={handleDrop}\n\t\t\tdata-dragging={isDragging || undefined}\n\t\t\t{...props}\n\t\t>\n\t\t\t<input className=\"sr-only\" aria-label=\"Upload files\" {...getInputProps()} />\n\t\t</FileUploadInlineDropArea>\n\t);\n};\n\nFileUploadCompactInputZone.displayName = \"FileUploadCompactInputZone\";\n","import { IconButton } from \"@/components/button\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { formatBytes } from \"@/lib/utils/file/formatBytes\";\nimport { Download, XIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { useFileType } from \"@/hooks/useFileType\";\nimport { Icon } from \"@/components/icon\";\nimport { TextOverflowTooltip } from \"@/components/overflow-tooltip\";\n\nconst fileUploadItemCompactStyles = tv({\n\tslots: {\n\t\twrapper:\n\t\t\t\"box-border flex h-10 items-center gap-2 rounded-lg border border-secondary-border bg-background p-2.5 pr-1\",\n\t\ticon: \"text-muted\",\n\t\tinfoWrapper: \"flex w-full items-center overflow-hidden\",\n\t\ttextWrapper: \"flex w-full items-center justify-between\",\n\t\ttitle: \"truncate text-sm font-medium\",\n\t\tdescription: \"text-sm text-muted\",\n\t\tactionWrapper: \"ml-auto flex items-center -space-x-1.5\"\n\t}\n});\n\nexport type FileUploadItemCompactProps = React.HTMLAttributes<HTMLDivElement> & {\n\tonClear: () => void;\n\tfile: FileData;\n\trenderIcon?: React.ReactNode;\n\tonDownload?: (file: FileData) => void;\n};\n\nexport const FileUploadItemCompact = React.forwardRef<HTMLDivElement, FileUploadItemCompactProps>(\n\t({ onClear, file, className, renderIcon, onDownload, ...props }, ref) => {\n\t\tconst styles = fileUploadItemCompactStyles();\n\t\tconst IconComponent = useFileType(file);\n\n\t\treturn (\n\t\t\t<div className=\"relative\">\n\t\t\t\t<div className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t\t{renderIcon ?? (\n\t\t\t\t\t\t<div className=\"size-5\">\n\t\t\t\t\t\t\t<Icon icon={IconComponent} size=\"lg\" className={styles.icon()} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className={styles.infoWrapper()}>\n\t\t\t\t\t\t<div className={styles.textWrapper()}>\n\t\t\t\t\t\t\t<TextOverflowTooltip className={styles.title()}>{file.name}</TextOverflowTooltip>\n\t\t\t\t\t\t\t<p className={styles.description()}>{formatBytes(file.size)}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className={styles.actionWrapper()}>\n\t\t\t\t\t\t{onDownload && (\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\ticon={Download}\n\t\t\t\t\t\t\t\tonClick={() => onDownload(file)}\n\t\t\t\t\t\t\t\taria-label=\"Download file\"\n\t\t\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ticon={XIcon}\n\t\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t\t\taria-label=\"Remove file\"\n\t\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadItemCompact.displayName = \"FileUploadItemCompact\";\n","import {\n\tFileData,\n\tFileMetadata,\n\tFileUploadConstraints,\n\tFileValue,\n\tuseFileUpload\n} from \"@/hooks/use-file-upload/useFileUpload\";\nimport { useCallback, useMemo } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadClearButton } from \"./components/file-upload-clear-button/FileUploadClearButton\";\nimport { FileUploadError } from \"./components/file-upload-error/FileUploadError\";\nimport { FileUploadInputZone } from \"./components/file-upload-input-zone/FileUploadInputZone\";\nimport { FileUploadItem } from \"./components/file-upload-item/FileUploadItem\";\nimport { FileUploadErrorMessages } from \"@/hooks/use-file-upload\";\n\nconst fileUploadStyles = tv({\n\tbase: \"flex flex-col gap-3\"\n});\n\nexport type FileUploadTexts = {\n\ttitle?: string;\n\tdescription?: string;\n\thelpText?: string;\n\tremoveBtnText?: string;\n};\n\nexport type FileUploadBaseProps = FileUploadConstraints & FileUploadTexts;\n\nexport type FileUploadProps = FileUploadBaseProps & {\n\tfiles?: FileValue[];\n\tonChange?: (files: FileValue[]) => void;\n\tonRemove?: (file: FileValue, index: number) => void;\n\tonAdd?: (files: FileValue[]) => void;\n\tonClear?: () => void;\n\tonDownload?: (file: FileData) => void;\n\n\tinitialFiles?: FileMetadata[];\n\tclassName?: string;\n\terrorMessages?: Partial<FileUploadErrorMessages>;\n};\n\nexport const FileUpload = (props: FileUploadProps) => {\n\tconst {\n\t\tfiles,\n\t\tonRemove,\n\t\tonAdd,\n\t\tonClear,\n\t\tonDownload,\n\t\tinitialFiles,\n\t\tonChange,\n\t\tclassName,\n\t\ttitle,\n\t\tdescription,\n\t\thelpText,\n\t\tremoveBtnText,\n\t\terrorMessages,\n\t\tmultiple = true,\n\t\t...constraints\n\t} = props;\n\tconst [{ files: stateFiles, isDragging, errors }, actions] = useFileUpload({\n\t\t...constraints,\n\t\tinitialFiles,\n\t\tmultiple,\n\t\terrorMessages,\n\t\tonFilesChange: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonChange?.(files);\n\t\t},\n\t\tonFilesAdded: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonAdd?.(files);\n\t\t}\n\t});\n\n\tconst actualFiles = useMemo(() => {\n\t\treturn files || stateFiles.map((file) => file.file);\n\t}, [files, stateFiles]);\n\n\tconst handleClearAll = useCallback(() => {\n\t\tactions.clearFiles();\n\t\tonClear?.();\n\t}, [actions, onClear]);\n\n\tconst handleRemoveFile = useCallback(\n\t\t(file: FileValue, index: number) => {\n\t\t\tconst fileId = stateFiles.find((f) => f.file.name === file.name && f.file.size === file.size)?.id;\n\t\t\tif (fileId) actions.removeFile(fileId);\n\t\t\tonRemove?.(file, index);\n\t\t},\n\t\t[stateFiles, actions, onRemove]\n\t);\n\n\treturn (\n\t\t<div className={fileUploadStyles({ className })}>\n\t\t\t<FileUploadInputZone\n\t\t\t\t{...actions}\n\t\t\t\tisDragging={isDragging}\n\t\t\t\ttitle={title}\n\t\t\t\tdescription={description}\n\t\t\t\thelpText={helpText}\n\t\t\t/>\n\n\t\t\t{errors.length > 0 && <FileUploadError error={errors} />}\n\n\t\t\t{actualFiles.length > 0 && (\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t{actualFiles.map((file, index) => (\n\t\t\t\t\t\t<FileUploadItem\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\tonClear={() => handleRemoveFile(file, index)}\n\t\t\t\t\t\t\tonDownload={onDownload}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{actualFiles.length > 1 && (\n\t\t\t\t\t\t<FileUploadClearButton onClick={handleClearAll}>{removeBtnText}</FileUploadClearButton>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nFileUpload.displayName = \"FileUpload\";\n","import { FileMetadata, FileValue, useFileUpload, type FileUploadErrorMessages } from \"@/hooks/use-file-upload\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadBaseProps } from \"../FileUpload\";\nimport { FileUploadItemCompact } from \"../components/file-upload-item-compact/FileUploadItemCompact\";\nimport { FileUploadError } from \"../components/file-upload-error/FileUploadError\";\nimport { FileUploadCompactInputZone } from \"../components/file-upload-compact-input-zone/FileUploadCompactInputZone\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\n\nconst fileUploadStyles = tv({\n\tbase: \"box-border flex flex-col gap-2\"\n});\n\nexport type FileUploadCompactProps = Omit<FileUploadBaseProps, \"removeBtnText\" | \"helpText\"> & {\n\tfiles?: FileValue[];\n\tonChange?: (files: FileValue[]) => void;\n\tonRemove?: (file: FileValue, index: number) => void;\n\tonAdd?: (files: FileValue[]) => void;\n\tonDownload?: (file: FileData) => void;\n\tinitialFiles?: FileMetadata[];\n\tclassName?: string;\n\terrorMessages?: Partial<FileUploadErrorMessages>;\n\trenderFileIcon?: (file: FileValue) => React.ReactNode;\n};\n\nexport const FileUploadCompact = (props: FileUploadCompactProps) => {\n\tconst {\n\t\tfiles,\n\t\tonRemove,\n\t\tonDownload,\n\t\tonAdd,\n\t\tinitialFiles,\n\t\tonChange,\n\t\tclassName,\n\t\ttitle,\n\t\tdescription,\n\t\tmultiple = true,\n\t\terrorMessages,\n\t\trenderFileIcon,\n\t\t...constraints\n\t} = props;\n\tconst [{ files: stateFiles, isDragging, errors }, actions] = useFileUpload({\n\t\t...constraints,\n\t\tinitialFiles,\n\t\tmultiple,\n\t\terrorMessages,\n\t\tonFilesChange: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonChange?.(files);\n\t\t},\n\t\tonFilesAdded: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonAdd?.(files);\n\t\t}\n\t});\n\n\tconst actualFiles = useMemo(() => {\n\t\treturn files || stateFiles.map((file) => file.file);\n\t}, [files, stateFiles]);\n\n\tconst handleRemoveFile = useCallback(\n\t\t(file: FileValue, index: number) => {\n\t\t\tconst fileId = stateFiles.find((f) => f.file.name === file.name && f.file.size === file.size)?.id;\n\t\t\tif (fileId) actions.removeFile(fileId);\n\t\t\tonRemove?.(file, index);\n\t\t},\n\t\t[stateFiles, actions, onRemove]\n\t);\n\n\treturn (\n\t\t<div className={fileUploadStyles({ className })}>\n\t\t\t<FileUploadCompactInputZone {...actions} isDragging={isDragging} title={title} description={description} />\n\n\t\t\t{errors.length > 0 && <FileUploadError error={errors} />}\n\n\t\t\t{actualFiles.length > 0 && (\n\t\t\t\t<div>\n\t\t\t\t\t{actualFiles.map((file, index) => {\n\t\t\t\t\t\tconst isFirst = index === 0;\n\t\t\t\t\t\tconst isOnly = actualFiles.length === 1;\n\t\t\t\t\t\tconst isLast = index === actualFiles.length - 1;\n\n\t\t\t\t\t\tlet itemClassName = \"\";\n\t\t\t\t\t\tif (isOnly) {\n\t\t\t\t\t\t\titemClassName = \"\";\n\t\t\t\t\t\t} else if (isFirst) {\n\t\t\t\t\t\t\titemClassName = \"border-b-0 rounded-b-none\";\n\t\t\t\t\t\t} else if (isLast) {\n\t\t\t\t\t\t\titemClassName = \"rounded-t-none\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titemClassName = \"border-b-0 rounded-none\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FileUploadItemCompact\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\t\tonClear={() => handleRemoveFile(file, index)}\n\t\t\t\t\t\t\t\tclassName={itemClassName}\n\t\t\t\t\t\t\t\trenderIcon={renderFileIcon?.(file)}\n\t\t\t\t\t\t\t\tonDownload={onDownload}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nFileUploadCompact.displayName = \"FileUploadCompact\";\n"],"names":["FileArchive","createLucideIcon","FileSpreadsheet","FileText","File","Headphones","Upload","Video","useFileType","file","fileType","fileName","FileTextIcon","FileArchiveIcon","FileSpreadsheetIcon","VideoIcon","HeadphonesIcon","ImageIcon","FileIcon","fileIconStyles","tv","FileUploadIcon","IconComponent","jsx","FeatureIcon","fileUploadItemStyles","FileUploadItem","React","onClear","onDownload","className","props","ref","styles","jsxs","TextOverflowTooltip","formatBytes","IconButton","Download","XIcon","FileUploadError","error","errorText","Alert","AlertIcon","AlertCircleIcon","AlertDescription","fileUploadDropAreaIconStyles","FileUploadDropAreaIcon","icon","fileUploadDropAreaStyles","FileUploadDropArea","title","description","children","fileUploadInlineDropAreaStyles","FileUploadInlineDropArea","Fragment","FileUploadClearButton","Button","FileUploadInputZone","isDragging","getInputProps","openFileDialog","handleDragEnter","handleDragLeave","handleDragOver","handleDrop","FileUploadCompactInputZone","fileUploadItemCompactStyles","FileUploadItemCompact","renderIcon","Icon","fileUploadStyles","FileUpload","files","onRemove","onAdd","initialFiles","onChange","helpText","removeBtnText","errorMessages","multiple","constraints","stateFiles","errors","actions","useFileUpload","filesWithPreview","actualFiles","useMemo","handleClearAll","useCallback","handleRemoveFile","index","fileId","f","FileUploadCompact","renderFileIcon","isFirst","isOnly","isLast","itemClassName"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
1
|
+
{"version":3,"file":"file-upload.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-archive.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-text.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/headphones.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/upload.js","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/video.js","../../src/hooks/useFileType.ts","../../src/components/file-upload/components/file-upload-icon/FileUploadIcon.tsx","../../src/components/file-upload/components/file-upload-item/FileUploadItem.tsx","../../src/components/file-upload/components/file-upload-error/FileUploadError.tsx","../../src/components/file-upload/components/file-upload-drop-area-icon/FileUploadDropAreaIcon.tsx","../../src/components/file-upload/components/file-upload-drop-area/FileUploadDropArea.tsx","../../src/components/file-upload/components/file-upload-inline-drop-area/FileUploadInlineDropArea.tsx","../../src/components/file-upload/components/file-upload-clear-button/FileUploadClearButton.tsx","../../src/components/file-upload/components/file-upload-input-zone/FileUploadInputZone.tsx","../../src/components/file-upload/components/file-upload-compact-input-zone/FileUploadCompactInputZone.tsx","../../src/components/file-upload/components/file-upload-item-compact/FileUploadItemCompact.tsx","../../src/components/file-upload/FileUpload.tsx","../../src/components/file-upload/file-upload-compact/FileUploadCompact.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileArchive = createLucideIcon(\"FileArchive\", [\n [\"path\", { d: \"M10 12v-1\", key: \"v7bkov\" }],\n [\"path\", { d: \"M10 18v-2\", key: \"1cjy8d\" }],\n [\"path\", { d: \"M10 7V6\", key: \"dljcrl\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\n \"path\",\n { d: \"M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01\", key: \"gkbcor\" }\n ],\n [\"circle\", { cx: \"10\", cy: \"20\", r: \"2\", key: \"1xzdoj\" }]\n]);\n\nexport { FileArchive as default };\n//# sourceMappingURL=file-archive.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileSpreadsheet = createLucideIcon(\"FileSpreadsheet\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M8 13h2\", key: \"yr2amv\" }],\n [\"path\", { d: \"M14 13h2\", key: \"un5t4a\" }],\n [\"path\", { d: \"M8 17h2\", key: \"2yhykz\" }],\n [\"path\", { d: \"M14 17h2\", key: \"10kma7\" }]\n]);\n\nexport { FileSpreadsheet as default };\n//# sourceMappingURL=file-spreadsheet.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst File = createLucideIcon(\"File\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }]\n]);\n\nexport { File as default };\n//# sourceMappingURL=file.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Headphones = createLucideIcon(\"Headphones\", [\n [\n \"path\",\n {\n d: \"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3\",\n key: \"1xhozi\"\n }\n ]\n]);\n\nexport { Headphones as default };\n//# sourceMappingURL=headphones.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Upload = createLucideIcon(\"Upload\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"17 8 12 3 7 8\", key: \"t8dd8p\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"3\", y2: \"15\", key: \"widbto\" }]\n]);\n\nexport { Upload as default };\n//# sourceMappingURL=upload.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Video = createLucideIcon(\"Video\", [\n [\n \"path\",\n {\n d: \"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\",\n key: \"ftymec\"\n }\n ],\n [\"rect\", { x: \"2\", y: \"6\", width: \"14\", height: \"12\", rx: \"2\", key: \"158x01\" }]\n]);\n\nexport { Video as default };\n//# sourceMappingURL=video.js.map\n","import {\n\tFileArchiveIcon,\n\tFileIcon,\n\tFileSpreadsheetIcon,\n\tFileTextIcon,\n\tHeadphonesIcon,\n\tImageIcon,\n\tVideoIcon\n} from \"lucide-react\";\nimport { FileData } from \"./use-file-upload/useFileUpload\";\n\nexport const useFileType = (file: FileData) => {\n\tconst fileType = file.type;\n\tconst fileName = file.name;\n\n\t// Определяем тип файла и возвращаем соответствующую иконку\n\tif (\n\t\tfileType.includes(\"pdf\") ||\n\t\tfileName.endsWith(\".pdf\") ||\n\t\tfileType.includes(\"word\") ||\n\t\tfileName.endsWith(\".doc\") ||\n\t\tfileName.endsWith(\".docx\")\n\t) {\n\t\treturn FileTextIcon;\n\t} else if (\n\t\tfileType.includes(\"zip\") ||\n\t\tfileType.includes(\"archive\") ||\n\t\tfileName.endsWith(\".zip\") ||\n\t\tfileName.endsWith(\".rar\")\n\t) {\n\t\treturn FileArchiveIcon;\n\t} else if (fileType.includes(\"excel\") || fileName.endsWith(\".xls\") || fileName.endsWith(\".xlsx\")) {\n\t\treturn FileSpreadsheetIcon;\n\t} else if (fileType.includes(\"video/\")) {\n\t\treturn VideoIcon;\n\t} else if (fileType.includes(\"audio/\")) {\n\t\treturn HeadphonesIcon;\n\t} else if (fileType.startsWith(\"image/\")) {\n\t\treturn ImageIcon;\n\t}\n\n\treturn FileIcon;\n};\n","import { FeatureIcon } from \"@/components/icon\";\nimport { tv } from \"tailwind-variants\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { useFileType } from \"@/hooks/useFileType\";\n\nconst fileIconStyles = tv({\n\tbase: \"rounded-md text-muted ring-0\"\n});\n\nexport interface FileUploadIconProps {\n\tfile: FileData;\n}\n\nexport const FileUploadIcon = ({ file }: FileUploadIconProps) => {\n\tconst IconComponent = useFileType(file);\n\n\treturn <FeatureIcon icon={IconComponent} size=\"lg\" className={fileIconStyles()} />;\n};\n","import { IconButton } from \"@/components/button\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { formatBytes } from \"@/lib/utils/file/formatBytes\";\nimport { Download, XIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadIcon } from \"../file-upload-icon/FileUploadIcon\";\nimport { TextOverflowTooltip } from \"@/components/overflow-tooltip\";\n\nconst fileUploadItemStyles = tv({\n\tslots: {\n\t\twrapper:\n\t\t\t\"box-border flex h-16 justify-between gap-2 rounded-xl border border-secondary-border bg-background p-3 pe-3\",\n\t\tinfoWrapper: \"flex min-w-0 flex-1 items-center gap-2.5\",\n\t\ttextWrapper: \"flex min-w-0 flex-col gap-0.5\",\n\t\ttitle: \"truncate text-sm font-medium\",\n\t\tdescription: \"text-xs tabular-nums text-muted\",\n\t\tactionWrapper: \"-me-3 -mt-3 flex h-8 items-center -space-x-1.5\"\n\t}\n});\n\nexport type FileUploadItemProps = React.HTMLAttributes<HTMLDivElement> & {\n\tonClear: () => void;\n\tonDownload?: (file: FileData) => void;\n\tfile: FileData;\n\trenderDescription?: (file: FileData) => React.ReactNode;\n};\n\nexport const FileUploadItem = React.forwardRef<HTMLDivElement, FileUploadItemProps>(\n\t({ onClear, onDownload, file, className, renderDescription, ...props }, ref) => {\n\t\tconst styles = fileUploadItemStyles();\n\n\t\treturn (\n\t\t\t<div className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<div className={styles.infoWrapper()}>\n\t\t\t\t\t<FileUploadIcon file={file} />\n\n\t\t\t\t\t<div className={styles.textWrapper()}>\n\t\t\t\t\t\t<TextOverflowTooltip className={styles.title()}>{file.name}</TextOverflowTooltip>\n\t\t\t\t\t\t<p className={styles.description()}>{renderDescription?.(file) ?? formatBytes(file.size)}</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className={styles.actionWrapper()}>\n\t\t\t\t\t{onDownload && (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ticon={Download}\n\t\t\t\t\t\t\tonClick={() => onDownload(file)}\n\t\t\t\t\t\t\taria-label=\"Download file\"\n\t\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\ticon={XIcon}\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t\taria-label=\"Remove file\"\n\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadItem.displayName = \"FileUploadItem\";\n","import { Alert, AlertDescription, AlertIcon } from \"@/components/alert\";\nimport { AlertCircleIcon } from \"lucide-react\";\nimport React from \"react\";\n\nexport type FileUploadErrorProps = React.HTMLAttributes<HTMLDivElement> & {\n\terror: string | string[];\n};\n\nexport const FileUploadError = React.forwardRef<HTMLDivElement, FileUploadErrorProps>(({ error, ...props }, ref) => {\n\tconst errorText = Array.isArray(error) ? error.join(\"\\n\") : error;\n\treturn (\n\t\t<Alert status=\"error\" focus=\"medium\" {...props} ref={ref}>\n\t\t\t<AlertIcon icon={AlertCircleIcon} />\n\t\t\t<AlertDescription className=\"whitespace-pre-line\">{errorText}</AlertDescription>\n\t\t</Alert>\n\t);\n});\n\nFileUploadError.displayName = \"FileUploadError\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FeatureIcon } from \"@/components/icon\";\nimport { FeatureIconProps } from \"@/components/icon/feature-icon/FeatureIcon\";\n\nconst fileUploadDropAreaIconStyles = tv({\n\tbase: \"shrink-0 bg-status-neutral-fg\"\n});\n\nexport const FileUploadDropAreaIcon: React.FC<FeatureIconProps> = ({ icon, className, ...props }) => {\n\treturn <FeatureIcon size=\"xl\" icon={icon} className={fileUploadDropAreaIconStyles({ className })} {...props} />;\n};\n\nFileUploadDropAreaIcon.displayName = \"FileUploadDropAreaIcon\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadDropAreaIcon } from \"../file-upload-drop-area-icon/FileUploadDropAreaIcon\";\nimport { LucideIcon, Upload } from \"lucide-react\";\n\nconst fileUploadDropAreaStyles = tv({\n\tslots: {\n\t\twrapper: [\n\t\t\t\"has-[:disabled]:pointer-events-none has-[:disabled]:opacity-50\",\n\t\t\t\"relative flex min-h-[9.125rem] flex-col items-center justify-center rounded-xl border border-dashed border-primary-border bg-secondary-bg p-6 transition-colors\",\n\t\t\t\"hover:bg-secondary-bg-hover\",\n\t\t\t\"has-[input:focus]:shadow-focus\",\n\t\t\t\"data-[dragging=true]:bg-secondary-bg-hover\"\n\t\t],\n\t\ttitle: \"mb-1.5 text-sm font-medium text-primary-accent\",\n\t\ticon: \"mb-3 size-11\",\n\t\tdescription: \"flex flex-wrap justify-center gap-1 text-xs text-muted\"\n\t}\n});\n\nexport type FileUploadDropAreaProps = React.HTMLAttributes<HTMLDivElement> & {\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\ticon?: LucideIcon;\n};\n\nexport const FileUploadDropArea = React.forwardRef<HTMLDivElement, FileUploadDropAreaProps>(\n\t(\n\t\t{\n\t\t\tclassName,\n\t\t\ttitle = \"Click to upload or drop your files here \",\n\t\t\tdescription = \"All files\\n∙\\nInfinity files\\n∙\\nInfinity size\",\n\t\t\ticon,\n\t\t\tchildren,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst styles = fileUploadDropAreaStyles();\n\n\t\treturn (\n\t\t\t<div role=\"button\" className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<FileUploadDropAreaIcon icon={icon || Upload} className={styles.icon()} />\n\t\t\t\t<p className={styles.title()}>{title}</p>\n\t\t\t\t{description && <p className={styles.description()}>{description}</p>}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadDropArea.displayName = \"FileUploadDropArea\";\n","import React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadDropAreaIcon } from \"../file-upload-drop-area-icon/FileUploadDropAreaIcon\";\nimport { LucideIcon, Upload } from \"lucide-react\";\n\nconst fileUploadInlineDropAreaStyles = tv({\n\tslots: {\n\t\twrapper: [\n\t\t\t\"has-[:disabled]:pointer-events-none has-[:disabled]:opacity-50\",\n\t\t\t\"relative flex h-11 items-center rounded-lg border border-dashed border-primary-border bg-secondary-bg p-1.5 transition-colors\",\n\t\t\t\"hover:bg-secondary-bg-hover\",\n\t\t\t\"has-[input:focus]:shadow-focus\",\n\t\t\t\"data-[dragging=true]:bg-secondary-bg-hover\"\n\t\t],\n\t\ticon: \"mr-3\",\n\t\ttitle: \"text-sm font-medium text-primary-accent\",\n\t\tdescription: \"ml-1.5 flex flex-wrap justify-center gap-1.5 text-xs text-muted\"\n\t}\n});\n\nexport type FileUploadInlineDropAreaProps = React.HTMLAttributes<HTMLDivElement> & {\n\ttitle?: React.ReactNode;\n\tdescription?: React.ReactNode;\n\ticon?: LucideIcon;\n};\n\nexport const FileUploadInlineDropArea = React.forwardRef<HTMLDivElement, FileUploadInlineDropAreaProps>(\n\t(\n\t\t{ className, title = \"Upload files\", description = \"Drag & drop or click to browse\", icon, children, ...props },\n\t\tref\n\t) => {\n\t\tconst styles = fileUploadInlineDropAreaStyles();\n\n\t\treturn (\n\t\t\t<div role=\"button\" className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<FileUploadDropAreaIcon icon={icon || Upload} className={styles.icon()} size=\"sm\" />\n\t\t\t\t<div className=\"flex items-baseline\">\n\t\t\t\t\t<p className={styles.title()}>{title}</p>\n\t\t\t\t\t{description && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<span className=\"ml-1.5 text-muted\">∙</span>\n\t\t\t\t\t\t\t<p className={styles.description()}>{description}</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadInlineDropArea.displayName = \"FileUploadInlineDropArea\";\n","import { Button, ButtonProps } from \"../../../button\";\n\n/**\n * Кнопка для удаления всех файлов в компоненте загрузки файлов\n */\nexport type FileUploadClearButtonProps = ButtonProps;\n\nexport const FileUploadClearButton = ({ children = \"Remove all files\", ...props }: FileUploadClearButtonProps) => {\n\treturn (\n\t\t<Button size=\"sm\" variant=\"outline\" type=\"button\" {...props}>\n\t\t\t{children}\n\t\t</Button>\n\t);\n};\n\nFileUploadClearButton.displayName = \"FileUploadClearButton\";\n","import { FileUploadActions } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { FileUploadTexts } from \"../../FileUpload\";\nimport { FileUploadDropArea } from \"../file-upload-drop-area/FileUploadDropArea\";\n\nexport type FileUploadInputZoneProps = Omit<FileUploadTexts, \"removeBtnText\"> &\n\tPick<\n\t\tFileUploadActions,\n\t\t\"openFileDialog\" | \"handleDragEnter\" | \"handleDragLeave\" | \"handleDragOver\" | \"handleDrop\" | \"getInputProps\"\n\t> & {\n\t\tisDragging?: boolean;\n\t};\n\nexport const FileUploadInputZone = ({\n\tisDragging,\n\tgetInputProps,\n\topenFileDialog,\n\thandleDragEnter,\n\thandleDragLeave,\n\thandleDragOver,\n\thandleDrop,\n\ttitle,\n\tdescription\n}: FileUploadInputZoneProps) => {\n\treturn (\n\t\t<FileUploadDropArea\n\t\t\tonClick={openFileDialog}\n\t\t\tonDragEnter={handleDragEnter}\n\t\t\tonDragLeave={handleDragLeave}\n\t\t\tonDragOver={handleDragOver}\n\t\t\tonDrop={handleDrop}\n\t\t\tdata-dragging={isDragging || undefined}\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t>\n\t\t\t<input className=\"sr-only\" aria-label=\"Upload files\" {...getInputProps()} />\n\t\t</FileUploadDropArea>\n\t);\n};\n\nFileUploadInputZone.displayName = \"FileUploadInputZone\";\n","import { FileUploadActions } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { FileUploadTexts } from \"../../FileUpload\";\nimport { FileUploadInlineDropArea } from \"../file-upload-inline-drop-area/FileUploadInlineDropArea\";\n\nexport type FileUploadCompactInputZoneProps = Omit<FileUploadTexts, \"removeBtnText\" | \"helpText\"> &\n\tPick<\n\t\tFileUploadActions,\n\t\t\"openFileDialog\" | \"handleDragEnter\" | \"handleDragLeave\" | \"handleDragOver\" | \"handleDrop\" | \"getInputProps\"\n\t> & {\n\t\tisDragging?: boolean;\n\t};\n\nexport const FileUploadCompactInputZone = ({\n\tisDragging,\n\tgetInputProps,\n\topenFileDialog,\n\thandleDragEnter,\n\thandleDragLeave,\n\thandleDragOver,\n\thandleDrop,\n\ttitle,\n\tdescription\n}: FileUploadCompactInputZoneProps) => {\n\treturn (\n\t\t<FileUploadInlineDropArea\n\t\t\tonClick={openFileDialog}\n\t\t\tonDragEnter={handleDragEnter}\n\t\t\tonDragLeave={handleDragLeave}\n\t\t\tonDragOver={handleDragOver}\n\t\t\tonDrop={handleDrop}\n\t\t\tdata-dragging={isDragging || undefined}\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t>\n\t\t\t<input className=\"sr-only\" aria-label=\"Upload files\" {...getInputProps()} />\n\t\t</FileUploadInlineDropArea>\n\t);\n};\n\nFileUploadCompactInputZone.displayName = \"FileUploadCompactInputZone\";\n","import { IconButton } from \"@/components/button\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\nimport { formatBytes } from \"@/lib/utils/file/formatBytes\";\nimport { Download, XIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { useFileType } from \"@/hooks/useFileType\";\nimport { Icon } from \"@/components/icon\";\nimport { TextOverflowTooltip } from \"@/components/overflow-tooltip\";\n\nconst fileUploadItemCompactStyles = tv({\n\tslots: {\n\t\twrapper:\n\t\t\t\"box-border flex h-10 items-center gap-2 rounded-lg border border-secondary-border bg-background p-2.5 pr-1\",\n\t\ticon: \"text-muted\",\n\t\tinfoWrapper: \"flex w-full items-center overflow-hidden\",\n\t\ttextWrapper: \"flex w-full items-center justify-between\",\n\t\ttitle: \"truncate text-sm font-medium\",\n\t\tdescription: \"text-sm tabular-nums text-muted\",\n\t\tactionWrapper: \"ml-auto flex items-center -space-x-1.5\"\n\t}\n});\n\nexport type FileUploadItemCompactProps = React.HTMLAttributes<HTMLDivElement> & {\n\tonClear: () => void;\n\tfile: FileData;\n\trenderIcon?: React.ReactNode;\n\tonDownload?: (file: FileData) => void;\n\trenderDescription?: (file: FileData) => React.ReactNode;\n};\n\nexport const FileUploadItemCompact = React.forwardRef<HTMLDivElement, FileUploadItemCompactProps>(\n\t({ onClear, file, className, renderIcon, onDownload, renderDescription, ...props }, ref) => {\n\t\tconst styles = fileUploadItemCompactStyles();\n\t\tconst IconComponent = useFileType(file);\n\n\t\treturn (\n\t\t\t<div className=\"relative\">\n\t\t\t\t<div className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t\t{renderIcon ?? (\n\t\t\t\t\t\t<div className=\"size-5\">\n\t\t\t\t\t\t\t<Icon icon={IconComponent} size=\"lg\" className={styles.icon()} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className={styles.infoWrapper()}>\n\t\t\t\t\t\t<div className={styles.textWrapper()}>\n\t\t\t\t\t\t\t<TextOverflowTooltip className={styles.title()}>{file.name}</TextOverflowTooltip>\n\t\t\t\t\t\t\t<p className={styles.description()}>{renderDescription?.(file) ?? formatBytes(file.size)}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className={styles.actionWrapper()}>\n\t\t\t\t\t\t{onDownload && (\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\ticon={Download}\n\t\t\t\t\t\t\t\tonClick={() => onDownload(file)}\n\t\t\t\t\t\t\t\taria-label=\"Download file\"\n\t\t\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ticon={XIcon}\n\t\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t\t\taria-label=\"Remove file\"\n\t\t\t\t\t\t\ticonClassName=\"size-4\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n\nFileUploadItemCompact.displayName = \"FileUploadItemCompact\";\n","import {\n\tFileData,\n\tFileMetadata,\n\tFileUploadConstraints,\n\tFileValue,\n\tuseFileUpload\n} from \"@/hooks/use-file-upload/useFileUpload\";\nimport { useCallback, useMemo } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadClearButton } from \"./components/file-upload-clear-button/FileUploadClearButton\";\nimport { FileUploadError } from \"./components/file-upload-error/FileUploadError\";\nimport { FileUploadInputZone } from \"./components/file-upload-input-zone/FileUploadInputZone\";\nimport { FileUploadItem } from \"./components/file-upload-item/FileUploadItem\";\nimport { FileUploadErrorMessages } from \"@/hooks/use-file-upload\";\n\nconst fileUploadStyles = tv({\n\tbase: \"flex flex-col gap-3\"\n});\n\nexport type FileUploadTexts = {\n\ttitle?: string;\n\tdescription?: string;\n\thelpText?: string;\n\tremoveBtnText?: string;\n};\n\nexport type FileUploadBaseProps = FileUploadConstraints & FileUploadTexts;\n\nexport type FileUploadProps = FileUploadBaseProps & {\n\tfiles?: FileValue[];\n\tonChange?: (files: FileValue[]) => void;\n\tonRemove?: (file: FileValue, index: number) => void;\n\tonAdd?: (files: FileValue[]) => void;\n\tonClear?: () => void;\n\tonDownload?: (file: FileData) => void;\n\n\tinitialFiles?: FileMetadata[];\n\tclassName?: string;\n\terrorMessages?: Partial<FileUploadErrorMessages>;\n\trenderItemDescription?: (file: FileValue) => React.ReactNode;\n};\n\nexport const FileUpload = (props: FileUploadProps) => {\n\tconst {\n\t\tfiles,\n\t\tonRemove,\n\t\tonAdd,\n\t\tonClear,\n\t\tonDownload,\n\t\tinitialFiles,\n\t\tonChange,\n\t\tclassName,\n\t\ttitle,\n\t\tdescription,\n\t\thelpText,\n\t\tremoveBtnText,\n\t\terrorMessages,\n\t\tmultiple = true,\n\t\trenderItemDescription,\n\t\t...constraints\n\t} = props;\n\tconst [{ files: stateFiles, isDragging, errors }, actions] = useFileUpload({\n\t\t...constraints,\n\t\tinitialFiles,\n\t\tmultiple,\n\t\terrorMessages,\n\t\tonFilesChange: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonChange?.(files);\n\t\t},\n\t\tonFilesAdded: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonAdd?.(files);\n\t\t}\n\t});\n\n\tconst actualFiles = useMemo(() => {\n\t\treturn files || stateFiles.map((file) => file.file);\n\t}, [files, stateFiles]);\n\n\tconst handleClearAll = useCallback(() => {\n\t\tactions.clearFiles();\n\t\tonClear?.();\n\t}, [actions, onClear]);\n\n\tconst handleRemoveFile = useCallback(\n\t\t(file: FileValue, index: number) => {\n\t\t\tconst fileId = stateFiles.find((f) => f.file.name === file.name && f.file.size === file.size)?.id;\n\t\t\tif (fileId) actions.removeFile(fileId);\n\t\t\tonRemove?.(file, index);\n\t\t},\n\t\t[stateFiles, actions, onRemove]\n\t);\n\n\treturn (\n\t\t<div className={fileUploadStyles({ className })}>\n\t\t\t<FileUploadInputZone\n\t\t\t\t{...actions}\n\t\t\t\tisDragging={isDragging}\n\t\t\t\ttitle={title}\n\t\t\t\tdescription={description}\n\t\t\t\thelpText={helpText}\n\t\t\t/>\n\n\t\t\t{errors.length > 0 && <FileUploadError error={errors} />}\n\n\t\t\t{actualFiles.length > 0 && (\n\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t{actualFiles.map((file, index) => (\n\t\t\t\t\t\t<FileUploadItem\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\tonClear={() => handleRemoveFile(file, index)}\n\t\t\t\t\t\t\tonDownload={onDownload}\n\t\t\t\t\t\t\trenderDescription={renderItemDescription}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{actualFiles.length > 1 && (\n\t\t\t\t\t\t<FileUploadClearButton onClick={handleClearAll}>{removeBtnText}</FileUploadClearButton>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nFileUpload.displayName = \"FileUpload\";\n","import { FileMetadata, FileValue, useFileUpload, type FileUploadErrorMessages } from \"@/hooks/use-file-upload\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { tv } from \"tailwind-variants\";\nimport { FileUploadBaseProps } from \"../FileUpload\";\nimport { FileUploadItemCompact } from \"../components/file-upload-item-compact/FileUploadItemCompact\";\nimport { FileUploadError } from \"../components/file-upload-error/FileUploadError\";\nimport { FileUploadCompactInputZone } from \"../components/file-upload-compact-input-zone/FileUploadCompactInputZone\";\nimport { FileData } from \"@/hooks/use-file-upload/useFileUpload\";\n\nconst fileUploadStyles = tv({\n\tbase: \"box-border flex flex-col gap-2\"\n});\n\nexport type FileUploadCompactProps = Omit<FileUploadBaseProps, \"removeBtnText\" | \"helpText\"> & {\n\tfiles?: FileValue[];\n\tonChange?: (files: FileValue[]) => void;\n\tonRemove?: (file: FileValue, index: number) => void;\n\tonAdd?: (files: FileValue[]) => void;\n\tonDownload?: (file: FileData) => void;\n\tinitialFiles?: FileMetadata[];\n\tclassName?: string;\n\terrorMessages?: Partial<FileUploadErrorMessages>;\n\trenderFileIcon?: (file: FileValue) => React.ReactNode;\n\trenderItemDescription?: (file: FileValue) => React.ReactNode;\n};\n\nexport const FileUploadCompact = (props: FileUploadCompactProps) => {\n\tconst {\n\t\tfiles,\n\t\tonRemove,\n\t\tonDownload,\n\t\tonAdd,\n\t\tinitialFiles,\n\t\tonChange,\n\t\tclassName,\n\t\ttitle,\n\t\tdescription,\n\t\tmultiple = true,\n\t\terrorMessages,\n\t\trenderFileIcon,\n\t\trenderItemDescription,\n\t\t...constraints\n\t} = props;\n\tconst [{ files: stateFiles, isDragging, errors }, actions] = useFileUpload({\n\t\t...constraints,\n\t\tinitialFiles,\n\t\tmultiple,\n\t\terrorMessages,\n\t\tonFilesChange: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonChange?.(files);\n\t\t},\n\t\tonFilesAdded: (filesWithPreview) => {\n\t\t\tconst files = filesWithPreview.map((file) => file.file);\n\t\t\tonAdd?.(files);\n\t\t}\n\t});\n\n\tconst actualFiles = useMemo(() => {\n\t\treturn files || stateFiles.map((file) => file.file);\n\t}, [files, stateFiles]);\n\n\tconst handleRemoveFile = useCallback(\n\t\t(file: FileValue, index: number) => {\n\t\t\tconst fileId = stateFiles.find((f) => f.file.name === file.name && f.file.size === file.size)?.id;\n\t\t\tif (fileId) actions.removeFile(fileId);\n\t\t\tonRemove?.(file, index);\n\t\t},\n\t\t[stateFiles, actions, onRemove]\n\t);\n\n\treturn (\n\t\t<div className={fileUploadStyles({ className })}>\n\t\t\t<FileUploadCompactInputZone {...actions} isDragging={isDragging} title={title} description={description} />\n\n\t\t\t{errors.length > 0 && <FileUploadError error={errors} />}\n\n\t\t\t{actualFiles.length > 0 && (\n\t\t\t\t<div>\n\t\t\t\t\t{actualFiles.map((file, index) => {\n\t\t\t\t\t\tconst isFirst = index === 0;\n\t\t\t\t\t\tconst isOnly = actualFiles.length === 1;\n\t\t\t\t\t\tconst isLast = index === actualFiles.length - 1;\n\n\t\t\t\t\t\tlet itemClassName = \"\";\n\t\t\t\t\t\tif (isOnly) {\n\t\t\t\t\t\t\titemClassName = \"\";\n\t\t\t\t\t\t} else if (isFirst) {\n\t\t\t\t\t\t\titemClassName = \"border-b-0 rounded-b-none\";\n\t\t\t\t\t\t} else if (isLast) {\n\t\t\t\t\t\t\titemClassName = \"rounded-t-none\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titemClassName = \"border-b-0 rounded-none\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FileUploadItemCompact\n\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\t\tonClear={() => handleRemoveFile(file, index)}\n\t\t\t\t\t\t\t\tclassName={itemClassName}\n\t\t\t\t\t\t\t\trenderIcon={renderFileIcon?.(file)}\n\t\t\t\t\t\t\t\trenderDescription={renderItemDescription}\n\t\t\t\t\t\t\t\tonDownload={onDownload}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nFileUploadCompact.displayName = \"FileUploadCompact\";\n"],"names":["FileArchive","createLucideIcon","FileSpreadsheet","FileText","File","Headphones","Upload","Video","useFileType","file","fileType","fileName","FileTextIcon","FileArchiveIcon","FileSpreadsheetIcon","VideoIcon","HeadphonesIcon","ImageIcon","FileIcon","fileIconStyles","tv","FileUploadIcon","IconComponent","jsx","FeatureIcon","fileUploadItemStyles","FileUploadItem","React","onClear","onDownload","className","renderDescription","props","ref","styles","jsxs","TextOverflowTooltip","formatBytes","IconButton","Download","XIcon","FileUploadError","error","errorText","Alert","AlertIcon","AlertCircleIcon","AlertDescription","fileUploadDropAreaIconStyles","FileUploadDropAreaIcon","icon","fileUploadDropAreaStyles","FileUploadDropArea","title","description","children","fileUploadInlineDropAreaStyles","FileUploadInlineDropArea","Fragment","FileUploadClearButton","Button","FileUploadInputZone","isDragging","getInputProps","openFileDialog","handleDragEnter","handleDragLeave","handleDragOver","handleDrop","FileUploadCompactInputZone","fileUploadItemCompactStyles","FileUploadItemCompact","renderIcon","Icon","fileUploadStyles","FileUpload","files","onRemove","onAdd","initialFiles","onChange","helpText","removeBtnText","errorMessages","multiple","renderItemDescription","constraints","stateFiles","errors","actions","useFileUpload","filesWithPreview","actualFiles","useMemo","handleClearAll","useCallback","handleRemoveFile","index","fileId","f","FileUploadCompact","renderFileIcon","isFirst","isOnly","isLast","itemClassName"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { ResizableCornerIcon } from './ResizableCornerIcon';
|
|
3
|
+
declare const meta: Meta<typeof ResizableCornerIcon>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof ResizableCornerIcon>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const InTextarea: Story;
|