1.0.0 • Published 3 years ago

shapla-react-dashboard-layout v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

React Sidenav

A simple dashboard layout to build your app dashboard for React.

Table of contents

Installation

npm install --save shapla-react-dashboard-layout

Usage

Styles

with Sass:

import 'shapla-react-dashboard-layout/src/index.scss';

with CSS:

import 'shapla-react-dashboard-layout/dist/dashboard-layout.css';

Javascript Instantiation

import React from 'react';
import DashboardLayout from 'shapla-react-dashboard-layout';

class MyApp extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      activeSideNav: false,
    }
  }

  render() {
    let menuItems = Array.from({length: 50}, (x, i) => i + 1);
    let sidenavMenu = menuItems.map(item => {
      return (
        <li className="sidenav-list__item" key={item}>
          <a className="sidenav-list__link" href="#">Menu item {item}</a>
        </li>
      );
    });
    let pageContent = menuItems.map(item => <p key={item}>{item}. Dashboard Content will go here</p>);

    return (
      <div className="example-dashboard-layout">
        <DashboardLayout
          title='Dashboard'
          userDisplayName='Sayful Islam'
          avatarUrl='https://s.gravatar.com/avatar/5ba82fcf5f7f8b24097ff9f7ad4b3d5b?s=80'
          activateSideNav={this.state.activateSideNav}
          onShowSidenav={() => this.setState({activateSideNav: true})}
          onHideSidenav={() => this.setState({activateSideNav: false})}
          sidenavMenu={<ul className="sidenav-list">{sidenavMenu}</ul>}
          children={pageContent}
          navbarEnd={<a href='#'>Log Out</a>}
        />
      </div>
    )
  }
}

Props

PropertyTypeRequiredDefaultDescription
titleStringno | Dashboard title
userDisplayNameStringno | User display name
avatarUrlStringno | User avatar url
greetingStringnoHello,Greeting text
headerHeightStringno56pxHeight of header
headerThemeStringnoprimaryValue can be default or primary or secondary
activateSideNavBooleannofalseBoolean value hide/show sidenav
navWidthStringno300pxWidth of side navigation
sideNavTypeStringnooverlayValue can be overlay or off-canvas. off-canvas is experimental
showOverlayBooleannotrueShould show overlay color when side navigation active.
sidenavContentStringno | Side navigation content.
navbarBrandStringno | Navbar brand content.
navbarStartStringno | Content after navbarBrand
navbarEndStringno | Content at right side
onShowSidenavFuncno | Function run when click to open sidebar.
onHideSidenavFuncno | Function run when click to hide sidebar.