"use client"; import React from "react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Checkbox } from "@/components/ui/checkbox"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { TextDisplayConfig } from "./types"; export interface TextDisplayConfigPanelProps { config: TextDisplayConfig; onChange: (config: Partial) => void; } /** * TextDisplay 설정 패널 * 컴포넌트의 설정값들을 편집할 수 있는 UI 제공 */ export const TextDisplayConfigPanel: React.FC = ({ config, onChange, }) => { const handleChange = (key: keyof TextDisplayConfig, value: any) => { onChange({ [key]: value }); }; return (
텍스트 표시 설정
{/* 표시할 텍스트 */}
handleChange("text", e.target.value)} placeholder="표시할 텍스트를 입력하세요" />
{/* 폰트 크기 */}
handleChange("fontSize", e.target.value)} placeholder="14px" />
{/* 폰트 굵기 */}
{/* 텍스트 색상 */}
handleChange("color", e.target.value)} />
{/* 텍스트 정렬 */}
{/* 배경색 */}
handleChange("backgroundColor", e.target.value)} />
{/* 패딩 */}
handleChange("padding", e.target.value)} placeholder="8px" />
{/* 모서리 둥글기 */}
handleChange("borderRadius", e.target.value)} placeholder="4px" />
{/* 테두리 */}
handleChange("border", e.target.value)} placeholder="1px solid #d1d5db" />
{/* 비활성화 */}
handleChange("disabled", checked)} />
); };