react-sidenav
React SideNav
Demo: https://trendmicro-frontend.github.io/react-sidenav
Installation
- Install the latest version of react and react-sidenav:
npm install --save react @trendmicro/react-sidenav
- At this point you can import
@trendmicro/react-sidenav
and its styles in your application as follows:
; // Be sure to include styles at some point, probably during your bootstraping;
Usage
<SideNav => <SideNav.Toggle /> <SideNav.Nav ="home"> <NavItem ="home"> <NavIcon> <i ="fa fa-fw fa-home" = /> </NavIcon> <NavText> Home </NavText> </NavItem> <NavItem ="charts"> <NavIcon> <i ="fa fa-fw fa-line-chart" = /> </NavIcon> <NavText> Charts </NavText> <NavItem ="charts/linechart"> <NavText> Line Chart </NavText> </NavItem> <NavItem ="charts/barchart"> <NavText> Bar Chart </NavText> </NavItem> </NavItem> </SideNav.Nav></SideNav>
React Router v4 with React v16
<Router> <Route = /></Router>
Close the side navigation menu when clicking outside
You can find a click-outside React component (https://github.com/tj/react-click-outside/blob/master/index.js) and do something below:
<ClickOutside => <SideNav = = > <SideNav.Toggle /> <SideNav.Nav ="home"> <NavItem ="home"> <NavIcon> <i ="fa fa-fw fa-home" = /> </NavIcon> <NavText> Home </NavText> </NavItem> </SideNav.Nav> </SideNav></ClickOutside>
API
Properties
SideNav
Name | Type | Default | Description |
---|---|---|---|
componentClass | element | 'nav' | A custom element for this component. |
disabled | boolean | Whether the navigation toggle is disabled. | |
expanded | boolean | Whether the side navigation is expanded or collapsed. | |
onToggle | function(boolean) | Callback fired when toggling the side navigation between expanded and collapsed state. | |
onSelect | function(eventKey, event) | Callback fired when a navigation item is selected. |
Toggle
Name | Type | Default | Description |
---|---|---|---|
componentClass | element | 'button' | A custom element for this component. |
disabled | boolean | false | Whether the navigation toggle is disabled. |
expanded | boolean | false | Whether the side navigation is expanded or collapsed. |
Nav
Name | Type | Default | Description |
---|---|---|---|
componentClass | element | 'div' | A custom element for this component. |
onSelect | function(eventKey, event) | Callback fired when a navigation item is selected. | |
selected | any | The selected navigation item. | |
defaultSelected | any | The initially selected navigation item. | |
expanded | boolean | false | Whether the side navigation is expanded or collapsed. |
NavItem
Name | Type | Default | Description |
---|---|---|---|
componentClass | element | 'div' | A custom element for this component. |
active | boolean | false | Highlight the navigation item as active. |
disabled | boolean | false | Disable the navigation item, making it unselectable. |
expanded | boolean | false | Whether the navigation item is expanded or collapsed. |
eventKey | any | (required) | Value passed to the onSelect handler, useful for identifying the selected navigation item. |
onClick | function(event) | Callback fired when the navigation item is clicked. | |
onSelect | function(eventKey, event) | Callback fired when a navigation item is selected. | |
navitemClassName | |||
navitemStyle | |||
subnavClassName | |||
subnavStyle |
NavIcon
Name | Type | Default | Description |
---|---|---|---|
children | any |
NavText
Name | Type | Default | Description |
---|---|---|---|
children | any |
License
MIT