- 파일 정보 조회를 위한 getFileInfo 함수를 추가하여, 파일의 메타데이터를 공개 접근으로 조회할 수 있도록 하였습니다. - 파일 업로드 컴포넌트에서 파일 아이콘 매핑 및 파일 미리보기 기능을 개선하여 사용자 경험을 향상시켰습니다. - V2 파일 업로드 컴포넌트의 설정 패널을 추가하여, 파일 업로드 관련 설정을 보다 쉽게 관리할 수 있도록 하였습니다. - 파일 뷰어 모달을 추가하여 다양한 파일 형식의 미리보기를 지원합니다.
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
"use client";
|
|
|
|
import { FileUploadConfig } from "./types";
|
|
|
|
/**
|
|
* V2 FileUpload 컴포넌트 기본 설정
|
|
*/
|
|
export const V2FileUploadDefaultConfig: FileUploadConfig = {
|
|
placeholder: "파일을 선택하세요",
|
|
multiple: true,
|
|
accept: "*/*",
|
|
maxSize: 10 * 1024 * 1024, // 10MB
|
|
maxFiles: 10,
|
|
|
|
// 공통 기본값
|
|
disabled: false,
|
|
required: false,
|
|
readonly: false,
|
|
variant: "default",
|
|
size: "md",
|
|
|
|
// V2 추가 설정 기본값
|
|
showPreview: true,
|
|
showFileList: true,
|
|
showFileSize: true,
|
|
allowDelete: true,
|
|
allowDownload: true,
|
|
};
|
|
|
|
/**
|
|
* V2 FileUpload 컴포넌트 설정 스키마
|
|
* 유효성 검사 및 타입 체크에 사용
|
|
*/
|
|
export const V2FileUploadConfigSchema = {
|
|
placeholder: { type: "string", default: "파일을 선택하세요" },
|
|
multiple: { type: "boolean", default: true },
|
|
accept: { type: "string", default: "*/*" },
|
|
maxSize: { type: "number", default: 10 * 1024 * 1024 },
|
|
maxFiles: { type: "number", default: 10 },
|
|
|
|
// 공통 스키마
|
|
disabled: { type: "boolean", default: false },
|
|
required: { type: "boolean", default: false },
|
|
readonly: { type: "boolean", default: false },
|
|
variant: {
|
|
type: "enum",
|
|
values: ["default", "outlined", "filled"],
|
|
default: "default"
|
|
},
|
|
size: {
|
|
type: "enum",
|
|
values: ["sm", "md", "lg"],
|
|
default: "md"
|
|
},
|
|
|
|
// V2 추가 설정 스키마
|
|
showPreview: { type: "boolean", default: true },
|
|
showFileList: { type: "boolean", default: true },
|
|
showFileSize: { type: "boolean", default: true },
|
|
allowDelete: { type: "boolean", default: true },
|
|
allowDownload: { type: "boolean", default: true },
|
|
};
|