Skip to content

feat: add popover, dropdown-menu components; update badge, tooltip, s… - #444

Merged
IbrahimIjai merged 2 commits into
SO4-Markets:mainfrom
Darkvader-ship-it:feat/popover-component
Jul 27, 2026
Merged

feat: add popover, dropdown-menu components; update badge, tooltip, s…#444
IbrahimIjai merged 2 commits into
SO4-Markets:mainfrom
Darkvader-ship-it:feat/popover-component

Conversation

@Darkvader-ship-it

Copy link
Copy Markdown
Contributor

closes #410
closes #411
closes #412
closes #413


Dropdown Menu Component – Summary

All checks pass.
packages/ui/src/components/dropdown-menu.tsx — New component with 11 exported parts:

Part Description
DropdownMenu Root element (non-modal, keyboard nav, typeahead built in)
DropdownMenuTrigger Button that opens the menu
DropdownMenuContent Portal + Positioner + Popup, uses bg-popover/shadow-md overlay surface, collision-aware positioning
DropdownMenuItem Interactive item with destructive prop — visually distinct via text-destructive/bg-destructive/10 on highlight, not selected by default
DropdownMenuCheckboxItem Toggle item with checkmark indicator (CheckmarkCircle01Icon)
DropdownMenuRadioGroup Groups radio items with value/onValueChange
DropdownMenuRadioItem Radio item with RadioButtonIcon indicator
DropdownMenuGroup Wrapper for related items
DropdownMenuGroupLabel Accessible group label
DropdownMenuSeparator Visual separator
DropdownMenuShortcut Keyboard shortcut hint (<span> with ml-auto right alignment)

Key Behaviors (covered by Base UI Menu)

  • Full keyboard navigation (arrow keys, Enter, Escape) and typeahead via label prop
  • Destructive items visually distinct but not default
  • Nested content not included (per spec)

Tests

  • 14 tests covering:
    • All exports
    • Item variants (destructive, disabled)
    • Checkbox (checked/unchecked)
    • Radio group selection
    • Positioning

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

@Darkvader-ship-it is attempting to deploy a commit to the Ijai's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 27, 2026

Copy link
Copy Markdown

@Darkvader-ship-it Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

- badge: keep structural size variants with upstream's semantic colors + text-10 token
- tooltip: keep overlay surface tokens (bg-popover/ring) with upstream's comment
- globals: merge all tokens (upstream's success/warning/info + foregrounds, long/short;
  add neutral, danger) and upstream's chart/layout variables
@IbrahimIjai
IbrahimIjai merged commit 5f61206 into SO4-Markets:main Jul 27, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants