element-hq / element-hq/element-call

Create generic popover component

Open
#4,089 0 comments 0 reactions 0 assignees View on GitHub
T-Task
Dominant language
TypeScript
Stars
996
Forks
213
Avg merge
1d 8h
Merged PRs (30d)
55

Description

The resilience designs call for the following 'popover':

Image

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.

Image

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))

Image
Image

Contributor guide

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.