mirror of
https://github.com/johndoe6345789/low-code-react-app-b.git
synced 2026-04-24 13:44:54 +00:00
Completed JSON migration for 6 atomic components: - Breadcrumb: Navigation breadcrumb with configurable items - Button: Interactive button with icons, loading, and full width support - Calendar: Date picker using shadcn/ui Calendar - Card: Container with variants (default, bordered, elevated, flat) and padding options - Checkbox: Checkbox control with indeterminate state and size variants - ContextMenu: Right-click context menu with nested submenu support Changes: - Created interface definitions in src/lib/json-ui/interfaces/ - Created JSON definitions in src/components/json-definitions/ - Exported all components from src/lib/json-ui/json-components.ts - Updated json-components-registry.json with conversion metadata - All components are pure stateless JSON (no hooks required) - Build verified successful with no new TypeScript errors Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
87 lines
2.0 KiB
JSON
87 lines
2.0 KiB
JSON
{
|
|
"id": "drawer-root",
|
|
"type": "Drawer",
|
|
"bindings": {
|
|
"open": "data.open",
|
|
"onOpenChange": "handlers.handleOpenChange",
|
|
"direction": "data.direction || 'right'"
|
|
},
|
|
"children": [
|
|
{
|
|
"id": "drawer-trigger",
|
|
"type": "DrawerTrigger",
|
|
"bindings": {
|
|
"asChild": true
|
|
},
|
|
"children": [
|
|
{
|
|
"id": "drawer-trigger-content",
|
|
"type": "slot",
|
|
"slot": "trigger",
|
|
"defaultContent": {
|
|
"id": "trigger-button",
|
|
"type": "Button",
|
|
"bindings": {
|
|
"children": "data.triggerLabel || 'Open'"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "drawer-content",
|
|
"type": "DrawerContent",
|
|
"children": [
|
|
{
|
|
"id": "drawer-header",
|
|
"type": "DrawerHeader",
|
|
"children": [
|
|
{
|
|
"id": "drawer-title",
|
|
"type": "DrawerTitle",
|
|
"bindings": {
|
|
"children": "data.title"
|
|
}
|
|
},
|
|
{
|
|
"id": "drawer-description",
|
|
"type": "DrawerDescription",
|
|
"bindings": {
|
|
"children": "data.description"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "drawer-body",
|
|
"type": "slot",
|
|
"slot": "children"
|
|
},
|
|
{
|
|
"id": "drawer-footer",
|
|
"type": "DrawerFooter",
|
|
"children": [
|
|
{
|
|
"id": "drawer-close-button",
|
|
"type": "Button",
|
|
"bindings": {
|
|
"variant": "outline",
|
|
"children": "data.cancelLabel || 'Cancel'",
|
|
"onClick": "handlers.handleCancel"
|
|
}
|
|
},
|
|
{
|
|
"id": "drawer-submit-button",
|
|
"type": "Button",
|
|
"bindings": {
|
|
"children": "data.submitLabel || 'Submit'",
|
|
"onClick": "handlers.handleSubmit"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|