-
Notifications
You must be signed in to change notification settings - Fork 471
ease-dropdown — Animated CSS-only dropdown menu component #630
Copy link
Copy link
Closed
Labels
GSSoC-26Official GSSoC 2026 issueOfficial GSSoC 2026 issueacceptedContribution approved for integration into EaseMotion CSSContribution approved for integration into EaseMotion CSSanimationAnimation effects, hover interactions, motion ideas, transitionsAnimation effects, hover interactions, motion ideas, transitionscomponentNew UI components (buttons, cards, modals, tooltips, badges)New UI components (buttons, cards, modals, tooltips, badges)enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersgssoc:approvedApproved for GSSoC contributionsApproved for GSSoC contributionshelp wantedExtra attention neededExtra attention neededlevel:intermediateRequires moderate project understandingRequires moderate project understandingtype:featureNew functionality or enhancementNew functionality or enhancement
Metadata
Metadata
Assignees
Labels
GSSoC-26Official GSSoC 2026 issueOfficial GSSoC 2026 issueacceptedContribution approved for integration into EaseMotion CSSContribution approved for integration into EaseMotion CSSanimationAnimation effects, hover interactions, motion ideas, transitionsAnimation effects, hover interactions, motion ideas, transitionscomponentNew UI components (buttons, cards, modals, tooltips, badges)New UI components (buttons, cards, modals, tooltips, badges)enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersgssoc:approvedApproved for GSSoC contributionsApproved for GSSoC contributionshelp wantedExtra attention neededExtra attention neededlevel:intermediateRequires moderate project understandingRequires moderate project understandingtype:featureNew functionality or enhancementNew functionality or enhancement
Feature Name
ease-dropdown— Animated CSS-only dropdown menu componentDescription
A floating dropdown menu that opens on
:focus-withinor a checkbox toggle — no JavaScript required. The menu panel entrance usesopacity 0 → 1combined withtransform: scaleY(0.95) → scaleY(1)withtransform-origin: top, giving it a natural top-down unfold feel. Closes automatically when focus leaves the trigger. All timing references existing--ease-speed-*and--ease-ease-*tokens.Why is this useful for EaseMotion CSS?
EaseMotion CSS has buttons, cards, accordions, badges, and a stepper — but no navigation-level dropdown component. The VISION.md roadmap explicitly lists "Navigation components (navbar, sidebar)" as Planned v1.3, meaning this directly accelerates a planned milestone.
The key distinction from
ease-accordion(the closest existing component) is fundamental:ease-accordionexpands inline, pushing content downward, used for FAQs and content sectionsease-dropdownfloats above the document flow viaposition: absolute, used for navigation menus, action menus, and select-style pickersThey solve different layout problems. This submission fills the navigation gap in the component library using only
:focus-withinand CSS transitions — composable with existingease-btntrigger andease-cardsurface tokens.HTML Snippet
CSS Snippet
Visual Reference
Trigger button with a rotating chevron arrow. On focus: menu panel scales in from top with a subtle fade — matching the same motion language as
ease-card-hoverandease-slide-downalready in the framework. On blur: panel fades out automatically. Demo will show three variants — navigation menu, action menu, and a right-aligned menu.Checklist
submissions/examples/only — not incore/orcomponents/