element-hq / element-hq/element-call
Create generic popover component
- Dominant language
- TypeScript
- Stars
- 996
- Forks
- 213
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 55
Description
The resilience designs call for the following 'popover':
To implement this, a good first step would be to create a generic popover component similar to the [Base UI Popover](https://base-ui.com/react/components/popover), but with basic Compound styles applied.
The resulting component can live in this repository rather than upstreaming to Compound Web, because for now this seems to be a one-off thing for Element Call.
Some requirements:
- Supports an arbitrary `trigger` button
- Requires a `title` string
- Accepts arbitrary content (`children`)
- Applies font/body/sm/regular and color/text/secondary tokens to its textual content
Nice to have, not strictly required:
- Is built with [Base UI](https://base-ui.com/) rather than Radix and Vaul (as we would like to have a proof point for replacing Radix with Base UI more widely in Compound)
- Displays as a bottom sheet on mobile devices in portrait orientation (reference the following [mobile](https://www.figma.com/design/aOEkaJtaBmPy058V7uoqVr/Element-Call-Updates---2026?node-id=1391-54390) [designs](https://www.figma.com/design/aOEkaJtaBmPy058V7uoqVr/Element-Call-Updates---2026?node-id=1426-13004))
Contributor guide
Research direction
Start by reading the linked Base UI Popover reference and the issue’s resilience and mobile designs, then inspect this repository’s existing Compound-styled components to find the appropriate entry point. Done means a generic component supports an arbitrary trigger, required title, arbitrary children, and the specified text tokens; mobile bottom-sheet behavior is optional.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100