Home Widget Slot Host
Component Detail
Description
A slot-based container widget that areas register their home widgets against at startup. Queries the module registry at mount time, filters to enabled areas for the current role, and renders the registered widget factories in declaration order. Ensures all slot containers enforce WCAG 2.2 AA minimum touch target sizing.
home-widget-slot-host
Sources & reasoning
The slot host decouples area modules from the home screen layout, allowing any area to register its widget without modifying home screen code. This is the mechanism that prevents hardcoded org branches - new modules register slots at startup and are mounted or skipped based purely on the enabled set.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Provide the registration surface for area home widget factories
- Filter registered widgets to the current tenant enabled module set
- Render widget slots for the active role in correct order
- Enforce minimum 24x24px touch targets on all slot containers
Interfaces
registerSlot(areaId: String, role: Role, factory: WidgetFactory) → void
getSlotsForRole(role: Role, enabledModules: Set<String>) → List<Widget>
build(BuildContext) → Widget
Relationships
Related Data Entities (1)
Data entities managed by this component