UNPKG

material-ui-arrowy-pagination

Version:
91 lines (74 loc) 3.42 kB
# material-ui-arrowy-pagination An easy to use and customizable pagination component for [Material-UI](https://material-ui-next.com). ![Demonstration](https://i.imgur.com/WpaZXWJ.gif) ### Notice --- This component require `material-ui` version >= v1.0.0 FYI [material-ui@next](https://material-ui-next.com/) ### Quick Start --- ```sh npm install material-ui-arrowy-pagination ``` ```js import Pagination from 'material-ui-arrowy-pagination'; ``` ### Usage --- material-ui-pagination exposes one module called, `Pagination`, which accepts a few props: Option | Description ---------------------|----------------------------------------------- `total` | Total number of pages `display` | Number of pages you want to show in the panel `current` | Current page selected `onChange` | Handles the change event of selected page: `function(pageNumber: integer, previousPageNumber: integer) => void` `style` | Styles for root element `styleFirstPageButton` | Styles for `FirstPageButton`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead `stylePreviousPageButton` | Styles for `PreviousPageButton`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead `styleNextPageButton` | Styles for `NextPageButton`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead `styleLastPageButton` | Styles for `LastPageBottub`. If not provided, a custom `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead `styleButton` | Styles for page number button. If not provided, a `IconButton` from `Material UI` will be rendered as default, otherwise `<div>` with styles will show up instead `stylePrimary` | Styles for active page element. Requires the `styleButton` `showFirstPageButton` | control render `FirstPageButton`, default is `false` `showPreviousPageButton` | control render `PreviousPageButton`, default is `false` `showPageNumberButton` | control render `showPageNumberButton`, default is `true` `showNextPageButton` | control render `NextPageButton`, default is `false` `showLastPageButton` | control render `LastPageButton`, default is `false` ### Run Local Demo --- ```sh git clone https://github.com/shenxdtw/material-ui-arrowy-pagination npm install npm run dev-server # visit http://localhost:7890/ ``` ### Run Test --- ```sh git clone https://github.com/shenxdtw/material-ui-arrowy-pagination npm install npm run test ``` ### Code Example --- ```js import Pagination from 'material-ui-arrowy-pagination'; <Pagination total={10} current={1} display={5} onChange={(pageNumber, previousPageNumber) => {}} showFirstPageButton showPreviousPageButton showNextPageButton showLastPageButton /> ``` ### Thanks --- This project is modified with reference to [material-ui-pagination](https://github.com/lo-tp/material-ui-pagination). Thanks to the author of [material-ui-pagination](https://github.com/lo-tp/material-ui-pagination). ### License --- MIT licensed.