Repository navigation
Components: Generate Interaction Tag #4227
Description
Summary
Deliver InteractionTag as an original reviewed React Native component contract, implementation, public export, and evidence-backed desktop behavior. Parent: #4273.
Current state - 2026-10-02 (UTC)
Observed: Audited against main at 75c55923873124201d2ffbf3b3e67960047bd481. There is no implemented/exported interaction-tag component or colocated contract on main. This generation issue remains open.
Assessment: Ready for contract review.
Observed: #4308 contains an earlier implementation, but was closed without merging on 2026-10-01. Its branch head cbe9a74a44b5467c2b142fecdc2d5d554c083577 is reusable reference work, not delivered code. Reconcile any reused contract, refs, role/accessibility handling, tests, and stories with current main before resubmitting.
Dependencies and next action
Tag, Avatar, Icon, and normal package export wiring are available.
Start with the component's source-backed native contract review. A missing local contract is work to author, not a reason to wait for the completed #4252. Only the named unresolved component/host/product decisions above remain prerequisites; do not carry forward blanket overlay-wave or missing-Fabric blockers.
Component scope
- Model primary action and optional dismiss action as distinct accessible targets with independent handlers.
- Enforce mutually exclusive leading Avatar/icon content in public types.
- Classify dismissal ownership before wiring; verify nested-target hit testing, disabled behavior, focus order, and constrained content.
Non-goals
Do not migrate legacy consumers, add mobile support, copy private/web source prose into the public package, or rewrite unrelated component APIs. Desktop V1 Win32/Windows/macOS behavior is compatibility evidence, not an iOS canonical baseline. Keep shared hosting, icons, and focus ownership in their named tasks.
Delivery and acceptance
- Author an original colocated
SPEC.mdandspec/companions with schema-version-2sources[], requirement IDs, source authority, and explicit native divergences; pass pre-code contract review before implementation. - Implement the typed state/style/render/assembly stages, finite variant axes, optional slots, native root refs, user-prop/style forwarding, and explicit package exports covered by
src/index.test.ts. Preserve React 19 ref props, shared focus policy, theme-only style caching, disabled-over-pressed-over-hovered precedence, and repository source boundaries. - Add runtime and compile-time coverage for public API, every finite axis, optional content, accessibility, disabled state, constrained layout, and each controlled/uncontrolled or externally selected state path.
- Add representative and stress stories with top-level executable
wdiocases. Use the delivered Storybook/native assertion infrastructure (Infrastructure: Add native accessibility assertions and Storybook test support #4255, Infrastructure: Add Storybook end-to-end test pipelines #4256); record actual Windows/macOS results and Win32 compatibility evidence, with capability skips stated rather than counted as passes. - Run owning-workspace format, lint, build, and tests, plus Windows/macOS Storybook bundles; run the root build for changed public types/exports/manifests and add a changeset for package changes. Record a readiness level with its evidence under Components: Component tests for the agentic component library #4216 and Components: Component readiness model and initial assessment #4251.
- Merge the reviewed implementation before closing this generation issue. Source contracts, branch code, successful bundling, or a closed unmerged PR alone do not establish delivered readiness.
Contract review is normal phase-one work, not a missing-ingestion blocker. #4252 is complete; the old specs/<name>/blockers.md records are historical evidence, not live authoring inputs.
Current native qualification limits: #4342 tracks all-skipped WDIO selections being reported as passed; inspect executed cases rather than aggregate success. #4343, #4346, and #4347 retain full accessibility, native state projection, and focus-regression qualification. #4344 tracks native catalog crash exclusions, and #4349 tracks qualifying/promoting required CI. These are evidence/readiness gates, not a claim that delivered test infrastructure or every component behavior is missing.
Evidence
packages/agentic/components/spec-source-lock.jsonandpackages/agentic/components/SPEC-SOURCE.md.packages/agentic/components/src/components/AGENTS.mdandpackages/agentic/components/src/index.ts.- Shared focus/activation work Fix desktop focus management and accessibility action handling #4314; native Fabric FocusZone focus-zone: start of fabric implementations for both macos and windows #4199 / Components: Complete the Fabric FocusZone for macOS and Windows #4217 and traversal repair Fix FocusZone Shift+Tab traversal from first-child containers #4320 / Possible FocusZone logic error #4317.
Evidence reflects this repository snapshot; the checked-in candidate drift report is dated 2026-08-31 and is not a fresh upstream audit.
Activity
[-]Generate Interaction Tag[/-][+]Components: Generate Interaction Tag[/+]