mirror of
https://github.com/johndoe6345789/low-code-react-app-b.git
synced 2026-04-24 13:44:54 +00:00
Migration complete for: - 5 atoms: Accordion, CopyButton, FileUpload, FilterInput, Image, Input, PasswordInput, Popover (8 total) - 1 molecule: BindingEditor Changes: - Deleted 9 legacy TSX files that have complete JSON equivalents - Exported BindingEditor from json-components.ts with useBindingEditor hook - Registered useBindingEditor in hooks-registry.ts - Updated all imports across codebase to use JSON-based components - Fixed build errors: schema-loader dynamic import, DataSourceGroupSection - Cleaned up component index exports Build status: ✅ PASSING - 0 TypeScript errors - All 9,408 modules transformed successfully - No blocking build warnings Next steps: - 3 organisms still need conversion: DataSourceManager, NavigationMenu, TreeListPanel - 120+ additional components have TSX versions (need individual migration) - 22 JSON components now available for use throughout the app Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
23 lines
653 B
TypeScript
23 lines
653 B
TypeScript
import { Plus, Pencil, Trash, Copy, Download, Upload } from '@phosphor-icons/react'
|
|
|
|
interface ActionIconProps {
|
|
action: 'add' | 'edit' | 'delete' | 'copy' | 'download' | 'upload'
|
|
size?: number
|
|
weight?: 'thin' | 'light' | 'regular' | 'bold' | 'fill' | 'duotone'
|
|
className?: string
|
|
}
|
|
|
|
export function ActionIcon({ action, size = 16, weight = 'regular', className = '' }: ActionIconProps) {
|
|
const iconMap = {
|
|
add: Plus,
|
|
edit: Pencil,
|
|
delete: Trash,
|
|
copy: Copy,
|
|
download: Download,
|
|
upload: Upload,
|
|
}
|
|
|
|
const IconComponent = iconMap[action]
|
|
return <IconComponent size={size} weight={weight} className={className} />
|
|
}
|