diff --git a/json-components-registry.json b/json-components-registry.json index dcbfc95..5ef0916 100644 --- a/json-components-registry.json +++ b/json-components-registry.json @@ -31,20 +31,6 @@ "icons": [] }, "components": [ - { - "type": "accordion", - "name": "accordion", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Accordion", "name": "Accordion", @@ -101,20 +87,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "alert", - "name": "alert", - "category": "feedback", - "canHaveChildren": true, - "description": "Feedback and status component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Alert", "name": "Alert", @@ -158,6 +130,22 @@ "jsonCompatible": true, "deleteOldTSX": true }, + { + "type": "AppBranding", + "name": "AppBranding", + "category": "display", + "canHaveChildren": false, + "description": "Application branding component with logo and name", + "status": "supported", + "source": "molecules", + "jsonCompatible": true, + "deleteOldTSX": true + }, + { + "type": "AppDialogs", + "source": "app", + "jsonCompatible": true + }, { "type": "AppHeader", "name": "AppHeader", @@ -169,6 +157,11 @@ "jsonCompatible": true, "deleteOldTSX": true }, + { + "type": "AppLayout", + "source": "app", + "jsonCompatible": true + }, { "type": "AppLogo", "name": "AppLogo", @@ -180,6 +173,16 @@ "jsonCompatible": true, "deleteOldTSX": true }, + { + "type": "AppMainPanel", + "source": "app", + "jsonCompatible": true + }, + { + "type": "AppRouterLayout", + "source": "app", + "jsonCompatible": true + }, { "type": "ArrowLeft", "name": "ArrowLeft", @@ -204,29 +207,6 @@ "export": "ArrowRight" } }, - { - "type": "article", - "name": "article", - "category": "layout", - "canHaveChildren": true, - "description": "Semantic article container", - "status": "supported", - "source": "primitive" - }, - { - "type": "aspect-ratio", - "name": "aspect-ratio", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "AspectRatio", "name": "AspectRatio", @@ -254,20 +234,6 @@ "export": "AtomicLibraryShowcase" } }, - { - "type": "avatar", - "name": "avatar", - "category": "data", - "canHaveChildren": true, - "description": "Data display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Avatar", "name": "Avatar", @@ -290,20 +256,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "badge", - "name": "badge", - "category": "feedback", - "canHaveChildren": false, - "description": "Feedback and status component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Badge", "name": "Badge", @@ -362,25 +314,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "breadcrumb", - "name": "breadcrumb", - "category": "navigation", - "canHaveChildren": true, - "description": "Navigation component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Complex logic - needs wrapper" - }, - "load": { - "path": "@/components/ui/breadcrumb", - "export": "breadcrumb" - } - }, { "type": "Breadcrumb", "name": "Breadcrumb", @@ -396,20 +329,6 @@ }, "deleteOldTSX": true }, - { - "type": "button", - "name": "button", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Button", "name": "Button", @@ -478,20 +397,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "buttonVariants", - "name": "buttonVariants", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Calendar", "name": "Calendar", @@ -546,18 +451,15 @@ "deleteOldTSX": true }, { - "type": "card", - "name": "card", - "category": "data", + "type": "CanvasRenderer", + "name": "CanvasRenderer", + "category": "display", "canHaveChildren": true, - "description": "Data display component", + "description": "Canvas renderer for displaying and editing UI components", "status": "supported", - "source": "ui", + "source": "molecules", "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } + "deleteOldTSX": true }, { "type": "Card", @@ -837,20 +739,6 @@ "export": "Check" } }, - { - "type": "checkbox", - "name": "checkbox", - "category": "input", - "canHaveChildren": false, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Checkbox", "name": "Checkbox", @@ -989,18 +877,15 @@ "deleteOldTSX": true }, { - "type": "collapsible", - "name": "collapsible", - "category": "display", - "canHaveChildren": true, - "description": "Display component", + "type": "CodeExplanationDialog", + "name": "CodeExplanationDialog", + "category": "feedback", + "canHaveChildren": false, + "description": "Dialog for displaying AI-generated code explanations", "status": "supported", - "source": "ui", + "source": "molecules", "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } + "deleteOldTSX": true }, { "type": "Collapsible", @@ -1116,6 +1001,17 @@ "jsonCompatible": true, "deleteOldTSX": true }, + { + "type": "ComponentPalette", + "name": "ComponentPalette", + "category": "navigation", + "canHaveChildren": true, + "description": "Component palette with tabs for dragging components to canvas", + "status": "supported", + "source": "molecules", + "jsonCompatible": true, + "deleteOldTSX": true + }, { "type": "ComponentPaletteItem", "name": "ComponentPaletteItem", @@ -1343,6 +1239,17 @@ "jsonCompatible": true, "deleteOldTSX": true }, + { + "type": "DataSourceCard", + "name": "DataSourceCard", + "category": "display", + "canHaveChildren": false, + "description": "Card component displaying a data source with edit/delete actions", + "status": "supported", + "source": "molecules", + "jsonCompatible": true, + "deleteOldTSX": true + }, { "type": "DataSourceEditorDialog", "name": "DataSourceEditorDialog", @@ -1409,25 +1316,6 @@ "source": "atoms", "deleteOldTSX": true }, - { - "type": "dialog", - "name": "dialog", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Complex logic - needs wrapper" - }, - "load": { - "path": "@/components/ui/dialog", - "export": "dialog" - } - }, { "type": "Dialog", "name": "Dialog", @@ -1480,15 +1368,6 @@ "autoGenerated": true } }, - { - "type": "div", - "name": "div", - "category": "layout", - "canHaveChildren": true, - "description": "Generic block container", - "status": "supported", - "source": "primitive" - }, { "type": "Divider", "name": "Divider", @@ -1557,25 +1436,6 @@ "export": "Download" } }, - { - "type": "drawer", - "name": "drawer", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Complex logic - needs wrapper" - }, - "load": { - "path": "@/components/ui/drawer", - "export": "drawer" - } - }, { "type": "Drawer", "name": "Drawer", @@ -1850,15 +1710,6 @@ "source": "atoms", "deleteOldTSX": true }, - { - "type": "footer", - "name": "footer", - "category": "layout", - "canHaveChildren": true, - "description": "Semantic footer container", - "status": "supported", - "source": "primitive" - }, { "type": "Form", "name": "Form", @@ -1884,6 +1735,11 @@ "autoGenerated": true } }, + { + "type": "FormField", + "jsonCompatible": true, + "source": "atoms" + }, { "type": "GitHubBuildStatus", "name": "GitHubBuildStatus", @@ -1929,15 +1785,6 @@ "source": "atoms", "deleteOldTSX": true }, - { - "type": "header", - "name": "header", - "category": "layout", - "canHaveChildren": true, - "description": "Semantic header container", - "status": "supported", - "source": "primitive" - }, { "type": "Heading", "name": "Heading", @@ -1995,20 +1842,6 @@ "export": "House" } }, - { - "type": "hover-card", - "name": "hover-card", - "category": "data", - "canHaveChildren": true, - "description": "Data display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "HoverCard", "name": "HoverCard", @@ -2118,20 +1951,6 @@ "source": "atoms", "deleteOldTSX": true }, - { - "type": "input", - "name": "input", - "category": "input", - "canHaveChildren": false, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Input", "name": "Input", @@ -2142,23 +1961,9 @@ "source": "atoms" }, { - "type": "input-otp", - "name": "input-otp", - "category": "input", - "canHaveChildren": false, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Contains hooks - needs wrapper" - }, - "load": { - "path": "@/components/ui/input-otp", - "export": "input-otp" - } + "type": "InputOTP", + "jsonCompatible": true, + "source": "atoms" }, { "type": "InputOtp", @@ -2253,20 +2058,6 @@ "status": "supported", "source": "atoms" }, - { - "type": "label", - "name": "label", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Label", "name": "Label", @@ -2474,15 +2265,6 @@ "export": "Envelope" } }, - { - "type": "main", - "name": "main", - "category": "layout", - "canHaveChildren": true, - "description": "Semantic main container", - "status": "supported", - "source": "primitive" - }, { "type": "Menu", "name": "Menu", @@ -2635,6 +2417,24 @@ "status": "supported", "source": "atoms" }, + { + "type": "PWASettings", + "name": "PWASettings", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "custom", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + }, + "load": { + "path": "@/components/PWASettings", + "export": "PWASettings" + } + }, { "type": "PageHeader", "name": "PageHeader", @@ -2733,20 +2533,6 @@ "export": "Plus" } }, - { - "type": "popover", - "name": "popover", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Popover", "name": "Popover", @@ -2770,20 +2556,6 @@ "autoGenerated": true } }, - { - "type": "progress", - "name": "progress", - "category": "feedback", - "canHaveChildren": false, - "description": "Feedback and status component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Progress", "name": "Progress", @@ -2853,24 +2625,6 @@ "source": "atoms", "jsonCompatible": true }, - { - "type": "PWASettings", - "name": "PWASettings", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "custom", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - }, - "load": { - "path": "@/components/PWASettings", - "export": "PWASettings" - } - }, { "type": "QuickActionButton", "name": "QuickActionButton", @@ -2891,20 +2645,6 @@ "source": "atoms", "jsonCompatible": true }, - { - "type": "radio-group", - "name": "radio-group", - "category": "input", - "canHaveChildren": false, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "RadioGroup", "name": "RadioGroup", @@ -2947,20 +2687,6 @@ "export": "ArrowClockwise" } }, - { - "type": "resizable", - "name": "resizable", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Resizable", "name": "Resizable", @@ -3113,20 +2839,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "scroll-area", - "name": "scroll-area", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "ScrollArea", "name": "ScrollArea", @@ -3181,15 +2893,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "section", - "name": "section", - "category": "layout", - "canHaveChildren": true, - "description": "Semantic section container", - "status": "supported", - "source": "primitive" - }, { "type": "Section", "name": "Section", @@ -3245,20 +2948,6 @@ "source": "atoms", "jsonCompatible": true }, - { - "type": "separator", - "name": "separator", - "category": "display", - "canHaveChildren": false, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Separator", "name": "Separator", @@ -3308,25 +2997,6 @@ "export": "ShareNetwork" } }, - { - "type": "sheet", - "name": "sheet", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Complex logic - needs wrapper" - }, - "load": { - "path": "@/components/ui/sheet", - "export": "sheet" - } - }, { "type": "Sheet", "name": "Sheet", @@ -3359,20 +3029,6 @@ "autoGenerated": true } }, - { - "type": "skeleton", - "name": "skeleton", - "category": "feedback", - "canHaveChildren": true, - "description": "Feedback and status component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Skeleton", "name": "Skeleton", @@ -3384,25 +3040,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "slider", - "name": "slider", - "category": "input", - "canHaveChildren": false, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Contains hooks - needs wrapper" - }, - "load": { - "path": "@/components/ui/slider", - "export": "slider" - } - }, { "type": "Slider", "name": "Slider", @@ -3418,25 +3055,6 @@ }, "deleteOldTSX": true }, - { - "type": "sonner", - "name": "sonner", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Contains hooks - needs wrapper" - }, - "load": { - "path": "@/components/ui/sonner", - "export": "sonner" - } - }, { "type": "Sonner", "name": "Sonner", @@ -3611,20 +3229,6 @@ "export": "StyleDesigner" } }, - { - "type": "switch", - "name": "switch", - "category": "input", - "canHaveChildren": false, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Switch", "name": "Switch", @@ -3668,25 +3272,6 @@ "autoGenerated": true } }, - { - "type": "table", - "name": "table", - "category": "navigation", - "canHaveChildren": true, - "description": "Navigation component", - "status": "supported", - "source": "ui", - "jsonCompatible": false, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true, - "notes": "Complex logic - needs wrapper" - }, - "load": { - "path": "@/components/ui/table", - "export": "table" - } - }, { "type": "Table", "name": "Table", @@ -3761,20 +3346,6 @@ "status": "supported", "source": "ui" }, - { - "type": "tabs", - "name": "tabs", - "category": "navigation", - "canHaveChildren": true, - "description": "Navigation component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Tabs", "name": "Tabs", @@ -3897,29 +3468,6 @@ "source": "atoms", "deleteOldTSX": true }, - { - "type": "textarea", - "name": "textarea", - "category": "input", - "canHaveChildren": true, - "description": "Form input component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, - { - "type": "Textarea", - "name": "Textarea", - "category": "display", - "canHaveChildren": true, - "description": "Textarea component", - "status": "supported", - "source": "ui" - }, { "type": "TextArea", "name": "TextArea", @@ -3969,6 +3517,15 @@ }, "deleteOldTSX": true }, + { + "type": "Textarea", + "name": "Textarea", + "category": "display", + "canHaveChildren": true, + "description": "Textarea component", + "status": "supported", + "source": "ui" + }, { "type": "Timeline", "name": "Timeline", @@ -4013,20 +3570,6 @@ "autoGenerated": true } }, - { - "type": "toggle", - "name": "toggle", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Toggle", "name": "Toggle", @@ -4051,20 +3594,6 @@ "status": "supported", "source": "ui" }, - { - "type": "toggleVariants", - "name": "toggleVariants", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "ToolbarActions", "name": "ToolbarActions", @@ -4087,20 +3616,6 @@ "jsonCompatible": true, "deleteOldTSX": true }, - { - "type": "tooltip", - "name": "tooltip", - "category": "display", - "canHaveChildren": true, - "description": "Display component", - "status": "supported", - "source": "ui", - "jsonCompatible": true, - "metadata": { - "conversionDate": "2026-01-18", - "autoGenerated": true - } - }, { "type": "Tooltip", "name": "Tooltip", @@ -4259,34 +3774,172 @@ } }, { - "type": "AppLayout", - "source": "app", - "jsonCompatible": true + "type": "accordion", + "name": "accordion", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } }, { - "type": "AppRouterLayout", - "source": "app", - "jsonCompatible": true + "type": "alert", + "name": "alert", + "category": "feedback", + "canHaveChildren": true, + "description": "Feedback and status component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } }, { - "type": "AppMainPanel", - "source": "app", - "jsonCompatible": true + "type": "article", + "name": "article", + "category": "layout", + "canHaveChildren": true, + "description": "Semantic article container", + "status": "supported", + "source": "primitive" }, { - "type": "AppDialogs", - "source": "app", - "jsonCompatible": true + "type": "aspect-ratio", + "name": "aspect-ratio", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } }, { - "type": "single", - "source": "layouts", - "jsonCompatible": true + "type": "avatar", + "name": "avatar", + "category": "data", + "canHaveChildren": true, + "description": "Data display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } }, { - "type": "kv", - "source": "dataSources", - "jsonCompatible": true + "type": "badge", + "name": "badge", + "category": "feedback", + "canHaveChildren": false, + "description": "Feedback and status component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "breadcrumb", + "name": "breadcrumb", + "category": "navigation", + "canHaveChildren": true, + "description": "Navigation component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Complex logic - needs wrapper" + }, + "load": { + "path": "@/components/ui/breadcrumb", + "export": "breadcrumb" + } + }, + { + "type": "button", + "name": "button", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "buttonVariants", + "name": "buttonVariants", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "card", + "name": "card", + "category": "data", + "canHaveChildren": true, + "description": "Data display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "checkbox", + "name": "checkbox", + "category": "input", + "canHaveChildren": false, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "collapsible", + "name": "collapsible", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } }, { "type": "create", @@ -4298,94 +3951,432 @@ "source": "actions", "jsonCompatible": true }, + { + "type": "dialog", + "name": "dialog", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Complex logic - needs wrapper" + }, + "load": { + "path": "@/components/ui/dialog", + "export": "dialog" + } + }, + { + "type": "div", + "name": "div", + "category": "layout", + "canHaveChildren": true, + "description": "Generic block container", + "status": "supported", + "source": "primitive" + }, + { + "type": "drawer", + "name": "drawer", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Complex logic - needs wrapper" + }, + "load": { + "path": "@/components/ui/drawer", + "export": "drawer" + } + }, + { + "type": "footer", + "name": "footer", + "category": "layout", + "canHaveChildren": true, + "description": "Semantic footer container", + "status": "supported", + "source": "primitive" + }, + { + "type": "header", + "name": "header", + "category": "layout", + "canHaveChildren": true, + "description": "Semantic header container", + "status": "supported", + "source": "primitive" + }, + { + "type": "hover-card", + "name": "hover-card", + "category": "data", + "canHaveChildren": true, + "description": "Data display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "input", + "name": "input", + "category": "input", + "canHaveChildren": false, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "input-otp", + "name": "input-otp", + "category": "input", + "canHaveChildren": false, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Contains hooks - needs wrapper" + }, + "load": { + "path": "@/components/ui/input-otp", + "export": "input-otp" + } + }, + { + "type": "kv", + "source": "dataSources", + "jsonCompatible": true + }, + { + "type": "label", + "name": "label", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "main", + "name": "main", + "category": "layout", + "canHaveChildren": true, + "description": "Semantic main container", + "status": "supported", + "source": "primitive" + }, { "type": "navigate", "source": "actions", "jsonCompatible": true }, { - "type": "update", - "source": "actions", + "type": "popover", + "name": "popover", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "progress", + "name": "progress", + "category": "feedback", + "canHaveChildren": false, + "description": "Feedback and status component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "radio-group", + "name": "radio-group", + "category": "input", + "canHaveChildren": false, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "resizable", + "name": "resizable", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "scroll-area", + "name": "scroll-area", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "section", + "name": "section", + "category": "layout", + "canHaveChildren": true, + "description": "Semantic section container", + "status": "supported", + "source": "primitive" + }, + { + "type": "separator", + "name": "separator", + "category": "display", + "canHaveChildren": false, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "sheet", + "name": "sheet", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Complex logic - needs wrapper" + }, + "load": { + "path": "@/components/ui/sheet", + "export": "sheet" + } + }, + { + "type": "single", + "source": "layouts", "jsonCompatible": true }, { - "type": "AppBranding", - "name": "AppBranding", - "category": "display", - "canHaveChildren": false, - "description": "Application branding component with logo and name", - "status": "supported", - "source": "molecules", - "jsonCompatible": true, - "deleteOldTSX": true - }, - { - "type": "DataSourceCard", - "name": "DataSourceCard", - "category": "display", - "canHaveChildren": false, - "description": "Card component displaying a data source with edit/delete actions", - "status": "supported", - "source": "molecules", - "jsonCompatible": true, - "deleteOldTSX": true - }, - { - "type": "CodeExplanationDialog", - "name": "CodeExplanationDialog", + "type": "skeleton", + "name": "skeleton", "category": "feedback", - "canHaveChildren": false, - "description": "Dialog for displaying AI-generated code explanations", + "canHaveChildren": true, + "description": "Feedback and status component", "status": "supported", - "source": "molecules", + "source": "ui", "jsonCompatible": true, - "deleteOldTSX": true + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } }, { - "type": "ComponentPalette", - "name": "ComponentPalette", + "type": "slider", + "name": "slider", + "category": "input", + "canHaveChildren": false, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Contains hooks - needs wrapper" + }, + "load": { + "path": "@/components/ui/slider", + "export": "slider" + } + }, + { + "type": "sonner", + "name": "sonner", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Contains hooks - needs wrapper" + }, + "load": { + "path": "@/components/ui/sonner", + "export": "sonner" + } + }, + { + "type": "switch", + "name": "switch", + "category": "input", + "canHaveChildren": false, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "table", + "name": "table", "category": "navigation", "canHaveChildren": true, - "description": "Component palette with tabs for dragging components to canvas", + "description": "Navigation component", "status": "supported", - "source": "molecules", - "jsonCompatible": true, - "deleteOldTSX": true + "source": "ui", + "jsonCompatible": false, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true, + "notes": "Complex logic - needs wrapper" + }, + "load": { + "path": "@/components/ui/table", + "export": "table" + } }, { - "type": "CanvasRenderer", - "name": "CanvasRenderer", + "type": "tabs", + "name": "tabs", + "category": "navigation", + "canHaveChildren": true, + "description": "Navigation component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "textarea", + "name": "textarea", + "category": "input", + "canHaveChildren": true, + "description": "Form input component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "toggle", + "name": "toggle", "category": "display", "canHaveChildren": true, - "description": "Canvas renderer for displaying and editing UI components", + "description": "Display component", "status": "supported", - "source": "molecules", + "source": "ui", "jsonCompatible": true, - "deleteOldTSX": true + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "toggleVariants", + "name": "toggleVariants", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "tooltip", + "name": "tooltip", + "category": "display", + "canHaveChildren": true, + "description": "Display component", + "status": "supported", + "source": "ui", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-18", + "autoGenerated": true + } + }, + { + "type": "update", + "source": "actions", + "jsonCompatible": true } ], "statistics": { - "total": 347, - "supported": 334, - "jsonCompatible": 124, - "byCategory": { - "display": 109, - "custom": 67, - "input": 36, - "layout": 45, - "feedback": 27, - "data": 41, - "navigation": 22 - }, - "bySource": { - "ui": 65, - "atoms": 142, - "molecules": 50, - "icons": 38, - "organisms": 16, - "primitive": 6, - "custom": 20, - "wrappers": 10 - } + "total": 360, + "jsonCompatible": 204, + "coverage": "57%" } -} \ No newline at end of file +} diff --git a/src/lib/json-ui/interfaces/index.ts b/src/lib/json-ui/interfaces/index.ts index 9f8c352..1bb9469 100644 --- a/src/lib/json-ui/interfaces/index.ts +++ b/src/lib/json-ui/interfaces/index.ts @@ -126,3 +126,5 @@ export * from './empty-canvas-state' export * from './schema-code-viewer' export * from './toolbar-actions' export * from './app-header' +export * from './loading-screen' +export * from './sparkle' diff --git a/src/lib/json-ui/json-components.ts b/src/lib/json-ui/json-components.ts index db969a9..21ecf63 100644 --- a/src/lib/json-ui/json-components.ts +++ b/src/lib/json-ui/json-components.ts @@ -205,7 +205,6 @@ import formDef from '@/components/json-definitions/form.json' import glowCardDef from '@/components/json-definitions/glow-card.json' import helperTextDef from '@/components/json-definitions/helper-text.json' import dropdownMenuDef from '@/components/json-definitions/dropdown-menu.json' -import formDef from '@/components/json-definitions/form.json' import formFieldDef from '@/components/json-definitions/form-field.json' import headingDef from '@/components/json-definitions/heading.json' import hoverCardDef from '@/components/json-definitions/hover-card.json' diff --git a/src/types/json-ui-component-types.ts b/src/types/json-ui-component-types.ts index 6b527f4..bd86456 100644 --- a/src/types/json-ui-component-types.ts +++ b/src/types/json-ui-component-types.ts @@ -2,47 +2,41 @@ // Do not edit this file directly. export const jsonUIComponentTypes = [ - "accordion", "Accordion", "ActionBar", "ActionButton", "ActionCard", "ActionIcon", - "alert", "Alert", "AlertCircle", "AlertDialog", "AppBranding", + "AppDialogs", "AppHeader", + "AppLayout", "AppLogo", + "AppMainPanel", + "AppRouterLayout", "ArrowLeft", "ArrowRight", - "article", - "aspect-ratio", "AspectRatio", "AtomicLibraryShowcase", - "avatar", "Avatar", "AvatarGroup", - "badge", "Badge", "Badge as ShadcnBadge", "Bell", "BindingEditor", "BindingIndicator", - "breadcrumb", "Breadcrumb", - "button", "Button", "Button as ShadcnButton, ButtonProps as ShadcnButtonProps", "Button, ButtonProps", "Button, buttonVariants", "ButtonGroup", - "buttonVariants", "Calendar", "Calendar as ShadcnCalendar", "CanvasRenderer", - "card", "Card", "Card, CardContent", "Card, CardContent, CardDescription, CardHeader, CardTitle", @@ -56,7 +50,6 @@ export const jsonUIComponentTypes = [ "Carousel", "Chart", "Check", - "checkbox", "Checkbox", "ChevronDown", "ChevronLeft", @@ -68,7 +61,6 @@ export const jsonUIComponentTypes = [ "Code", "CodeEditor", "CodeExplanationDialog", - "collapsible", "Collapsible", "CollapsibleTrigger", "ColorSwatch", @@ -103,17 +95,14 @@ export const jsonUIComponentTypes = [ "DataTable", "DatePicker", "DetailRow", - "dialog", "Dialog", "Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,", "Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle", - "div", "Divider", "DockerBuildDebugger", "DocumentationView", "Dot", "Download", - "drawer", "Drawer", "DropdownMenu", "Edit", @@ -137,20 +126,18 @@ export const jsonUIComponentTypes = [ "Filter", "FilterInput", "Flex", - "footer", "Form", "Form as ShadcnForm,\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,", + "FormField", "GitHubBuildStatus", "GitHubBuildStatusWrapper", "GlowCard", "Grid", - "header", "Heading", "Heart", "HelpCircle", "HelperText", "Home", - "hover-card", "HoverCard", "HoverCard as ShadcnHoverCard,\n HoverCardContent,\n HoverCardTrigger,", "Icon", @@ -161,9 +148,8 @@ export const jsonUIComponentTypes = [ "Info", "InfoBox", "InfoPanel", - "input", "Input", - "input-otp", + "InputOTP", "InputOtp", "JSONComponentTreeManager", "JSONLambdaDesigner", @@ -171,7 +157,6 @@ export const jsonUIComponentTypes = [ "JSONUIShowcase", "Kbd", "KeyValue", - "label", "Label", "LabelWithBadge", "LazyBarChart", @@ -190,7 +175,6 @@ export const jsonUIComponentTypes = [ "LoadingSpinner", "LoadingState", "Mail", - "main", "Menu", "Menubar", "MetricCard", @@ -205,6 +189,7 @@ export const jsonUIComponentTypes = [ "NavigationMenu", "Notification", "NumberInput", + "PWASettings", "PageHeader", "PageHeaderContent", "Pagination", @@ -213,25 +198,20 @@ export const jsonUIComponentTypes = [ "PersistenceDashboard", "PersistenceExample", "Plus", - "popover", "Popover", "Popover, PopoverContent, PopoverTrigger", - "progress", "Progress", "ProgressBar", "ProjectDashboard", "PropertyEditor", "PropertyEditorField", "Pulse", - "PWASettings", "QuickActionButton", "Radio", - "radio-group", "RadioGroup", "RangeSlider", "Rating", "RefreshCw", - "resizable", "Resizable", "ResponsiveGrid", "SassStylesShowcase", @@ -245,32 +225,25 @@ export const jsonUIComponentTypes = [ "SchemaEditorSidebar", "SchemaEditorStatusBar", "SchemaEditorToolbar", - "scroll-area", "ScrollArea", "ScrollAreaThumb", "Search", "SearchBar", "SearchInput", - "section", "Section", "SeedDataManager", "SeedDataManagerWrapper", "SeedDataStatus", "Select", - "separator", "Separator", "Separator as ShadcnSeparator", "Settings", "Share", - "sheet", "Sheet", "Sidebar", "SidebarTrigger", - "skeleton", "Skeleton", - "slider", "Slider", - "sonner", "Sonner", "Spacer", "Sparkle", @@ -285,11 +258,9 @@ export const jsonUIComponentTypes = [ "StorageSettings", "StorageSettingsWrapper", "StyleDesigner", - "switch", "Switch", "Switch as ShadcnSwitch", "TabIcon", - "table", "Table", "Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,", "TableBody", @@ -297,7 +268,6 @@ export const jsonUIComponentTypes = [ "TableHead", "TableHeader", "TableRow", - "tabs", "Tabs", "Tabs, TabsContent, TabsList, TabsTrigger", "TabsContent", @@ -305,21 +275,17 @@ export const jsonUIComponentTypes = [ "TabsTrigger", "Tag", "Text", - "textarea", - "Textarea", "TextArea", "TextGradient", "TextHighlight", + "Textarea", "Timeline", "Timestamp", "TipsCard", - "toggle", "Toggle", "ToggleGroup", - "toggleVariants", "ToolbarActions", "ToolbarButton", - "tooltip", "Tooltip", "Tooltip as TooltipPrimitive,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,", "Tooltip, TooltipContent, TooltipProvider, TooltipTrigger", @@ -333,15 +299,51 @@ export const jsonUIComponentTypes = [ "Upload", "User", "X", - "AppLayout", - "AppRouterLayout", - "AppMainPanel", - "AppDialogs", - "single", - "kv", + "accordion", + "alert", + "article", + "aspect-ratio", + "avatar", + "badge", + "breadcrumb", + "button", + "buttonVariants", + "card", + "checkbox", + "collapsible", "create", "delete", + "dialog", + "div", + "drawer", + "footer", + "header", + "hover-card", + "input", + "input-otp", + "kv", + "label", + "main", "navigate", + "popover", + "progress", + "radio-group", + "resizable", + "scroll-area", + "section", + "separator", + "sheet", + "single", + "skeleton", + "slider", + "sonner", + "switch", + "table", + "tabs", + "textarea", + "toggle", + "toggleVariants", + "tooltip", "update", ] as const