Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Button: define a pressed/open state for triggers of dropdowns, menus and popovers

Open
#1,372 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 6 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript
Domain
frontend

Research direction

Start by reading the mt-button implementation and its button docs, especially the "States" section; the issue does not name file paths or tests. Then inspect mt-context-button and the mt-popover trigger to understand how open state is represented. Done means all button variants can show a persistent open state, the triggers set the specified ARIA attributes, and the docs and a story cover its use.

Written by the indexing model from the issue text.

Description

package: components
Package(s)

@meteor/component-library

Current Situation

mt-button has no state for a button that stays pressed because it opened something that is still open (dropdown, action menu, popover, toggle). It snaps back to default on pointer release while the menu is still visible.

The --color-interaction-*-pressed tokens exist but are only used by the tertiary variant, and only for :active. There is no aria-expanded / aria-pressed handling, and the button docs do not mention such a state.

Proposed Improvement
  • Add a persistent pressed/open state to mt-button that uses the pressed tokens for all variants and is distinct from hover and focus.
  • Set aria-expanded for menu triggers and aria-pressed for toggles.
  • Let mt-context-button and the mt-popover trigger apply the state automatically while open.
  • Document when to use it in the "States" section of the button docs and add a story.
Dominant language
TypeScript
Stars
37
Forks
24
Avg merge
6d 49m
Merged PRs (30d)
16

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from shopware/meteor

All issues in shopware/meteor

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.