frankdugan3 / frankdugan3/pyro_components
Component: Dropdown
- 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.