Files
metabuilder/codegen/src/components/json-definitions/action-button.json
johndoe6345789 a51130a127 feat: Add external low-code and postgres repositories
- codegen: Low-code React app with JSON-driven component system
- packagerepo: Schema-driven package repository with backend/frontend
- postgres: Next.js app with Drizzle ORM and PostgreSQL

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 16:48:52 +00:00

113 lines
3.0 KiB
JSON

{
"id": "action-button-root",
"type": "div",
"props": {
"className": "inline-flex"
},
"conditional": {
"if": "tooltip",
"then": {
"id": "action-button-with-tooltip",
"type": "div",
"children": [
{
"id": "action-button-tooltip-provider",
"type": "TooltipProvider",
"children": [
{
"id": "action-button-tooltip",
"type": "Tooltip",
"children": [
{
"id": "action-button-trigger",
"type": "TooltipTrigger",
"props": {
"asChild": true
},
"children": [
{
"id": "action-button-element",
"type": "Button",
"props": {
"disabled": "disabled",
"className": "className"
},
"bindings": {
"variant": "variant",
"size": "size"
},
"children": [
{
"id": "action-button-icon",
"type": "span",
"props": {
"className": "mr-2"
},
"bindings": {
"children": "icon"
},
"conditional": {
"if": "icon"
}
},
{
"id": "action-button-label",
"type": "span",
"bindings": {
"children": "label"
}
}
]
}
]
},
{
"id": "action-button-tooltip-content",
"type": "TooltipContent",
"bindings": {
"children": "tooltip"
}
}
]
}
]
}
]
},
"else": {
"id": "action-button-direct",
"type": "Button",
"props": {
"disabled": "disabled",
"className": "className"
},
"bindings": {
"variant": "variant",
"size": "size"
},
"children": [
{
"id": "action-button-icon-direct",
"type": "span",
"props": {
"className": "mr-2"
},
"bindings": {
"children": "icon"
},
"conditional": {
"if": "icon"
}
},
{
"id": "action-button-label-direct",
"type": "span",
"bindings": {
"children": "label"
}
}
]
}
}
}