"use client"; import React from "react"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Separator } from "@/components/ui/separator"; import { LayoutRow } from "@/types/grid-system"; import { GapPreset, GAP_PRESETS } from "@/lib/constants/columnSpans"; import { Rows, AlignHorizontalJustifyCenter, AlignVerticalJustifyCenter } from "lucide-react"; interface RowSettingsPanelProps { row: LayoutRow; onUpdateRow: (updates: Partial) => void; } export const RowSettingsPanel: React.FC = ({ row, onUpdateRow }) => { return (
{/* 헤더 */}

행 설정

#{row.rowIndex + 1}
{/* 높이 설정 */}
{/* 고정 높이 입력 */} {row.height === "fixed" && (
onUpdateRow({ fixedHeight: parseInt(e.target.value) })} className="mt-1" placeholder="100" min={50} max={1000} step="1" />
)} {/* 최소 높이 입력 */} {row.height === "min" && (
onUpdateRow({ minHeight: parseInt(e.target.value) })} className="mt-1" placeholder="50" min={0} max={1000} step="1" />
)} {/* 최대 높이 입력 */} {row.height === "max" && (
onUpdateRow({ maxHeight: parseInt(e.target.value) })} className="mt-1" placeholder="500" min={0} max={2000} step="1" />
)}
{/* 간격 설정 */}
{(Object.keys(GAP_PRESETS) as GapPreset[]).map((preset) => ( ))}

현재: {GAP_PRESETS[row.gap].pixels}

{/* 패딩 설정 */}
{(Object.keys(GAP_PRESETS) as GapPreset[]).map((preset) => ( ))}

현재: {GAP_PRESETS[row.padding].pixels}

{/* 수평 정렬 */}
{/* 수직 정렬 */}
{/* 배경색 */}
onUpdateRow({ backgroundColor: e.target.value })} className="h-10 w-20 cursor-pointer p-1" /> onUpdateRow({ backgroundColor: e.target.value })} placeholder="#ffffff" className="flex-1" /> {row.backgroundColor && ( )}
); };