Files
low-code-react-app-b/src/components/json-definitions/error-panel-empty-state.json
johndoe6345789 788109dfe3 feat: migrate shadcn/ui components to JSON wrapper definitions (Phase 8)
Implemented JSON wrappers for 29 key shadcn/ui components, enabling
JSON-based configuration for commonly-used library components. These
stay as TSX internally but are now JSON-compatible.

Components migrated:
- Button: ShadcnButton
- Badge: ShadcnBadge
- Card family: ShadcnCard, ShadcnCardHeader, ShadcnCardTitle, ShadcnCardContent
- Form inputs: ShadcnLabel, ShadcnInput, ShadcnTextarea, ShadcnCheckbox, ShadcnSwitch
- Separator: ShadcnSeparator
- ScrollArea: ShadcnScrollArea
- Tabs family: ShadcnTabs, ShadcnTabsList, ShadcnTabsTrigger, ShadcnTabsContent
- Dialog family: ShadcnDialog, ShadcnDialogContent, ShadcnDialogHeader, ShadcnDialogTitle
- Select family: ShadcnSelect, ShadcnSelectTrigger, ShadcnSelectContent, ShadcnSelectItem
- Slider: ShadcnSlider
- Tooltip family: ShadcnTooltip, ShadcnTooltipTrigger, ShadcnTooltipContent

Files created:
- 14 TypeScript interface files in src/lib/json-ui/interfaces/
- 29 JSON definition files in src/components/json-definitions/

Updated exports in:
- src/lib/json-ui/json-components.ts (29 new components)
- src/lib/json-ui/interfaces/index.ts (14 new interfaces)

Build: ✓ PASSED
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-21 04:07:03 +00:00

34 lines
763 B
JSON

{
"id": "error-panel-empty-state-container",
"type": "ConditionalRender",
"condition": "isScanning",
"then": {
"type": "EmptyState",
"icon": {
"type": "Icon",
"name": "Lightning",
"size": 48,
"weight": "duotone",
"className": "text-accent animate-pulse"
},
"bindings": {
"title": { "source": "scanningTitle" },
"description": { "source": "scanningDescription" }
}
},
"else": {
"type": "EmptyState",
"icon": {
"type": "Icon",
"name": "CheckCircle",
"size": 48,
"weight": "duotone",
"className": "text-green-500"
},
"bindings": {
"title": { "source": "noIssuesTitle" },
"description": { "source": "noIssuesDescription" }
}
}
}