mirror of
https://github.com/johndoe6345789/low-code-react-app-b.git
synced 2026-05-06 19:39:36 +00:00
f05f896a67
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>
33 lines
792 B
TypeScript
33 lines
792 B
TypeScript
import { Button } from '@/components/ui/button'
|
|
import { forwardRef } from 'react'
|
|
|
|
interface IconButtonProps {
|
|
icon: React.ReactNode
|
|
onClick?: () => void
|
|
disabled?: boolean
|
|
variant?: 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive'
|
|
size?: 'default' | 'sm' | 'lg' | 'icon'
|
|
title?: string
|
|
className?: string
|
|
}
|
|
|
|
export const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
({ icon, onClick, disabled, variant = 'ghost', size = 'icon', title, className }, ref) => {
|
|
return (
|
|
<Button
|
|
ref={ref}
|
|
variant={variant}
|
|
size={size}
|
|
onClick={onClick}
|
|
disabled={disabled}
|
|
title={title}
|
|
className={className}
|
|
>
|
|
{icon}
|
|
</Button>
|
|
)
|
|
}
|
|
)
|
|
|
|
IconButton.displayName = 'IconButton'
|