Skip to content

Commit 4a4a6a2

Browse files
committed
allow styling the pagination links
1 parent 6defb84 commit 4a4a6a2

File tree

2 files changed

+54
-24
lines changed

2 files changed

+54
-24
lines changed

src/components/Pagination.tsx

+23-20
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,28 @@ import React from 'react';
22
import styled from 'styled-components';
33
import { palette } from "../theme/palette";
44

5+
export const LinkForPage = styled(({ page, current, href, onClick, className }: {
6+
page: number;
7+
current?: boolean;
8+
href?: string;
9+
className?: string;
10+
onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
11+
}) => {
12+
const currentValue = current ? "page" : undefined;
13+
14+
return (
15+
<a
16+
className={className}
17+
aria-current={currentValue}
18+
href={href || '#'}
19+
onClick={onClick}
20+
>
21+
{page}
22+
</a>
23+
);
24+
})`
25+
`;
26+
527
export const Pagination = styled((props: {
628
className?: string;
729
Page: (props: {page: number; current: boolean}) => React.ReactElement;
@@ -146,7 +168,7 @@ export const Pagination = styled((props: {
146168
background-color: ${palette.neutralLighter};
147169
}
148170
149-
> a,span {
171+
> ${LinkForPage},span {
150172
padding: 1rem;
151173
display: block;
152174
text-decoration: none;
@@ -168,22 +190,3 @@ function range(lower: number, upper: number) {
168190
if (upper < lower) return [];
169191
return Array.from({length: upper-lower}).map((_, i) => i + lower);
170192
}
171-
172-
export function LinkForPage({ page, current, href, onClick }: {
173-
page: number;
174-
current?: boolean;
175-
href?: string;
176-
onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
177-
}) {
178-
const currentValue = current ? "page" : undefined;
179-
180-
return (
181-
<a
182-
aria-current={currentValue}
183-
href={href || '#'}
184-
onClick={onClick}
185-
>
186-
{page}
187-
</a>
188-
);
189-
}

src/components/__snapshots__/Pagination.spec.tsx.snap

+31-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ exports[`Pagination grows to min size 1`] = `
66
id="root"
77
>
88
<div
9-
class="sc-bczRLJ cvTmMf"
9+
class="sc-gsnTZi Nkuun"
1010
>
1111
<nav
1212
aria-label="pagination links"
@@ -17,34 +17,39 @@ exports[`Pagination grows to min size 1`] = `
1717
>
1818
<a
1919
aria-current="page"
20+
class="sc-bczRLJ kkAHbA"
2021
href="#"
2122
>
2223
1
2324
</a>
2425
</li>
2526
<li>
2627
<a
28+
class="sc-bczRLJ kkAHbA"
2729
href="#"
2830
>
2931
2
3032
</a>
3133
</li>
3234
<li>
3335
<a
36+
class="sc-bczRLJ kkAHbA"
3437
href="#"
3538
>
3639
3
3740
</a>
3841
</li>
3942
<li>
4043
<a
44+
class="sc-bczRLJ kkAHbA"
4145
href="#"
4246
>
4347
4
4448
</a>
4549
</li>
4650
<li>
4751
<a
52+
class="sc-bczRLJ kkAHbA"
4853
href="#"
4954
>
5055
5
@@ -59,6 +64,7 @@ exports[`Pagination grows to min size 1`] = `
5964
</li>
6065
<li>
6166
<a
67+
class="sc-bczRLJ kkAHbA"
6268
href="#"
6369
>
6470
10
@@ -77,14 +83,15 @@ exports[`Pagination grows to min size from back 1`] = `
7783
id="root"
7884
>
7985
<div
80-
class="sc-bczRLJ cvTmMf"
86+
class="sc-gsnTZi Nkuun"
8187
>
8288
<nav
8389
aria-label="pagination links"
8490
>
8591
<ul>
8692
<li>
8793
<a
94+
class="sc-bczRLJ kkAHbA"
8895
href="#"
8996
>
9097
1
@@ -99,27 +106,31 @@ exports[`Pagination grows to min size from back 1`] = `
99106
</li>
100107
<li>
101108
<a
109+
class="sc-bczRLJ kkAHbA"
102110
href="#"
103111
>
104112
6
105113
</a>
106114
</li>
107115
<li>
108116
<a
117+
class="sc-bczRLJ kkAHbA"
109118
href="#"
110119
>
111120
7
112121
</a>
113122
</li>
114123
<li>
115124
<a
125+
class="sc-bczRLJ kkAHbA"
116126
href="#"
117127
>
118128
8
119129
</a>
120130
</li>
121131
<li>
122132
<a
133+
class="sc-bczRLJ kkAHbA"
123134
href="#"
124135
>
125136
9
@@ -130,6 +141,7 @@ exports[`Pagination grows to min size from back 1`] = `
130141
>
131142
<a
132143
aria-current="page"
144+
class="sc-bczRLJ kkAHbA"
133145
href="#"
134146
>
135147
10
@@ -148,7 +160,7 @@ exports[`Pagination matches snapshot 1`] = `
148160
id="root"
149161
>
150162
<div
151-
class="sc-bczRLJ cvTmMf"
163+
class="sc-gsnTZi Nkuun"
152164
>
153165
<nav
154166
aria-label="pagination links"
@@ -159,69 +171,79 @@ exports[`Pagination matches snapshot 1`] = `
159171
>
160172
<a
161173
aria-current="page"
174+
class="sc-bczRLJ kkAHbA"
162175
href="#"
163176
>
164177
1
165178
</a>
166179
</li>
167180
<li>
168181
<a
182+
class="sc-bczRLJ kkAHbA"
169183
href="#"
170184
>
171185
2
172186
</a>
173187
</li>
174188
<li>
175189
<a
190+
class="sc-bczRLJ kkAHbA"
176191
href="#"
177192
>
178193
3
179194
</a>
180195
</li>
181196
<li>
182197
<a
198+
class="sc-bczRLJ kkAHbA"
183199
href="#"
184200
>
185201
4
186202
</a>
187203
</li>
188204
<li>
189205
<a
206+
class="sc-bczRLJ kkAHbA"
190207
href="#"
191208
>
192209
5
193210
</a>
194211
</li>
195212
<li>
196213
<a
214+
class="sc-bczRLJ kkAHbA"
197215
href="#"
198216
>
199217
6
200218
</a>
201219
</li>
202220
<li>
203221
<a
222+
class="sc-bczRLJ kkAHbA"
204223
href="#"
205224
>
206225
7
207226
</a>
208227
</li>
209228
<li>
210229
<a
230+
class="sc-bczRLJ kkAHbA"
211231
href="#"
212232
>
213233
8
214234
</a>
215235
</li>
216236
<li>
217237
<a
238+
class="sc-bczRLJ kkAHbA"
218239
href="#"
219240
>
220241
9
221242
</a>
222243
</li>
223244
<li>
224245
<a
246+
class="sc-bczRLJ kkAHbA"
225247
href="#"
226248
>
227249
10
@@ -240,14 +262,15 @@ exports[`Pagination matches snapshot with dividers 1`] = `
240262
id="root"
241263
>
242264
<div
243-
class="sc-bczRLJ cvTmMf"
265+
class="sc-gsnTZi Nkuun"
244266
>
245267
<nav
246268
aria-label="pagination links"
247269
>
248270
<ul>
249271
<li>
250272
<a
273+
class="sc-bczRLJ kkAHbA"
251274
href="#"
252275
>
253276
1
@@ -262,6 +285,7 @@ exports[`Pagination matches snapshot with dividers 1`] = `
262285
</li>
263286
<li>
264287
<a
288+
class="sc-bczRLJ kkAHbA"
265289
href="#"
266290
>
267291
4
@@ -272,13 +296,15 @@ exports[`Pagination matches snapshot with dividers 1`] = `
272296
>
273297
<a
274298
aria-current="page"
299+
class="sc-bczRLJ kkAHbA"
275300
href="#"
276301
>
277302
5
278303
</a>
279304
</li>
280305
<li>
281306
<a
307+
class="sc-bczRLJ kkAHbA"
282308
href="#"
283309
>
284310
6
@@ -293,6 +319,7 @@ exports[`Pagination matches snapshot with dividers 1`] = `
293319
</li>
294320
<li>
295321
<a
322+
class="sc-bczRLJ kkAHbA"
296323
href="#"
297324
>
298325
10

0 commit comments

Comments
 (0)