--- id: NL-SPEC-38AED50A type: spec title: Nuguland popup interaction language --- # Nuguland popup interaction language Follow-up: [UI/UX repair contract](ux-repair.md) and [repair progress with evidence](repair-progress.md). ## Behavior - Every registered popup uses one common outer surface. - Matching UI roles use common sections, cards, buttons, toggles, separators, sliders, badges, and text fields. - Controls visibly distinguish hover, press, focus, selected or toggled, and disabled states. - Status is never communicated by color alone. - Cards provide large targets, visible status, and optional secondary detail. - Spacing and common regions provide grouping; dividers separate only unrelated groups. - All UI labels are lowercase. - Tray cards expose all nonempty documented metadata. - Tray left click activates, or opens the menu for menu-only items. - Tray right click opens an available native menu; middle click invokes secondary activation. - The launcher has no decorative bottom stripe. - Audio cards have no exposed left accent sliver. ## Constraints - Service APIs remain stable except for specified notification and tray routes. - iwd remains the single Wi-Fi row and write authority. - No lockscreen, bar, palette, or dependency redesign is included. - Bespoke data visualization may remain bespoke. - Shared controls are keyboard accessible and expose appropriate accessibility roles and names. ## Acceptance - DND, toast dismissal, Wi-Fi refresh and interaction, and all three tray pointer routes behave as specified. - Every registered popup uses the common surface and matching shared controls. - All popup labels are lowercase. - The full popup test suite and zero-warning lint gate pass.