47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { createComponentDefinition } from "../../utils/createComponentDefinition";
|
|
import { ComponentCategory } from "@/types/component";
|
|
import type { WebType } from "@/types/screen";
|
|
import { FileUploadComponent } from "./FileUploadComponent";
|
|
import { FileUploadConfigPanel } from "./FileUploadConfigPanel";
|
|
import { FileUploadConfig } from "./types";
|
|
|
|
/**
|
|
* V2 FileUpload 컴포넌트 정의
|
|
* 화면관리 전용 V2 파일 업로드 컴포넌트입니다
|
|
*/
|
|
export const V2FileUploadDefinition = createComponentDefinition({
|
|
id: "v2-file-upload",
|
|
name: "파일 업로드",
|
|
nameEng: "V2 FileUpload Component",
|
|
description: "V2 파일 업로드를 위한 파일 선택 컴포넌트",
|
|
category: ComponentCategory.INPUT,
|
|
webType: "file",
|
|
component: FileUploadComponent,
|
|
defaultConfig: {
|
|
placeholder: "파일을 선택하세요",
|
|
multiple: true,
|
|
accept: "*/*",
|
|
maxSize: 10 * 1024 * 1024, // 10MB
|
|
},
|
|
defaultSize: { width: 350, height: 240 },
|
|
configPanel: FileUploadConfigPanel,
|
|
icon: "Upload",
|
|
tags: ["file", "upload", "attachment", "v2"],
|
|
version: "2.0.0",
|
|
author: "개발팀",
|
|
documentation: "https://docs.example.com/components/v2-file-upload",
|
|
});
|
|
|
|
// 타입 내보내기
|
|
export type { FileUploadConfig, FileInfo, FileUploadProps, FileUploadStatus, FileUploadResponse } from "./types";
|
|
|
|
// 컴포넌트 내보내기
|
|
export { FileUploadComponent } from "./FileUploadComponent";
|
|
export { V2FileUploadRenderer } from "./V2FileUploadRenderer";
|
|
|
|
// 기본 export
|
|
export default V2FileUploadDefinition;
|