react-solid-sidebar
TypeScript icon, indicating that this package has built-in type declarations

1.0.9 • Public • Published

react-solid-sidebar

A React Solid Sidebar Widget.

NPM JavaScript Style Guide

Demo Page

https://kichiemon.github.io/menu-a

demo

Install

npm

npm install --save react-solid-sidebar

yarn

yarn add react-solid-sidebar

Props

name type description required
title strinig title in the menu required
menuItems ListMenuItem[] menu list required
actionButton JSX.Element right or bottom button required

Example Usage

import React from 'react'
import SolidSidebarLayout, { SolidSidebarMenuItem } from 'react-solid-sidebar'
import { Button, Box, Typography } from '@material-ui/core'
import Business from '@material-ui/icons/Business'
import Person from '@material-ui/icons/Person'
import { Redirect, Route, withRouter } from 'react-router'

const MenuA: React.FunctionComponent<{}> = () => {
  return (
    <Box component='body'>
      <Typography variant='h2'>メニューA</Typography>
    </Box>
  )
}
const MenuB: React.FunctionComponent<{}> = () => {
  return (
    <Box component='body'>
      <Typography variant='h2'>メニューA</Typography>
    </Box>
  )
}

const App = (props: any) => {
  const handleClick = () => console.log('button clicked!')
  const menuItems: SolidSidebarMenuItem[] = [
    {
      name: 'Menu A',
      icon: <Business />,
      goTo: () => props.history.push('/menu-a'),
      isSelected: () => window.location.pathname === '/menu-a'
    },
    {
      name: 'Menu B',
      icon: <Person />,
      goTo: () => props.history.push('/menu-b'),
      isSelected: () => window.location.pathname === '/menu-b'
    }
  ]
  const ActionButton = <Button onClick={handleClick}></Button>

  return (
    <SolidSidebarLayout
      title='DEMO Page'
      menuItems={menuItems}
      actionButton={ActionButton}
    >
      <Route exact path='/menu-a' component={MenuA} />
      <Route exact path='/menu-b' component={MenuB} />
      <Route exact path='/' render={() => <Redirect to='menu-a' />} />
    </SolidSidebarLayout>
  )
}

export default withRouter(App)

License

MIT © kichiemon

/react-solid-sidebar/

    Package Sidebar

    Install

    npm i react-solid-sidebar

    Weekly Downloads

    2

    Version

    1.0.9

    License

    MIT

    Unpacked Size

    40.8 kB

    Total Files

    13

    Last publish

    Collaborators

    • kichiemon