diff --git a/CHANGELOG.md b/CHANGELOG.md index 340dec9..2d4422c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ## >= 8.1.0 +- A new prop `onClick` has been added. It is a callback for any click on the component. It exposes information on the part clicked (for eg. `isNext` for when next control is clicked or `isBreak` for a break clicked), the next expected page `nextSelectedPage` & others. Can return `false` to prevent any page change or a number to override the page to jump to. Just return nothing (or `undefined`) to let default behavior take place. (see: https://github.com/AdeleD/react-paginate/issues/263) - Prevent breaks to be displayed when both `pageRangeDisplayed` and `marginPagesDisplayed` are 0 ## >= 8.0.3 diff --git a/README.md b/README.md index 6af4154..7f34a6e 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,8 @@ Finally there is this **[CodePen demo](https://codepen.io/monsieurv/pen/yLoMxYQ) | `breakLabel` | `Node` | Label for ellipsis. | | `breakClassName` | `String` | The classname on tag `li` of the ellipsis element. | | `breakLinkClassName` | `String` | The classname on tag `a` of the ellipsis element. | -| `onPageChange` | `Function` | The method to call when a page is clicked. Exposes the current page object as an argument. | +| `onPageChange` | `Function` | The method to call when a page is changed. Exposes the current page object as an argument. | +| `onClick` | `Function` | A callback for any click on the component. Exposes information on the part clicked (for eg. `isNext` for next control), the next expected page `nextSelectedPage` & others. Can return `false` to prevent any page change or a number to override the page to jump to. | | `onPageActive` | `Function` | The method to call when an active page is clicked. Exposes the active page object as an argument. | | `initialPage` | `Number` | The initial page selected, in [uncontrolled mode](https://reactjs.org/docs/uncontrolled-components.html). Do not use with `forcePage` at the same time. | | `forcePage` | `Number` | To override selected page with parent prop. Use this if you want to [control](https://reactjs.org/docs/forms.html#controlled-components) the page from your app state. | diff --git a/TODO.md b/TODO.md index cf75e56..7abeef7 100644 --- a/TODO.md +++ b/TODO.md @@ -5,3 +5,9 @@ When `forcePage` is provided, the component should be absolutely controlled. It should not be possible to let user clicks change the page (without the controlled state changing from the listening parent component). See https://github.com/AdeleD/react-paginate/issues/198#issuecomment-941295225 + +- Detail several props: + - theme + - callbacks like onClick + - explain controlled `page` + - etc. diff --git a/__tests__/PaginationBoxView-test.js b/__tests__/PaginationBoxView-test.js index 78915d4..fde762c 100755 --- a/__tests__/PaginationBoxView-test.js +++ b/__tests__/PaginationBoxView-test.js @@ -2224,4 +2224,61 @@ describe('Test custom props', () => { ).toBe('2'); }); }); + + describe('onClick', () => { + it('should use the onClick prop when defined', () => { + const myOnClick = jest.fn(() => false); + const pagination = ReactTestUtils.renderIntoDocument( + + ); + const breakItem = + ReactDOM.findDOMNode(pagination).querySelector('li.break a'); + ReactTestUtils.Simulate.click(breakItem); + + expect(myOnClick).toHaveBeenCalledWith( + expect.objectContaining({ + index: 2, + selected: 10, + event: expect.objectContaining({ target: expect.any(Element) }), + isPrevious: false, + isNext: false, + isBreak: true, + isActive: false, + }) + ); + + // page should not change because onClick returned false + expect( + ReactDOM.findDOMNode(pagination).querySelector('.selected a') + .textContent + ).toBe('11'); + }); + + it('should use the return value from onClick to change page', () => { + const myOnClick = () => 5; + const pagination = ReactTestUtils.renderIntoDocument( + + ); + const breakItem = + ReactDOM.findDOMNode(pagination).querySelector('li.break a'); + ReactTestUtils.Simulate.click(breakItem); + + expect( + ReactDOM.findDOMNode(pagination).querySelector('.selected a') + .textContent + ).toBe('6'); + }); + }); }); diff --git a/demo/js/demo.js b/demo/js/demo.js index fd884f7..b5dde62 100644 --- a/demo/js/demo.js +++ b/demo/js/demo.js @@ -111,6 +111,7 @@ export class App extends Component { } handlePageClick = (data) => { + console.log('onPageChange', data); let selected = data.selected; let offset = Math.ceil(selected * this.props.perPage); @@ -156,6 +157,14 @@ export class App extends Component { } hrefAllControls forcePage={currentPage} + onClick={(clickEvent) => { + console.log('onClick', clickEvent); + // Return false to prevent standard page change, + // return false; // --> Will do nothing. + // return a number to choose the next page, + // return 4; --> Will go to page 5 (index 4) + // return nothing (undefined) to let standard behavior take place. + }} /> diff --git a/dist/react-paginate.js b/dist/react-paginate.js index 9d01b79..215cd12 100644 --- a/dist/react-paginate.js +++ b/dist/react-paginate.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.ReactPaginate=t(require("react")):e.ReactPaginate=t(e.React)}(this,(function(__WEBPACK_EXTERNAL_MODULE__98__){return(()=>{var __webpack_modules__={759:(e,t,a)=>{"use strict";a.d(t,{Z:()=>c});var r,o=a(98),_=a.n(o),n=a(697),i=a.n(n);function s(){return s=Object.assign||function(e){for(var t=1;t{"use strict";a.d(t,{Z:()=>c});var r,o=a(98),_=a.n(o),n=a(697),i=a.n(n);function s(){return s=Object.assign||function(e){for(var t=1;t{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>PaginationBoxView});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(98),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),prop_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(697),prop_types__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),_PageView__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(770),_BreakView__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(759),_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(923),enterModule;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _extends(){return _extends=Object.assign||function(e){for(var t=1;t0&&t.handlePageSelected(a-1,e)})),_defineProperty(_assertThisInitialized(t),"handleNextPage",(function(e){var a=t.state.selected,r=t.props.pageCount;e.preventDefault?e.preventDefault():e.returnValue=!1,ao-r/2?c=r-(u=o-l):lo-_||d>=l-c&&d<=l+(0===l&&r>1?u-1:u)?P.push({type:"page",index:d,display:g(d)}):n&&P.length>0&&P[P.length-1].display!==f&&(r>0||_>0)&&(f=react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_BreakView__WEBPACK_IMPORTED_MODULE_3__.Z,{key:d,breakLabel:n,breakClassName:i,breakLinkClassName:s,breakHandler:t.handleBreakClick.bind(null,d),getEventListener:t.getEventListener}),P.push({type:"break",index:d,display:f}))}P.forEach((function(t,a){var r=t;"break"===t.type&&P[a-1]&&"page"===P[a-1].type&&P[a+1]&&"page"===P[a+1].type&&P[a+1].index-P[a-1].index<=2&&(r={type:"page",index:t.index,display:g(t.index)}),e.push(r.display)}))}return e})),void 0!==e.initialPage&&void 0!==e.forcePage&&console.warn("(react-paginate): Both initialPage (".concat(e.initialPage,") and forcePage (").concat(e.forcePage,") props are provided, which is discouraged.")+" Use exclusively forcePage prop for a controlled component.\nSee https://reactjs.org/docs/forms.html#controlled-components"),a=e.initialPage?e.initialPage:e.forcePage?e.forcePage:0,t.state={selected:a},t}return _createClass(PaginationBoxView,[{key:"componentDidMount",value:function(){var e=this.props,t=e.initialPage,a=e.disableInitialCallback,r=e.extraAriaContext,o=e.pageCount,_=e.forcePage;void 0===t||a||this.callCallback(t),r&&console.warn("DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead."),Number.isInteger(o)||console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(o,"). Did you forget a Math.ceil()?")),void 0!==t&&t>o-1&&console.warn("(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (".concat(t," > ").concat(o-1,").")),void 0!==_&&_>o-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(_," > ").concat(o-1,")."))}},{key:"componentDidUpdate",value:function(e){void 0!==this.props.forcePage&&this.props.forcePage!==e.forcePage&&(this.props.forcePage>this.props.pageCount-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(this.props.forcePage," > ").concat(this.props.pageCount-1,").")),this.setState({selected:this.props.forcePage})),Number.isInteger(e.pageCount)&&!Number.isInteger(this.props.pageCount)&&console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(this.props.pageCount,"). Did you forget a Math.ceil()?"))}},{key:"getForwardJump",value:function(){var e=this.state.selected,t=this.props,a=t.pageCount,r=e+t.pageRangeDisplayed;return r>=a?a-1:r}},{key:"getBackwardJump",value:function(){var e=this.state.selected-this.props.pageRangeDisplayed;return e<0?0:e}},{key:"getElementHref",value:function(e){var t=this.props,a=t.hrefBuilder,r=t.pageCount,o=t.hrefAllControls;if(a)return o||e>=0&&e=0&&e{"use strict";a.r(t),a.d(t,{default:()=>n});var r,o=a(214);e=a.hmd(e),(r="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.enterModule:void 0)&&r(e),"undefined"!=typeof reactHotLoaderGlobal&&reactHotLoaderGlobal.default.signature;var _=o.Z;const n=_;var i,s;(i="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default:void 0)&&i.register(_,"default","/home/yoan/work/oss/react-paginate/react_components/index.js"),(s="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.leaveModule:void 0)&&s(e)},923:(e,t,a)=>{"use strict";var r,o,_;function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!=e?e:t}a.d(t,{m:()=>n}),e=a.hmd(e),(r="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.enterModule:void 0)&&r(e),"undefined"!=typeof reactHotLoaderGlobal&&reactHotLoaderGlobal.default.signature,(o="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default:void 0)&&o.register(n,"classNameIfDefined","/home/yoan/work/oss/react-paginate/react_components/utils.js"),(_="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.leaveModule:void 0)&&_(e)},703:(e,t,a)=>{"use strict";var r=a(414);function o(){}function _(){}_.resetWarningCache=o,e.exports=function(){function e(e,t,a,o,_,n){if(n!==r){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:_,resetWarningCache:o};return a.PropTypes=a,a}},697:(e,t,a)=>{e.exports=a(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},98:e=>{"use strict";e.exports=__WEBPACK_EXTERNAL_MODULE__98__}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var a=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e](a,a.exports,__webpack_require__),a.loaded=!0,a.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__(351);return __webpack_exports__})()})); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.ReactPaginate=t(require("react")):e.ReactPaginate=t(e.React)}(this,(function(__WEBPACK_EXTERNAL_MODULE__98__){return(()=>{var __webpack_modules__={759:(e,t,a)=>{"use strict";a.d(t,{Z:()=>c});var r,o=a(98),_=a.n(o),n=a(697),i=a.n(n);function s(){return s=Object.assign||function(e){for(var t=1;t{"use strict";a.d(t,{Z:()=>c});var r,o=a(98),_=a.n(o),n=a(697),i=a.n(n);function s(){return s=Object.assign||function(e){for(var t=1;t{"use strict";__webpack_require__.d(__webpack_exports__,{Z:()=>PaginationBoxView});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(98),react__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__),prop_types__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(697),prop_types__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__),_PageView__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(770),_BreakView__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(759),_utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(923),enterModule;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _extends(){return _extends=Object.assign||function(e){for(var t=1;t0?a-1:void 0,{isPrevious:!0})})),_defineProperty(_assertThisInitialized(t),"handleNextPage",(function(e){var a=t.state.selected,r=t.props.pageCount;t.handleClick(e,null,a3&&void 0!==arguments[3]?arguments[3]:{},_=o.isPrevious,n=void 0!==_&&_,i=o.isNext,s=void 0!==i&&i,l=o.isBreak,p=void 0!==l&&l,c=o.isActive,d=void 0!==c&&c;e.preventDefault?e.preventDefault():e.returnValue=!1;var u=t.state.selected,f=t.props.onClick,g=r;if(f){var P=f({index:a,selected:u,nextSelectedPage:r,event:e,isPrevious:n,isNext:s,isBreak:p,isActive:d});if(!1===P)return;Number.isInteger(P)&&(g=P)}void 0!==g&&t.handlePageChange(g)})),_defineProperty(_assertThisInitialized(t),"handleBreakClick",(function(e,a){var r=t.state.selected;t.handleClick(a,e,ro-r/2?c=r-(d=o-l):lo-_||u>=l-c&&u<=l+(0===l&&r>1?d-1:d)?P.push({type:"page",index:u,display:g(u)}):n&&P.length>0&&P[P.length-1].display!==f&&(r>0||_>0)&&(f=react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_BreakView__WEBPACK_IMPORTED_MODULE_3__.Z,{key:u,breakLabel:n,breakClassName:i,breakLinkClassName:s,breakHandler:t.handleBreakClick.bind(null,u),getEventListener:t.getEventListener}),P.push({type:"break",index:u,display:f}))}P.forEach((function(t,a){var r=t;"break"===t.type&&P[a-1]&&"page"===P[a-1].type&&P[a+1]&&"page"===P[a+1].type&&P[a+1].index-P[a-1].index<=2&&(r={type:"page",index:t.index,display:g(t.index)}),e.push(r.display)}))}return e})),void 0!==e.initialPage&&void 0!==e.forcePage&&console.warn("(react-paginate): Both initialPage (".concat(e.initialPage,") and forcePage (").concat(e.forcePage,") props are provided, which is discouraged.")+" Use exclusively forcePage prop for a controlled component.\nSee https://reactjs.org/docs/forms.html#controlled-components"),a=e.initialPage?e.initialPage:e.forcePage?e.forcePage:0,t.state={selected:a},t}return _createClass(PaginationBoxView,[{key:"componentDidMount",value:function(){var e=this.props,t=e.initialPage,a=e.disableInitialCallback,r=e.extraAriaContext,o=e.pageCount,_=e.forcePage;void 0===t||a||this.callCallback(t),r&&console.warn("DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead."),Number.isInteger(o)||console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(o,"). Did you forget a Math.ceil()?")),void 0!==t&&t>o-1&&console.warn("(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (".concat(t," > ").concat(o-1,").")),void 0!==_&&_>o-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(_," > ").concat(o-1,")."))}},{key:"componentDidUpdate",value:function(e){void 0!==this.props.forcePage&&this.props.forcePage!==e.forcePage&&(this.props.forcePage>this.props.pageCount-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(this.props.forcePage," > ").concat(this.props.pageCount-1,").")),this.setState({selected:this.props.forcePage})),Number.isInteger(e.pageCount)&&!Number.isInteger(this.props.pageCount)&&console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(this.props.pageCount,"). Did you forget a Math.ceil()?"))}},{key:"getForwardJump",value:function(){var e=this.state.selected,t=this.props,a=t.pageCount,r=e+t.pageRangeDisplayed;return r>=a?a-1:r}},{key:"getBackwardJump",value:function(){var e=this.state.selected-this.props.pageRangeDisplayed;return e<0?0:e}},{key:"getElementHref",value:function(e){var t=this.props,a=t.hrefBuilder,r=t.pageCount,o=t.hrefAllControls;if(a)return o||e>=0&&e=0&&e{"use strict";a.r(t),a.d(t,{default:()=>n});var r,o=a(214);e=a.hmd(e),(r="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.enterModule:void 0)&&r(e),"undefined"!=typeof reactHotLoaderGlobal&&reactHotLoaderGlobal.default.signature;var _=o.Z;const n=_;var i,s;(i="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default:void 0)&&i.register(_,"default","/home/yoan/work/oss/react-paginate/react_components/index.js"),(s="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.leaveModule:void 0)&&s(e)},923:(e,t,a)=>{"use strict";var r,o,_;function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!=e?e:t}a.d(t,{m:()=>n}),e=a.hmd(e),(r="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.enterModule:void 0)&&r(e),"undefined"!=typeof reactHotLoaderGlobal&&reactHotLoaderGlobal.default.signature,(o="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default:void 0)&&o.register(n,"classNameIfDefined","/home/yoan/work/oss/react-paginate/react_components/utils.js"),(_="undefined"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.leaveModule:void 0)&&_(e)},703:(e,t,a)=>{"use strict";var r=a(414);function o(){}function _(){}_.resetWarningCache=o,e.exports=function(){function e(e,t,a,o,_,n){if(n!==r){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:_,resetWarningCache:o};return a.PropTypes=a,a}},697:(e,t,a)=>{e.exports=a(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},98:e=>{"use strict";e.exports=__WEBPACK_EXTERNAL_MODULE__98__}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var a=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e](a,a.exports,__webpack_require__),a.loaded=!0,a.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__(351);return __webpack_exports__})()})); //# sourceMappingURL=react-paginate.js.map \ No newline at end of file diff --git a/dist/react-paginate.js.map b/dist/react-paginate.js.map index 904af1e..1a98edf 100644 --- a/dist/react-paginate.js.map +++ b/dist/react-paginate.js.map @@ -1 +1 @@ -{"version":3,"file":"react-paginate.js","mappings":"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","sources":["webpack://ReactPaginate/webpack/universalModuleDefinition","webpack://ReactPaginate/./react_components/BreakView.js","webpack://ReactPaginate/./react_components/PageView.js","webpack://ReactPaginate/./react_components/PaginationBoxView.js","webpack://ReactPaginate/./react_components/index.js","webpack://ReactPaginate/./react_components/utils.js","webpack://ReactPaginate/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://ReactPaginate/./node_modules/prop-types/index.js","webpack://ReactPaginate/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://ReactPaginate/external umd {\"root\":\"React\",\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\"}","webpack://ReactPaginate/webpack/bootstrap","webpack://ReactPaginate/webpack/runtime/compat get default export","webpack://ReactPaginate/webpack/runtime/define property getters","webpack://ReactPaginate/webpack/runtime/harmony module decorator","webpack://ReactPaginate/webpack/runtime/hasOwnProperty shorthand","webpack://ReactPaginate/webpack/runtime/make namespace object","webpack://ReactPaginate/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactPaginate\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ReactPaginate\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__98__) {\nreturn ","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BreakView = (props) => {\n const {\n breakLabel,\n breakClassName,\n breakLinkClassName,\n breakHandler,\n getEventListener,\n } = props;\n const className = breakClassName || 'break';\n\n return (\n
  • \n \n {breakLabel}\n \n
  • \n );\n};\n\nBreakView.propTypes = {\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n breakHandler: PropTypes.func.isRequired,\n getEventListener: PropTypes.func.isRequired,\n};\n\nexport default BreakView;\n","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PageView = (props) => {\n let { pageClassName, pageLinkClassName } = props;\n const {\n page,\n selected,\n activeClassName,\n activeLinkClassName,\n getEventListener,\n pageSelectedHandler,\n href,\n extraAriaContext,\n pageLabelBuilder,\n rel,\n } = props;\n\n let ariaLabel =\n props.ariaLabel ||\n 'Page ' + page + (extraAriaContext ? ' ' + extraAriaContext : '');\n let ariaCurrent = null;\n\n if (selected) {\n ariaCurrent = 'page';\n\n ariaLabel = props.ariaLabel || 'Page ' + page + ' is your current page';\n\n if (typeof pageClassName !== 'undefined') {\n pageClassName = pageClassName + ' ' + activeClassName;\n } else {\n pageClassName = activeClassName;\n }\n\n if (typeof pageLinkClassName !== 'undefined') {\n if (typeof activeLinkClassName !== 'undefined') {\n pageLinkClassName = pageLinkClassName + ' ' + activeLinkClassName;\n }\n } else {\n pageLinkClassName = activeLinkClassName;\n }\n }\n\n return (\n
  • \n \n {pageLabelBuilder(page)}\n \n
  • \n );\n};\n\nPageView.propTypes = {\n pageSelectedHandler: PropTypes.func.isRequired,\n selected: PropTypes.bool.isRequired,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n href: PropTypes.string,\n ariaLabel: PropTypes.string,\n page: PropTypes.number.isRequired,\n getEventListener: PropTypes.func.isRequired,\n pageLabelBuilder: PropTypes.func.isRequired,\n rel: PropTypes.string,\n};\n\nexport default PageView;\n","'use strict';\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PageView from './PageView';\nimport BreakView from './BreakView';\nimport { classNameIfDefined } from './utils';\n\nexport default class PaginationBoxView extends Component {\n static propTypes = {\n pageCount: PropTypes.number.isRequired,\n pageRangeDisplayed: PropTypes.number,\n marginPagesDisplayed: PropTypes.number,\n previousLabel: PropTypes.node,\n previousAriaLabel: PropTypes.string,\n prevPageRel: PropTypes.string,\n prevRel: PropTypes.string,\n nextLabel: PropTypes.node,\n nextAriaLabel: PropTypes.string,\n nextPageRel: PropTypes.string,\n nextRel: PropTypes.string,\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n hrefBuilder: PropTypes.func,\n hrefAllControls: PropTypes.bool,\n onPageChange: PropTypes.func,\n onPageActive: PropTypes.func,\n initialPage: PropTypes.number,\n forcePage: PropTypes.number,\n disableInitialCallback: PropTypes.bool,\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n pageLabelBuilder: PropTypes.func,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n previousClassName: PropTypes.string,\n nextClassName: PropTypes.string,\n previousLinkClassName: PropTypes.string,\n nextLinkClassName: PropTypes.string,\n disabledClassName: PropTypes.string,\n disabledLinkClassName: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n ariaLabelBuilder: PropTypes.func,\n eventListener: PropTypes.string,\n renderOnZeroPageCount: PropTypes.func,\n selectedPageRel: PropTypes.string,\n };\n\n static defaultProps = {\n pageRangeDisplayed: 2,\n marginPagesDisplayed: 3,\n activeClassName: 'selected',\n previousLabel: 'Previous',\n previousClassName: 'previous',\n previousAriaLabel: 'Previous page',\n prevPageRel: 'prev',\n prevRel: 'prev',\n nextLabel: 'Next',\n nextClassName: 'next',\n nextAriaLabel: 'Next page',\n nextPageRel: 'next',\n nextRel: 'next',\n breakLabel: '...',\n disabledClassName: 'disabled',\n disableInitialCallback: false,\n pageLabelBuilder: (page) => page,\n eventListener: 'onClick',\n renderOnZeroPageCount: undefined,\n selectedPageRel: 'canonical',\n hrefAllControls: false,\n };\n\n constructor(props) {\n super(props);\n\n if (props.initialPage !== undefined && props.forcePage !== undefined) {\n console.warn(\n `(react-paginate): Both initialPage (${props.initialPage}) and forcePage (${props.forcePage}) props are provided, which is discouraged.` +\n ' Use exclusively forcePage prop for a controlled component.\\nSee https://reactjs.org/docs/forms.html#controlled-components'\n );\n }\n\n let initialSelected;\n if (props.initialPage) {\n initialSelected = props.initialPage;\n } else if (props.forcePage) {\n initialSelected = props.forcePage;\n } else {\n initialSelected = 0;\n }\n\n this.state = {\n selected: initialSelected,\n };\n }\n\n componentDidMount() {\n const {\n initialPage,\n disableInitialCallback,\n extraAriaContext,\n pageCount,\n forcePage,\n } = this.props;\n // Call the callback with the initialPage item:\n if (typeof initialPage !== 'undefined' && !disableInitialCallback) {\n this.callCallback(initialPage);\n }\n\n if (extraAriaContext) {\n console.warn(\n 'DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead.'\n );\n }\n\n if (!Number.isInteger(pageCount)) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${pageCount}). Did you forget a Math.ceil()?`\n );\n }\n\n if (initialPage !== undefined && initialPage > pageCount - 1) {\n console.warn(\n `(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (${initialPage} > ${\n pageCount - 1\n }).`\n );\n }\n\n if (forcePage !== undefined && forcePage > pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${forcePage} > ${\n pageCount - 1\n }).`\n );\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.forcePage !== undefined &&\n this.props.forcePage !== prevProps.forcePage\n ) {\n if (this.props.forcePage > this.props.pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${\n this.props.forcePage\n } > ${this.props.pageCount - 1}).`\n );\n }\n\n this.setState({ selected: this.props.forcePage });\n }\n\n if (\n Number.isInteger(prevProps.pageCount) &&\n !Number.isInteger(this.props.pageCount)\n ) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${this.props.pageCount}). Did you forget a Math.ceil()?`\n );\n }\n }\n\n handlePreviousPage = (evt) => {\n const { selected } = this.state;\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n if (selected > 0) {\n this.handlePageSelected(selected - 1, evt);\n }\n };\n\n handleNextPage = (evt) => {\n const { selected } = this.state;\n const { pageCount } = this.props;\n\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n if (selected < pageCount - 1) {\n this.handlePageSelected(selected + 1, evt);\n }\n };\n\n handlePageSelected = (selected, evt) => {\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n\n if (this.state.selected === selected) {\n this.callActiveCallback(selected);\n return;\n }\n\n this.setState({ selected: selected });\n\n // Call the callback with the new selected item:\n this.callCallback(selected);\n };\n\n getEventListener = (handlerFunction) => {\n const { eventListener } = this.props;\n return {\n [eventListener]: handlerFunction,\n };\n };\n\n getForwardJump() {\n const { selected } = this.state;\n const { pageCount, pageRangeDisplayed } = this.props;\n\n const forwardJump = selected + pageRangeDisplayed;\n return forwardJump >= pageCount ? pageCount - 1 : forwardJump;\n }\n\n getBackwardJump() {\n const { selected } = this.state;\n const { pageRangeDisplayed } = this.props;\n\n const backwardJump = selected - pageRangeDisplayed;\n return backwardJump < 0 ? 0 : backwardJump;\n }\n\n handleBreakClick = (index, evt) => {\n evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false);\n\n const { selected } = this.state;\n\n this.handlePageSelected(\n selected < index ? this.getForwardJump() : this.getBackwardJump(),\n evt\n );\n };\n\n getElementHref(pageIndex) {\n const { hrefBuilder, pageCount, hrefAllControls } = this.props;\n if (!hrefBuilder) return;\n if (hrefAllControls || (pageIndex >= 0 && pageIndex < pageCount)) {\n return hrefBuilder(pageIndex + 1, pageCount, this.state.selected);\n }\n }\n\n ariaLabelBuilder(pageIndex) {\n const selected = pageIndex === this.state.selected;\n if (\n this.props.ariaLabelBuilder &&\n pageIndex >= 0 &&\n pageIndex < this.props.pageCount\n ) {\n let label = this.props.ariaLabelBuilder(pageIndex + 1, selected);\n // DEPRECATED: The extraAriaContext prop was used to add additional context\n // to the aria-label. Users should now use the ariaLabelBuilder instead.\n if (this.props.extraAriaContext && !selected) {\n label = label + ' ' + this.props.extraAriaContext;\n }\n return label;\n }\n }\n\n callCallback = (selectedItem) => {\n if (\n typeof this.props.onPageChange !== 'undefined' &&\n typeof this.props.onPageChange === 'function'\n ) {\n this.props.onPageChange({ selected: selectedItem });\n }\n };\n\n callActiveCallback = (selectedItem) => {\n if (\n typeof this.props.onPageActive !== 'undefined' &&\n typeof this.props.onPageActive === 'function'\n ) {\n this.props.onPageActive({ selected: selectedItem });\n }\n };\n\n getElementPageRel = (index) => {\n const { selected } = this.state;\n const { nextPageRel, prevPageRel, selectedPageRel } = this.props;\n\n if (selected - 1 === index) {\n return prevPageRel;\n } else if (selected === index) {\n return selectedPageRel;\n } else if (selected + 1 === index) {\n return nextPageRel;\n }\n return undefined;\n };\n\n getPageElement(index) {\n const { selected } = this.state;\n const {\n pageClassName,\n pageLinkClassName,\n activeClassName,\n activeLinkClassName,\n extraAriaContext,\n pageLabelBuilder,\n } = this.props;\n\n return (\n \n );\n }\n\n pagination = () => {\n const items = [];\n const {\n pageRangeDisplayed,\n pageCount,\n marginPagesDisplayed,\n breakLabel,\n breakClassName,\n breakLinkClassName,\n } = this.props;\n\n const { selected } = this.state;\n\n if (pageCount <= pageRangeDisplayed) {\n for (let index = 0; index < pageCount; index++) {\n items.push(this.getPageElement(index));\n }\n } else {\n let leftSide = pageRangeDisplayed / 2;\n let rightSide = pageRangeDisplayed - leftSide;\n\n // If the selected page index is on the default right side of the pagination,\n // we consider that the new right side is made up of it (= only one break element).\n // If the selected page index is on the default left side of the pagination,\n // we consider that the new left side is made up of it (= only one break element).\n if (selected > pageCount - pageRangeDisplayed / 2) {\n rightSide = pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n } else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n\n let createPageView = (index) => this.getPageElement(index);\n let index;\n let breakView;\n\n // First pass: process the pages or breaks to display (or not).\n const pagesBreaking = [];\n for (index = 0; index < pageCount; index++) {\n const page = index + 1;\n\n // If the page index is lower than the margin defined,\n // the page has to be displayed on the left side of\n // the pagination.\n if (page <= marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index is greater than the page count\n // minus the margin defined, the page has to be\n // displayed on the right side of the pagination.\n if (page > pageCount - marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If it is the first element of the array the rightSide need to be adjusted,\n // otherwise an extra element will be rendered\n const adjustedRightSide =\n selected === 0 && pageRangeDisplayed > 1 ? rightSide - 1 : rightSide;\n\n // If the page index is near the selected page index\n // and inside the defined range (pageRangeDisplayed)\n // we have to display it (it will create the center\n // part of the pagination).\n if (\n index >= selected - leftSide &&\n index <= selected + adjustedRightSide\n ) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index doesn't meet any of the conditions above,\n // we check if the last item of the current \"items\" array\n // is a break element. If not, we add a break element, else,\n // we do nothing (because we don't want to display the page).\n if (\n breakLabel &&\n pagesBreaking.length > 0 &&\n pagesBreaking[pagesBreaking.length - 1].display !== breakView &&\n // We do not show break if only one active page is displayed.\n (pageRangeDisplayed > 0 || marginPagesDisplayed > 0)\n ) {\n breakView = (\n \n );\n pagesBreaking.push({ type: 'break', index, display: breakView });\n }\n }\n // Second pass: we remove breaks containing one page to the actual page.\n pagesBreaking.forEach((pageElement, i) => {\n let actualPageElement = pageElement;\n // 1 2 3 4 5 6 7 ... 9 10\n // |\n // 1 2 ... 4 5 6 7 8 9 10\n // |\n // The break should be replaced by the page.\n if (\n pageElement.type === 'break' &&\n pagesBreaking[i - 1] &&\n pagesBreaking[i - 1].type === 'page' &&\n pagesBreaking[i + 1] &&\n pagesBreaking[i + 1].type === 'page' &&\n pagesBreaking[i + 1].index - pagesBreaking[i - 1].index <= 2\n ) {\n actualPageElement = {\n type: 'page',\n index: pageElement.index,\n display: createPageView(pageElement.index),\n };\n }\n // We add the displayed elements in the same pass, to avoid another iteration.\n items.push(actualPageElement.display);\n });\n }\n\n return items;\n };\n\n render() {\n const { renderOnZeroPageCount } = this.props;\n if (this.props.pageCount === 0 && renderOnZeroPageCount !== undefined) {\n return renderOnZeroPageCount\n ? renderOnZeroPageCount(this.props)\n : renderOnZeroPageCount;\n }\n const {\n disabledClassName,\n disabledLinkClassName,\n pageCount,\n className,\n containerClassName,\n previousLabel,\n previousClassName,\n previousLinkClassName,\n previousAriaLabel,\n prevRel,\n nextLabel,\n nextClassName,\n nextLinkClassName,\n nextAriaLabel,\n nextRel,\n } = this.props;\n\n const { selected } = this.state;\n\n const isPreviousDisabled = selected === 0;\n const isNextDisabled = selected === pageCount - 1;\n\n const previousClasses = `${classNameIfDefined(previousClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n const nextClasses = `${classNameIfDefined(nextClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n\n const previousLinkClasses = `${classNameIfDefined(previousLinkClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n const nextLinkClasses = `${classNameIfDefined(nextLinkClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n\n const previousAriaDisabled = isPreviousDisabled ? 'true' : 'false';\n const nextAriaDisabled = isNextDisabled ? 'true' : 'false';\n\n return (\n
      \n
    • \n \n {previousLabel}\n \n
    • \n\n {this.pagination()}\n\n
    • \n \n {nextLabel}\n \n
    • \n
    \n );\n }\n}\n","import PaginationBoxView from './PaginationBoxView';\n\nexport default PaginationBoxView;\n","export function classNameIfDefined(className, orClassName = '') {\n return className !== undefined && className !== null\n ? className\n : orClassName;\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__98__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(351);\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__98__","BreakView","props","breakLabel","breakClassName","breakLinkClassName","breakHandler","getEventListener","className","role","tabIndex","onKeyPress","propTypes","PropTypes","PageView","pageClassName","pageLinkClassName","page","selected","activeClassName","activeLinkClassName","pageSelectedHandler","href","extraAriaContext","pageLabelBuilder","rel","ariaLabel","ariaCurrent","undefined","PaginationBoxView","initialSelected","evt","state","preventDefault","returnValue","handlePageSelected","pageCount","setState","callCallback","callActiveCallback","handlerFunction","eventListener","index","getForwardJump","getBackwardJump","selectedItem","onPageChange","onPageActive","nextPageRel","prevPageRel","selectedPageRel","items","pageRangeDisplayed","marginPagesDisplayed","push","getPageElement","leftSide","rightSide","breakView","createPageView","pagesBreaking","type","display","length","key","handleBreakClick","bind","forEach","pageElement","i","actualPageElement","initialPage","forcePage","console","warn","disableInitialCallback","Number","isInteger","prevProps","forwardJump","backwardJump","pageIndex","hrefBuilder","hrefAllControls","ariaLabelBuilder","label","getElementPageRel","getElementHref","renderOnZeroPageCount","disabledClassName","disabledLinkClassName","containerClassName","previousLabel","previousClassName","previousLinkClassName","previousAriaLabel","prevRel","nextLabel","nextClassName","nextLinkClassName","nextAriaLabel","nextRel","isPreviousDisabled","isNextDisabled","previousClasses","classNameIfDefined","nextClasses","previousLinkClasses","nextLinkClasses","previousAriaDisabled","nextAriaDisabled","handlePreviousPage","pagination","handleNextPage","Component","orClassName","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","hmd","create","children","set","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"react-paginate.js","mappings":"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","sources":["webpack://ReactPaginate/webpack/universalModuleDefinition","webpack://ReactPaginate/./react_components/BreakView.js","webpack://ReactPaginate/./react_components/PageView.js","webpack://ReactPaginate/./react_components/PaginationBoxView.js","webpack://ReactPaginate/./react_components/index.js","webpack://ReactPaginate/./react_components/utils.js","webpack://ReactPaginate/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://ReactPaginate/./node_modules/prop-types/index.js","webpack://ReactPaginate/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://ReactPaginate/external umd {\"root\":\"React\",\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\"}","webpack://ReactPaginate/webpack/bootstrap","webpack://ReactPaginate/webpack/runtime/compat get default export","webpack://ReactPaginate/webpack/runtime/define property getters","webpack://ReactPaginate/webpack/runtime/harmony module decorator","webpack://ReactPaginate/webpack/runtime/hasOwnProperty shorthand","webpack://ReactPaginate/webpack/runtime/make namespace object","webpack://ReactPaginate/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactPaginate\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"ReactPaginate\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__98__) {\nreturn ","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst BreakView = (props) => {\n const {\n breakLabel,\n breakClassName,\n breakLinkClassName,\n breakHandler,\n getEventListener,\n } = props;\n const className = breakClassName || 'break';\n\n return (\n
  • \n \n {breakLabel}\n \n
  • \n );\n};\n\nBreakView.propTypes = {\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n breakHandler: PropTypes.func.isRequired,\n getEventListener: PropTypes.func.isRequired,\n};\n\nexport default BreakView;\n","'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PageView = (props) => {\n let { pageClassName, pageLinkClassName } = props;\n const {\n page,\n selected,\n activeClassName,\n activeLinkClassName,\n getEventListener,\n pageSelectedHandler,\n href,\n extraAriaContext,\n pageLabelBuilder,\n rel,\n } = props;\n\n let ariaLabel =\n props.ariaLabel ||\n 'Page ' + page + (extraAriaContext ? ' ' + extraAriaContext : '');\n let ariaCurrent = null;\n\n if (selected) {\n ariaCurrent = 'page';\n\n ariaLabel = props.ariaLabel || 'Page ' + page + ' is your current page';\n\n if (typeof pageClassName !== 'undefined') {\n pageClassName = pageClassName + ' ' + activeClassName;\n } else {\n pageClassName = activeClassName;\n }\n\n if (typeof pageLinkClassName !== 'undefined') {\n if (typeof activeLinkClassName !== 'undefined') {\n pageLinkClassName = pageLinkClassName + ' ' + activeLinkClassName;\n }\n } else {\n pageLinkClassName = activeLinkClassName;\n }\n }\n\n return (\n
  • \n \n {pageLabelBuilder(page)}\n \n
  • \n );\n};\n\nPageView.propTypes = {\n pageSelectedHandler: PropTypes.func.isRequired,\n selected: PropTypes.bool.isRequired,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n href: PropTypes.string,\n ariaLabel: PropTypes.string,\n page: PropTypes.number.isRequired,\n getEventListener: PropTypes.func.isRequired,\n pageLabelBuilder: PropTypes.func.isRequired,\n rel: PropTypes.string,\n};\n\nexport default PageView;\n","'use strict';\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport PageView from './PageView';\nimport BreakView from './BreakView';\nimport { classNameIfDefined } from './utils';\n\nexport default class PaginationBoxView extends Component {\n static propTypes = {\n pageCount: PropTypes.number.isRequired,\n pageRangeDisplayed: PropTypes.number,\n marginPagesDisplayed: PropTypes.number,\n previousLabel: PropTypes.node,\n previousAriaLabel: PropTypes.string,\n prevPageRel: PropTypes.string,\n prevRel: PropTypes.string,\n nextLabel: PropTypes.node,\n nextAriaLabel: PropTypes.string,\n nextPageRel: PropTypes.string,\n nextRel: PropTypes.string,\n breakLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n hrefBuilder: PropTypes.func,\n hrefAllControls: PropTypes.bool,\n onPageChange: PropTypes.func,\n onPageActive: PropTypes.func,\n onClick: PropTypes.func,\n initialPage: PropTypes.number,\n forcePage: PropTypes.number,\n disableInitialCallback: PropTypes.bool,\n containerClassName: PropTypes.string,\n className: PropTypes.string,\n pageClassName: PropTypes.string,\n pageLinkClassName: PropTypes.string,\n pageLabelBuilder: PropTypes.func,\n activeClassName: PropTypes.string,\n activeLinkClassName: PropTypes.string,\n previousClassName: PropTypes.string,\n nextClassName: PropTypes.string,\n previousLinkClassName: PropTypes.string,\n nextLinkClassName: PropTypes.string,\n disabledClassName: PropTypes.string,\n disabledLinkClassName: PropTypes.string,\n breakClassName: PropTypes.string,\n breakLinkClassName: PropTypes.string,\n extraAriaContext: PropTypes.string,\n ariaLabelBuilder: PropTypes.func,\n eventListener: PropTypes.string,\n renderOnZeroPageCount: PropTypes.func,\n selectedPageRel: PropTypes.string,\n };\n\n static defaultProps = {\n pageRangeDisplayed: 2,\n marginPagesDisplayed: 3,\n activeClassName: 'selected',\n previousLabel: 'Previous',\n previousClassName: 'previous',\n previousAriaLabel: 'Previous page',\n prevPageRel: 'prev',\n prevRel: 'prev',\n nextLabel: 'Next',\n nextClassName: 'next',\n nextAriaLabel: 'Next page',\n nextPageRel: 'next',\n nextRel: 'next',\n breakLabel: '...',\n disabledClassName: 'disabled',\n disableInitialCallback: false,\n pageLabelBuilder: (page) => page,\n eventListener: 'onClick',\n renderOnZeroPageCount: undefined,\n selectedPageRel: 'canonical',\n hrefAllControls: false,\n };\n\n constructor(props) {\n super(props);\n\n if (props.initialPage !== undefined && props.forcePage !== undefined) {\n console.warn(\n `(react-paginate): Both initialPage (${props.initialPage}) and forcePage (${props.forcePage}) props are provided, which is discouraged.` +\n ' Use exclusively forcePage prop for a controlled component.\\nSee https://reactjs.org/docs/forms.html#controlled-components'\n );\n }\n\n let initialSelected;\n if (props.initialPage) {\n initialSelected = props.initialPage;\n } else if (props.forcePage) {\n initialSelected = props.forcePage;\n } else {\n initialSelected = 0;\n }\n\n this.state = {\n selected: initialSelected,\n };\n }\n\n componentDidMount() {\n const {\n initialPage,\n disableInitialCallback,\n extraAriaContext,\n pageCount,\n forcePage,\n } = this.props;\n // Call the callback with the initialPage item:\n if (typeof initialPage !== 'undefined' && !disableInitialCallback) {\n this.callCallback(initialPage);\n }\n\n if (extraAriaContext) {\n console.warn(\n 'DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead.'\n );\n }\n\n if (!Number.isInteger(pageCount)) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${pageCount}). Did you forget a Math.ceil()?`\n );\n }\n\n if (initialPage !== undefined && initialPage > pageCount - 1) {\n console.warn(\n `(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (${initialPage} > ${\n pageCount - 1\n }).`\n );\n }\n\n if (forcePage !== undefined && forcePage > pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${forcePage} > ${\n pageCount - 1\n }).`\n );\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.forcePage !== undefined &&\n this.props.forcePage !== prevProps.forcePage\n ) {\n if (this.props.forcePage > this.props.pageCount - 1) {\n console.warn(\n `(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (${\n this.props.forcePage\n } > ${this.props.pageCount - 1}).`\n );\n }\n\n this.setState({ selected: this.props.forcePage });\n }\n\n if (\n Number.isInteger(prevProps.pageCount) &&\n !Number.isInteger(this.props.pageCount)\n ) {\n console.warn(\n `(react-paginate): The pageCount prop value provided is not an integer (${this.props.pageCount}). Did you forget a Math.ceil()?`\n );\n }\n }\n\n handlePreviousPage = (event) => {\n const { selected } = this.state;\n\n this.handleClick(event, null, selected > 0 ? selected - 1 : undefined, {\n isPrevious: true,\n });\n };\n\n handleNextPage = (event) => {\n const { selected } = this.state;\n const { pageCount } = this.props;\n\n this.handleClick(\n event,\n null,\n selected < pageCount - 1 ? selected + 1 : undefined,\n { isNext: true }\n );\n };\n\n handlePageSelected = (selected, event) => {\n if (this.state.selected === selected) {\n this.callActiveCallback(selected);\n this.handleClick(event, null, undefined, { isActive: true });\n return;\n }\n\n this.handleClick(event, null, selected);\n };\n\n handlePageChange = (selected) => {\n if (this.state.selected === selected) {\n return;\n }\n this.setState({ selected });\n\n // Call the callback with the new selected item:\n this.callCallback(selected);\n };\n\n getEventListener = (handlerFunction) => {\n const { eventListener } = this.props;\n return {\n [eventListener]: handlerFunction,\n };\n };\n\n getForwardJump() {\n const { selected } = this.state;\n const { pageCount, pageRangeDisplayed } = this.props;\n\n const forwardJump = selected + pageRangeDisplayed;\n return forwardJump >= pageCount ? pageCount - 1 : forwardJump;\n }\n\n getBackwardJump() {\n const { selected } = this.state;\n const { pageRangeDisplayed } = this.props;\n\n const backwardJump = selected - pageRangeDisplayed;\n return backwardJump < 0 ? 0 : backwardJump;\n }\n\n handleClick = (\n event,\n index,\n nextSelectedPage,\n {\n isPrevious = false,\n isNext = false,\n isBreak = false,\n isActive = false,\n } = {}\n ) => {\n event.preventDefault ? event.preventDefault() : (event.returnValue = false);\n const { selected } = this.state;\n const { onClick } = this.props;\n\n let newPage = nextSelectedPage;\n\n if (onClick) {\n const onClickReturn = onClick({\n index,\n selected,\n nextSelectedPage,\n event,\n isPrevious,\n isNext,\n isBreak,\n isActive,\n });\n if (onClickReturn === false) {\n // We abord standard behavior and let parent handle\n // all behavior.\n return;\n }\n if (Number.isInteger(onClickReturn)) {\n // We assume parent want to go to the returned page.\n newPage = onClickReturn;\n }\n }\n\n if (newPage !== undefined) {\n this.handlePageChange(newPage);\n }\n };\n\n handleBreakClick = (index, event) => {\n const { selected } = this.state;\n\n this.handleClick(\n event,\n index,\n selected < index ? this.getForwardJump() : this.getBackwardJump(),\n { isBreak: true }\n );\n };\n\n getElementHref(pageIndex) {\n const { hrefBuilder, pageCount, hrefAllControls } = this.props;\n if (!hrefBuilder) return;\n if (hrefAllControls || (pageIndex >= 0 && pageIndex < pageCount)) {\n return hrefBuilder(pageIndex + 1, pageCount, this.state.selected);\n }\n }\n\n ariaLabelBuilder(pageIndex) {\n const selected = pageIndex === this.state.selected;\n if (\n this.props.ariaLabelBuilder &&\n pageIndex >= 0 &&\n pageIndex < this.props.pageCount\n ) {\n let label = this.props.ariaLabelBuilder(pageIndex + 1, selected);\n // DEPRECATED: The extraAriaContext prop was used to add additional context\n // to the aria-label. Users should now use the ariaLabelBuilder instead.\n if (this.props.extraAriaContext && !selected) {\n label = label + ' ' + this.props.extraAriaContext;\n }\n return label;\n }\n }\n\n callCallback = (selectedItem) => {\n if (\n this.props.onPageChange !== undefined &&\n typeof this.props.onPageChange === 'function'\n ) {\n this.props.onPageChange({ selected: selectedItem });\n }\n };\n\n callActiveCallback = (selectedItem) => {\n if (\n this.props.onPageActive !== undefined &&\n typeof this.props.onPageActive === 'function'\n ) {\n this.props.onPageActive({ selected: selectedItem });\n }\n };\n\n getElementPageRel = (index) => {\n const { selected } = this.state;\n const { nextPageRel, prevPageRel, selectedPageRel } = this.props;\n\n if (selected - 1 === index) {\n return prevPageRel;\n } else if (selected === index) {\n return selectedPageRel;\n } else if (selected + 1 === index) {\n return nextPageRel;\n }\n return undefined;\n };\n\n getPageElement(index) {\n const { selected } = this.state;\n const {\n pageClassName,\n pageLinkClassName,\n activeClassName,\n activeLinkClassName,\n extraAriaContext,\n pageLabelBuilder,\n } = this.props;\n\n return (\n \n );\n }\n\n pagination = () => {\n const items = [];\n const {\n pageRangeDisplayed,\n pageCount,\n marginPagesDisplayed,\n breakLabel,\n breakClassName,\n breakLinkClassName,\n } = this.props;\n\n const { selected } = this.state;\n\n if (pageCount <= pageRangeDisplayed) {\n for (let index = 0; index < pageCount; index++) {\n items.push(this.getPageElement(index));\n }\n } else {\n let leftSide = pageRangeDisplayed / 2;\n let rightSide = pageRangeDisplayed - leftSide;\n\n // If the selected page index is on the default right side of the pagination,\n // we consider that the new right side is made up of it (= only one break element).\n // If the selected page index is on the default left side of the pagination,\n // we consider that the new left side is made up of it (= only one break element).\n if (selected > pageCount - pageRangeDisplayed / 2) {\n rightSide = pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n } else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n\n let createPageView = (index) => this.getPageElement(index);\n let index;\n let breakView;\n\n // First pass: process the pages or breaks to display (or not).\n const pagesBreaking = [];\n for (index = 0; index < pageCount; index++) {\n const page = index + 1;\n\n // If the page index is lower than the margin defined,\n // the page has to be displayed on the left side of\n // the pagination.\n if (page <= marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index is greater than the page count\n // minus the margin defined, the page has to be\n // displayed on the right side of the pagination.\n if (page > pageCount - marginPagesDisplayed) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If it is the first element of the array the rightSide need to be adjusted,\n // otherwise an extra element will be rendered\n const adjustedRightSide =\n selected === 0 && pageRangeDisplayed > 1 ? rightSide - 1 : rightSide;\n\n // If the page index is near the selected page index\n // and inside the defined range (pageRangeDisplayed)\n // we have to display it (it will create the center\n // part of the pagination).\n if (\n index >= selected - leftSide &&\n index <= selected + adjustedRightSide\n ) {\n pagesBreaking.push({\n type: 'page',\n index,\n display: createPageView(index),\n });\n continue;\n }\n\n // If the page index doesn't meet any of the conditions above,\n // we check if the last item of the current \"items\" array\n // is a break element. If not, we add a break element, else,\n // we do nothing (because we don't want to display the page).\n if (\n breakLabel &&\n pagesBreaking.length > 0 &&\n pagesBreaking[pagesBreaking.length - 1].display !== breakView &&\n // We do not show break if only one active page is displayed.\n (pageRangeDisplayed > 0 || marginPagesDisplayed > 0)\n ) {\n breakView = (\n \n );\n pagesBreaking.push({ type: 'break', index, display: breakView });\n }\n }\n // Second pass: we remove breaks containing one page to the actual page.\n pagesBreaking.forEach((pageElement, i) => {\n let actualPageElement = pageElement;\n // 1 2 3 4 5 6 7 ... 9 10\n // |\n // 1 2 ... 4 5 6 7 8 9 10\n // |\n // The break should be replaced by the page.\n if (\n pageElement.type === 'break' &&\n pagesBreaking[i - 1] &&\n pagesBreaking[i - 1].type === 'page' &&\n pagesBreaking[i + 1] &&\n pagesBreaking[i + 1].type === 'page' &&\n pagesBreaking[i + 1].index - pagesBreaking[i - 1].index <= 2\n ) {\n actualPageElement = {\n type: 'page',\n index: pageElement.index,\n display: createPageView(pageElement.index),\n };\n }\n // We add the displayed elements in the same pass, to avoid another iteration.\n items.push(actualPageElement.display);\n });\n }\n\n return items;\n };\n\n render() {\n const { renderOnZeroPageCount } = this.props;\n if (this.props.pageCount === 0 && renderOnZeroPageCount !== undefined) {\n return renderOnZeroPageCount\n ? renderOnZeroPageCount(this.props)\n : renderOnZeroPageCount;\n }\n const {\n disabledClassName,\n disabledLinkClassName,\n pageCount,\n className,\n containerClassName,\n previousLabel,\n previousClassName,\n previousLinkClassName,\n previousAriaLabel,\n prevRel,\n nextLabel,\n nextClassName,\n nextLinkClassName,\n nextAriaLabel,\n nextRel,\n } = this.props;\n\n const { selected } = this.state;\n\n const isPreviousDisabled = selected === 0;\n const isNextDisabled = selected === pageCount - 1;\n\n const previousClasses = `${classNameIfDefined(previousClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n const nextClasses = `${classNameIfDefined(nextClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledClassName)}` : ''\n }`;\n\n const previousLinkClasses = `${classNameIfDefined(previousLinkClassName)}${\n isPreviousDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n const nextLinkClasses = `${classNameIfDefined(nextLinkClassName)}${\n isNextDisabled ? ` ${classNameIfDefined(disabledLinkClassName)}` : ''\n }`;\n\n const previousAriaDisabled = isPreviousDisabled ? 'true' : 'false';\n const nextAriaDisabled = isNextDisabled ? 'true' : 'false';\n\n return (\n
      \n
    • \n \n {previousLabel}\n \n
    • \n\n {this.pagination()}\n\n
    • \n \n {nextLabel}\n \n
    • \n
    \n );\n }\n}\n","import PaginationBoxView from './PaginationBoxView';\n\nexport default PaginationBoxView;\n","export function classNameIfDefined(className, orClassName = '') {\n return className !== undefined && className !== null\n ? className\n : orClassName;\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__98__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(351);\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__98__","BreakView","props","breakLabel","breakClassName","breakLinkClassName","breakHandler","getEventListener","className","role","tabIndex","onKeyPress","propTypes","PropTypes","PageView","pageClassName","pageLinkClassName","page","selected","activeClassName","activeLinkClassName","pageSelectedHandler","href","extraAriaContext","pageLabelBuilder","rel","ariaLabel","ariaCurrent","undefined","PaginationBoxView","initialSelected","event","state","handleClick","isPrevious","pageCount","isNext","callActiveCallback","isActive","setState","callCallback","handlerFunction","eventListener","index","nextSelectedPage","isBreak","preventDefault","returnValue","onClick","newPage","onClickReturn","Number","isInteger","handlePageChange","getForwardJump","getBackwardJump","selectedItem","onPageChange","onPageActive","nextPageRel","prevPageRel","selectedPageRel","items","pageRangeDisplayed","marginPagesDisplayed","push","getPageElement","leftSide","rightSide","breakView","createPageView","pagesBreaking","type","display","length","key","handleBreakClick","bind","forEach","pageElement","i","actualPageElement","initialPage","forcePage","console","warn","disableInitialCallback","prevProps","forwardJump","backwardJump","pageIndex","hrefBuilder","hrefAllControls","ariaLabelBuilder","label","handlePageSelected","getElementPageRel","getElementHref","renderOnZeroPageCount","disabledClassName","disabledLinkClassName","containerClassName","previousLabel","previousClassName","previousLinkClassName","previousAriaLabel","prevRel","nextLabel","nextClassName","nextLinkClassName","nextAriaLabel","nextRel","isPreviousDisabled","isNextDisabled","previousClasses","classNameIfDefined","nextClasses","previousLinkClasses","nextLinkClasses","previousAriaDisabled","nextAriaDisabled","handlePreviousPage","pagination","handleNextPage","Component","orClassName","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","hmd","create","children","set","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/index.d.ts b/index.d.ts index c587257..b88909f 100644 --- a/index.d.ts +++ b/index.d.ts @@ -89,6 +89,20 @@ export interface ReactPaginateProps { */ onPageActive?(selectedItem: { selected: number }): void; + /** + * The method to call when an active page is clicked. Exposes the active page object as an argument. + */ + onClick?(clickEvent: { + index: number | null; + selected: number; + nextSelectedPage: number | undefined; + event: object; + isPrevious: boolean; + isNext: boolean; + isBreak: boolean; + isActive: boolean; + }): boolean | number | void; + /** * The initial page selected. */ diff --git a/react_components/PaginationBoxView.js b/react_components/PaginationBoxView.js index d5790ba..6803530 100755 --- a/react_components/PaginationBoxView.js +++ b/react_components/PaginationBoxView.js @@ -24,6 +24,7 @@ export default class PaginationBoxView extends Component { hrefAllControls: PropTypes.bool, onPageChange: PropTypes.func, onPageActive: PropTypes.func, + onClick: PropTypes.func, initialPage: PropTypes.number, forcePage: PropTypes.number, disableInitialCallback: PropTypes.bool, @@ -165,33 +166,41 @@ export default class PaginationBoxView extends Component { } } - handlePreviousPage = (evt) => { + handlePreviousPage = (event) => { const { selected } = this.state; - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); - if (selected > 0) { - this.handlePageSelected(selected - 1, evt); - } + + this.handleClick(event, null, selected > 0 ? selected - 1 : undefined, { + isPrevious: true, + }); }; - handleNextPage = (evt) => { + handleNextPage = (event) => { const { selected } = this.state; const { pageCount } = this.props; - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); - if (selected < pageCount - 1) { - this.handlePageSelected(selected + 1, evt); - } + this.handleClick( + event, + null, + selected < pageCount - 1 ? selected + 1 : undefined, + { isNext: true } + ); }; - handlePageSelected = (selected, evt) => { - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); - + handlePageSelected = (selected, event) => { if (this.state.selected === selected) { this.callActiveCallback(selected); + this.handleClick(event, null, undefined, { isActive: true }); return; } - this.setState({ selected: selected }); + this.handleClick(event, null, selected); + }; + + handlePageChange = (selected) => { + if (this.state.selected === selected) { + return; + } + this.setState({ selected }); // Call the callback with the new selected item: this.callCallback(selected); @@ -220,14 +229,58 @@ export default class PaginationBoxView extends Component { return backwardJump < 0 ? 0 : backwardJump; } - handleBreakClick = (index, evt) => { - evt.preventDefault ? evt.preventDefault() : (evt.returnValue = false); + handleClick = ( + event, + index, + nextSelectedPage, + { + isPrevious = false, + isNext = false, + isBreak = false, + isActive = false, + } = {} + ) => { + event.preventDefault ? event.preventDefault() : (event.returnValue = false); + const { selected } = this.state; + const { onClick } = this.props; + + let newPage = nextSelectedPage; + + if (onClick) { + const onClickReturn = onClick({ + index, + selected, + nextSelectedPage, + event, + isPrevious, + isNext, + isBreak, + isActive, + }); + if (onClickReturn === false) { + // We abord standard behavior and let parent handle + // all behavior. + return; + } + if (Number.isInteger(onClickReturn)) { + // We assume parent want to go to the returned page. + newPage = onClickReturn; + } + } + + if (newPage !== undefined) { + this.handlePageChange(newPage); + } + }; + handleBreakClick = (index, event) => { const { selected } = this.state; - this.handlePageSelected( + this.handleClick( + event, + index, selected < index ? this.getForwardJump() : this.getBackwardJump(), - evt + { isBreak: true } ); }; @@ -258,7 +311,7 @@ export default class PaginationBoxView extends Component { callCallback = (selectedItem) => { if ( - typeof this.props.onPageChange !== 'undefined' && + this.props.onPageChange !== undefined && typeof this.props.onPageChange === 'function' ) { this.props.onPageChange({ selected: selectedItem }); @@ -267,7 +320,7 @@ export default class PaginationBoxView extends Component { callActiveCallback = (selectedItem) => { if ( - typeof this.props.onPageActive !== 'undefined' && + this.props.onPageActive !== undefined && typeof this.props.onPageActive === 'function' ) { this.props.onPageActive({ selected: selectedItem });