46 lines
1.4 KiB
TypeScript
46 lines
1.4 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 { TextareaBasicWrapper } from "./TextareaBasicComponent";
|
|
import { InvFieldConfigPanel } from "@/components/v2/config-panels/InvFieldConfigPanel";
|
|
import { TextareaBasicConfig } from "./types";
|
|
|
|
/**
|
|
* TextareaBasic 컴포넌트 정의
|
|
* textarea-basic 컴포넌트입니다
|
|
*/
|
|
export const TextareaBasicDefinition = createComponentDefinition({
|
|
id: "textarea-basic",
|
|
name: "텍스트 영역",
|
|
name_eng: "TextareaBasic Component",
|
|
description: "여러 줄 텍스트 입력을 위한 텍스트 영역 컴포넌트",
|
|
category: ComponentCategory.INPUT,
|
|
web_type: "textarea",
|
|
component: TextareaBasicWrapper,
|
|
default_config: {
|
|
kind: "input",
|
|
type: "text",
|
|
format: "free",
|
|
placeholder: "내용을 입력하세요",
|
|
rows: 3,
|
|
maxLength: 1000,
|
|
},
|
|
default_size: { width: 400, height: 100 },
|
|
config_panel: InvFieldConfigPanel,
|
|
icon: "Edit",
|
|
tags: [],
|
|
version: "1.0.0",
|
|
author: "개발팀",
|
|
documentation: "https://docs.example.com/components/textarea-basic",
|
|
});
|
|
|
|
// 타입 내보내기
|
|
export type { TextareaBasicConfig } from "./types";
|
|
|
|
// 컴포넌트 내보내기
|
|
export { TextareaBasicComponent } from "./TextareaBasicComponent";
|
|
export { TextareaBasicRenderer } from "./TextareaBasicRenderer";
|