## Description

<!-- Brief summary of what this PR does. -->

## Related Issue

<!-- Link to the GitHub issue this PR addresses, e.g., Fixes #123 -->

## Type of Change

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] New element (adds a new UI component)
- [ ] Documentation update
- [ ] Refactor (no functional changes)
- [ ] Tests (adding or updating tests)

## Changes

<!-- List the key changes made in this PR. -->

-

## Checklist

- [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) guide
- [ ] My code follows the element module pattern (`src/<name>/index.js`, `element.js`, `state.js`, `styles.js`)
- [ ] I have added/updated unit tests that cover my changes
- [ ] All tests pass (`npm test`)
- [ ] I have run E2E tests if applicable (`cd e2e && npx playwright test`)
- [ ] The build succeeds (`npm run build`)
- [ ] I have updated documentation if needed
- [ ] I have updated the CHANGELOG if applicable
- [ ] Cleanup functions are registered via `NoJS._onDispose()` for all listeners and timers
- [ ] ARIA attributes and keyboard navigation are implemented
