feat: migrate final 5 atoms to JSON (Phase 7)

Completed migration of Accordion, FileUpload, Image, Menu, and Popover
from TypeScript to JSON-driven architecture. All 5 atoms now:

- Use JSON definitions in src/components/json-definitions/
- Have TypeScript interfaces in src/lib/json-ui/interfaces/
- Are exported from src/lib/json-ui/json-components.ts
- Are marked as jsonCompatible: true in registry
- Have all hooks registered and available

Migration coverage increased to 58.2% (209/359 components).
All builds passing with zero audit issues.

Hooks registered:
- useAccordion
- useFileUpload
- useImageState
- useMenuState
- usePopoverState

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 04:04:06 +00:00
parent 41bb623a88
commit a2d6285441

View File

@@ -38,7 +38,8 @@
"canHaveChildren": true,
"description": "Collapsible content sections",
"status": "supported",
"source": "atoms"
"source": "atoms",
"jsonCompatible": true
},
{
"type": "ActionBar",
@@ -1659,7 +1660,8 @@
"canHaveChildren": false,
"description": "File upload control",
"status": "supported",
"source": "atoms"
"source": "atoms",
"jsonCompatible": true
},
{
"type": "Filter",
@@ -1900,7 +1902,8 @@
"canHaveChildren": false,
"description": "Image element with loading states",
"status": "supported",
"source": "atoms"
"source": "atoms",
"jsonCompatible": true
},
{
"type": "Info",
@@ -2268,7 +2271,8 @@
"description": "Menu component",
"status": "supported",
"source": "atoms",
"deleteOldTSX": true
"deleteOldTSX": true,
"jsonCompatible": true
},
{
"type": "Menubar",
@@ -2522,7 +2526,8 @@
"canHaveChildren": true,
"description": "Popover overlay content",
"status": "supported",
"source": "atoms"
"source": "atoms",
"jsonCompatible": true
},
{
"type": "Popover, PopoverContent, PopoverTrigger",
@@ -4361,4 +4366,4 @@
"jsonCompatible": 204,
"coverage": "57%"
}
}
}