frankdugan3 / frankdugan3/pyro_components

Component: Dropdown

Open
#1 5 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Elixir
Stars
8
Forks
2
PR merge metrics
No merged PRs in 30d

Description

**Pre-check**

This component proposal:

- [x] Is not a duplicate of an existing issue
- [x] Does not require 3rd party JS to implement
- [x] Considers mobile-friendliness
- [x] Does not cause accessibility problems

**Describe the use case for this component**
A flexible `dropdown` component which can have different trigger components with button as default. But it should also allow for example an icon_button or other components as trigger element.
The inner_block shall except `dropdown_item` components which basically wrap the `.link` component, but also except an inner_block to render icons with labels.

The component would be useful for several other components, for example: in the nav-bar to create a user/other nested menus or for a more advanced actions menu for the header component or table actions.

**Demonstrate the component's API**

```heex
# render trigger as button
<.dropdown>
<.dropdown_item label="Settings" navigate={~p"/settings"} />
<.dropdown_item label="Sign in" navigate={~p"/login"} />

# render custom trigger element
<.dropdown>
<:trigger>


A custom trigger


<.dropdown_item label="Settings" navigate={~p"/settings"} />
<.dropdown_item label="Sign in" navigate={~p"/login"} />

```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.