react-shapeless-dropdown

1.0.1 • Public • Published

react-shapeless-dropdown

React dropdown component that can be opened and closed by clicking on an adjustable via props button. Dropdown can show any kind of text or another component.

Screenshot

Installation

npm install react-shapeless-dropdown

API

Property Type Default Description
button any 'Menu' "Toggle" button text or component. Always visible.
closeOnScroll boolean true When true, scrolling will close the dropdown box.
closeOnAction boolean true When true, click on nested component or keyboard "Enter" will close the dropdown box.
boxGap number 10 Gap between "toggle" element and dropdown box.
boxHeight number 250 Limits dropdown box height.
boxPosition string 'auto' Can be "auto", "top" or "bottom". "auto" adjusts dropdown box to fit on the page.
onDropdownOpen function () =>{} Fires when user opens dropdown.
onDropdownClose function () => {} Fires when user closes dropdown.
focusRef object null Reference to the element that should be focused when dropdown is opened.
boxStyle object null Merged with dropdown box style.
arrowStyle object null Merged with up-down arrow style.
crossStyle object null Merged with closing cross style.

Usage

import React, {Component} from 'react';
import {Dropdown} from 'react-shapeless-dropdown';

export default class App extends Component {
    render() {
        const button = ({text}) => (<div>{`>>${text}<<`}</div>);
        return (
            <Dropdown button={button({text: 'Menu'})}>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
                labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
                laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
                voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
                non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
            </Dropdown>
        );
    }
}

License

Copyright (c) 2019 Aleksandr Novikov. License.

Package Sidebar

Install

npm i react-shapeless-dropdown

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

30.9 kB

Total Files

5

Last publish

Collaborators

  • a.novikov