Skip to content

[UPDATE] Move Popover to primitives #306

Description

@egdev6

Task: Move Popover to primitives

Category

component

Team

Squad 1

Milestone

V1

Reference

Scope

Move Popover from atoms to primitives as an overlay foundation, preserving the Radix compound API and DatePicker dependency behavior.

Out of scope:

  • Changing DatePicker behavior, Popover API shape, or moving Tooltip in the same PR.

Current workflow

  • Issue triaged with Team and Category fields set on the Project board, and GitHub milestone assigned.
  • Specification or plan recorded in this issue when behavior, API, accessibility, or tokens are affected.
  • Validated spec reviewed and linked issue labeled status:approved before implementation starts.
  • Assignee ownership checked before START WORK; if assigned to someone else, explicit reassignment permission documented.
  • START WORK completed after label status:approved and assignee gate: assignee set, Project status moved to In progress, branch/worktree recorded.
  • Implementation completed inside the approved scope.
  • Validation evidence recorded in the PR or issue.
  • PR opened and linked with Closes #NNN.
  • PR merged or maintainer explicitly approved closure.
  • END WORK completed: completion evidence added and Project status moved to Done.

Specification or plan

  • Move Popover into primitives.
  • Update root export and story taxonomy.
  • Update DatePicker/internal imports.
  • Preserve compound API and portal behavior.

Accessibility impact

  • Pattern or standard: native / Radix / WAI-ARIA APG / WCAG / not applicable, depending on the component.
  • Keyboard impact: preserve current behavior for interactive components.
  • Screen reader impact: preserve roles, names, states, and descriptions.
  • Focus impact: preserve focus behavior where applicable.
  • Contrast or reduced-motion impact: no visual token changes unless explicitly approved.
  • Required accessibility validation: run component-specific accessibility checks when interaction or semantics are touched.

Validation plan

  • targeted Popover tests
  • DatePicker affected tests
  • TypeScript
  • build/package verification when root exports change

Work start state

Filled during START WORK:

  • Approval marker: issue label status:approved
  • Assignee gate: unassigned / assigned to contributor / explicit reassignment permission
  • Assignee:
  • Branch: refactor/306-move-popover-primitives
  • Worktree:
  • Project item ID:
  • Project status: In progress

PR and completion evidence

Filled during PR review or END WORK:

  • PR:
  • Validation evidence:
  • Component audit:
  • Visual review:
  • Follow-up issues:
  • Closure basis: merged PR / explicit maintainer approval

Notes

Created from #224's validated child-issue handoff. Do not implement before START WORK verifies status:approved, assignee ownership, Project state, and branch/worktree.

Resources

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions