react-router-pagination 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-router-pagination",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "description": "A React Router Pagination component",
5
5
  "main": "./src/index.mjs",
6
6
  "type": "module",
@@ -26,11 +26,11 @@
26
26
  "prepare": "husky install"
27
27
  },
28
28
  "devDependencies": {
29
- "@babel/core": "^7.22.9",
30
- "@babel/eslint-parser": "^7.22.9",
29
+ "@babel/core": "^7.22.10",
30
+ "@babel/eslint-parser": "^7.22.10",
31
31
  "@babel/plugin-syntax-jsx": "^7.22.5",
32
- "@babel/plugin-transform-typescript": "^7.22.9",
33
- "@babel/preset-env": "^7.22.9",
32
+ "@babel/plugin-transform-typescript": "^7.22.10",
33
+ "@babel/preset-env": "^7.22.10",
34
34
  "@babel/preset-react": "^7.22.5",
35
35
  "@babel/preset-typescript": "^7.22.5",
36
36
  "@babel/register": "^7.22.5",
@@ -41,7 +41,7 @@
41
41
  "@storybook/react": "^7.2.1",
42
42
  "@storybook/react-webpack5": "^7.2.1",
43
43
  "@types/jest": "^29.5.3",
44
- "@types/react": "^18.2.18",
44
+ "@types/react": "^18.2.19",
45
45
  "@types/react-router": "^5.1.20",
46
46
  "@types/react-router-dom": "^5.3.3",
47
47
  "@types/react-test-renderer": "^18.0.0",
@@ -37,7 +37,7 @@ describe('react-router-pagination/pagination/centered', () => {
37
37
  describe('<Centered />', () => {
38
38
  describe('With `pageNumber` and `totalPages`', () => {
39
39
  it('renders', () => {
40
- const component = (
40
+ const rendered = renderer.create(
41
41
  <MemoryRouter>
42
42
  <Centered
43
43
  pageNumber={1}
@@ -46,14 +46,14 @@ describe('react-router-pagination/pagination/centered', () => {
46
46
  </MemoryRouter>
47
47
  )
48
48
 
49
- expect(renderer.create(component).toJSON())
49
+ expect(rendered.toJSON())
50
50
  .toMatchSnapshot()
51
51
  })
52
52
  })
53
53
 
54
54
  describe('With `spread`', () => {
55
55
  it('renders', () => {
56
- const component = (
56
+ const rendered = renderer.create(
57
57
  <MemoryRouter>
58
58
  <Centered
59
59
  pageNumber={5}
@@ -63,7 +63,7 @@ describe('react-router-pagination/pagination/centered', () => {
63
63
  </MemoryRouter>
64
64
  )
65
65
 
66
- expect(renderer.create(component).toJSON())
66
+ expect(rendered.toJSON())
67
67
  .toMatchSnapshot()
68
68
  })
69
69
  })
@@ -37,13 +37,13 @@ describe('react-router-pagination/pagination/component', () => {
37
37
  describe('<Pagination />', () => {
38
38
  describe('With `pageNumber` and `totalPages`', () => {
39
39
  it('renders', () => {
40
- const component = (
40
+ const rendered = renderer.create(
41
41
  <MemoryRouter>
42
42
  <Pagination pageNumber={1} totalPages={2} />
43
43
  </MemoryRouter>
44
44
  )
45
45
 
46
- expect(renderer.create(component).toJSON())
46
+ expect(rendered.toJSON())
47
47
  .toMatchSnapshot()
48
48
  })
49
49
  })
@@ -69,13 +69,16 @@ describe('react-router-pagination', () => {
69
69
  describe('<Pagination />', () => {
70
70
  describe('With `pageNumber` and `totalPages`', () => {
71
71
  it('renders', () => {
72
- const component = (
72
+ const rendered = renderer.create(
73
73
  <MemoryRouter>
74
- <Pagination pageNumber={1} totalPages={2} />
74
+ <Pagination
75
+ pageNumber={1}
76
+ totalPages={2}
77
+ />
75
78
  </MemoryRouter>
76
79
  )
77
80
 
78
- expect(renderer.create(component).toJSON())
81
+ expect(rendered.toJSON())
79
82
  .toMatchSnapshot()
80
83
  })
81
84
  })
@@ -84,13 +87,17 @@ describe('react-router-pagination', () => {
84
87
  describe('<Centered />', () => {
85
88
  describe('With `pageNumber` and `totalPages` and `spread`', () => {
86
89
  it('renders', () => {
87
- const component = (
90
+ const rendered = renderer.create(
88
91
  <MemoryRouter>
89
- <Centered pageNumber={9} totalPages={9} spread={3} />
92
+ <Centered
93
+ pageNumber={9}
94
+ totalPages={9}
95
+ spread={3}
96
+ />
90
97
  </MemoryRouter>
91
98
  )
92
99
 
93
- expect(renderer.create(component).toJSON())
100
+ expect(rendered.toJSON())
94
101
  .toMatchSnapshot()
95
102
  })
96
103
  })
@@ -99,13 +106,17 @@ describe('react-router-pagination', () => {
99
106
  describe('<Standard />', () => {
100
107
  describe('With `pageNumber` and `totalPages` and `spread`', () => {
101
108
  it('renders', () => {
102
- const component = (
109
+ const rendered = renderer.create(
103
110
  <MemoryRouter>
104
- <Standard pageNumber={9} totalPages={9} spread={3} />
111
+ <Standard
112
+ pageNumber={9}
113
+ totalPages={9}
114
+ spread={3}
115
+ />
105
116
  </MemoryRouter>
106
117
  )
107
118
 
108
- expect(renderer.create(component).toJSON())
119
+ expect(rendered.toJSON())
109
120
  .toMatchSnapshot()
110
121
  })
111
122
  })
@@ -37,7 +37,7 @@ describe('react-router-pagination/pagination/standard', () => {
37
37
  describe('<Standard />', () => {
38
38
  describe('With `pageNumber` and `totalPages`', () => {
39
39
  it('renders', () => {
40
- const component = (
40
+ const rendered = renderer.create(
41
41
  <MemoryRouter>
42
42
  <Standard
43
43
  pageNumber={1}
@@ -46,13 +46,13 @@ describe('react-router-pagination/pagination/standard', () => {
46
46
  </MemoryRouter>
47
47
  )
48
48
 
49
- expect(renderer.create(component).toJSON())
49
+ expect(rendered.toJSON())
50
50
  .toMatchSnapshot()
51
51
  })
52
52
 
53
53
  describe('With `spread`', () => {
54
54
  it('renders', () => {
55
- const component = (
55
+ const rendered = renderer.create(
56
56
  <MemoryRouter>
57
57
  <Standard
58
58
  pageNumber={5}
@@ -62,7 +62,7 @@ describe('react-router-pagination/pagination/standard', () => {
62
62
  </MemoryRouter>
63
63
  )
64
64
 
65
- expect(renderer.create(component).toJSON())
65
+ expect(rendered.toJSON())
66
66
  .toMatchSnapshot()
67
67
  })
68
68
  })
package/src/index.tsx CHANGED
@@ -1,5 +1,10 @@
1
1
  import React from 'react'
2
2
 
3
+ import AbstractPagination, {
4
+ type AbstractPaginationProps,
5
+ type AbstractPaginationState
6
+ } from './pagination/component.tsx'
7
+
3
8
  import {
4
9
  Standard
5
10
  } from './pagination/standard/index.tsx'
@@ -9,17 +14,18 @@ import {
9
14
  } from './pagination/centered/index.tsx'
10
15
 
11
16
  import {
12
- calculateTotalPages,
13
- calculatePageNumber
17
+ toInteger
14
18
  } from './pagination/common/index.mts'
15
19
 
16
- export interface PaginationProps {
20
+ export interface PaginationProps extends AbstractPaginationProps {
17
21
  format?: string
18
22
  }
19
23
 
20
- export default class Pagination extends React.Component<PaginationProps> {
21
- static calculateTotalPages = calculateTotalPages
22
- static calculatePageNumber = calculatePageNumber
24
+ export default class Pagination extends AbstractPagination<PaginationProps, AbstractPaginationState> {
25
+ state = {
26
+ pageNumber: toInteger(this.props.pageNumber),
27
+ totalPages: toInteger(this.props.totalPages)
28
+ }
23
29
 
24
30
  render (): JSX.Element {
25
31
  const { format, ...props }: PaginationProps = this.props