"use client"; import React, { useState, useEffect } from "react"; import { ConfigPanelProps } from "@/lib/registry/types"; export const ButtonConfigPanel: React.FC = ({ config: initialConfig, onConfigChange }) => { const [localConfig, setLocalConfig] = useState({ label: "버튼", text: "", tooltip: "", variant: "primary", size: "medium", disabled: false, fullWidth: false, ...initialConfig, }); useEffect(() => { setLocalConfig({ label: "버튼", text: "", tooltip: "", variant: "primary", size: "medium", disabled: false, fullWidth: false, ...initialConfig, }); }, [initialConfig]); const updateConfig = (key: string, value: any) => { const newConfig = { ...localConfig, [key]: value }; setLocalConfig(newConfig); onConfigChange(newConfig); }; return (
updateConfig("label", e.target.value)} className="w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:ring-2 focus:ring-blue-500 focus:outline-none" placeholder="버튼에 표시될 텍스트" />
updateConfig("tooltip", e.target.value)} className="w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-blue-500 focus:ring-2 focus:ring-blue-500 focus:outline-none" placeholder="마우스 오버 시 표시될 텍스트" />

미리보기

); };