0.1.10 • Published 4 years ago
react-bulma-dropdown v0.1.10
React Bulma dropdown
It's a Bulma's dropdown, with an auto-height, scroll and portal support.
The .dropdown-menu is not simply rendered below the .dropdown-trigger, but is portaled to another DOM element.
Thanks to that your dropdown will work in element that has overflow:hiden or overflow:scroll CSS style.
The .dropdown-menu is auto resizing to match the portal's bottom edge.
Installation
yarn add react-bulma-dropdownYou have also to include the dist/main.css file.
Basic example
import Dropdown from 'react-bulma-dropdown'
<Dropdown trigger="Choose">
<a href="#" className="dropdown-item">Item A</a>
<a href="#" className="dropdown-item">Item B</a>
<a href="#" className="dropdown-item">Item C</a>
</Dropdown>You can find more examples in Storybook.
Properties
| Property | Type | Description | Default |
|---|---|---|---|
| children | ReactNode | The .dropdown-content's content | |
| trigger | string or ReactNode | The trigger rendered in the .dropdown-trigger | "Open dropdown" |
| portal | null or HTMLElement | Element to which the .dropdown-menu will be portaled. If null, then it will be portaled to the end of the document | null |
| className | string | Optional CSS class name for the .dropdown-menu's wrapper | "" |
| openOnMount | boolean | Open the .dropdown-menu on mount | false |
| isAnimated | boolean | Animate the .dropdown-menu opening | true |
| hideOnLinkClick | boolean | Close the .dropdown-menu after clicking an a.dropdown-item | true |
| margin | integer | Min. distance between bottom of the dropdown and bottom of the portal | 20 |
| controlRef | (ref: ControlRefType) => void | A ref that consist object with open and close methods. | undefined |
Development
yarn run storybook