/** * 左侧组件面板 * 显示可拖拽的表单组件列表 */ import React from 'react'; import { useDraggable } from '@dnd-kit/core'; import { CSS } from '@dnd-kit/utilities'; import { Collapse, Typography } from 'antd'; import type { ComponentMeta } from '../config'; import { getComponentsByCategory } from '../config'; import '../styles.css'; const { Panel } = Collapse; const { Text } = Typography; // 可拖拽组件项 const DraggableComponent: React.FC<{ component: ComponentMeta }> = ({ component }) => { const { attributes, listeners, setNodeRef, transform } = useDraggable({ id: `new-${component.type}`, data: { type: component.type, isNew: true, }, }); const style = { transform: CSS.Translate.toString(transform), cursor: 'move', }; const Icon = component.icon; return (