{ "id": "admin-table", "name": "AdminTable", "kind": "component", "status": "draft-stable", "summary": "Admin data table shell used for services, clients, users, groups, invites, sync, and audit.", "sourceRefs": [ { "project": "nodedc_launcher", "file": "src/widgets/admin-overlay/AdminOverlay.tsx", "functions": ["ServicesSection", "ClientsSection", "UsersSection", "GroupsSection", "InvitesSection", "SyncSection", "AuditSection"] }, { "project": "nodedc_launcher", "file": "src/styles/globals.css", "classes": ["table-shell", "admin-data-table", "services-admin-table", "admin-table-input"] } ], "anatomy": [ "table-shell glass surface", "table-toolbar", "thead labels", "tbody rows", "inline editable cells", "StatusControl cells", "NodeDcDateField cells", "CircleActionButton action cells" ], "visualContract": { "background": "same family as inactive admin nav row, not a foreign panel", "fontSize": "0.82rem table; compact labels 0.66rem", "cellVerticalAlign": "middle", "rowAction": "circular edit button at right" }, "rules": [ "Create action is a solid circular plus, not a wide text CTA.", "Inline editable cells use transparent input surfaces that brighten on hover/focus.", "Status cells use StatusControl.", "Date cells use CalendarPopover through NodeDcDateField.", "Drag handles move full rows, not detached ghosts." ] }