Skip to content

Commit 7ad9f42

Browse files
committed
fix: Pagination footer responsiveness
1 parent 7b8205f commit 7ad9f42

File tree

5 files changed

+62
-8
lines changed

5 files changed

+62
-8
lines changed

example/src/styles/componentStyles.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,6 @@ export const createComponentStyles = (colors: any, theme: ThemeProps = {}) => {
348348
alignItems: 'center',
349349
gap: '24px',
350350
position: 'absolute',
351-
left: '50%',
352-
transform: 'translateX(-50%)',
353351
},
354352
totalItems: {
355353
fontSize: '0.875rem',

src/components/Pagination.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,7 @@ export const Pagination: React.FC<PaginationProps> = ({
105105
display: 'flex',
106106
alignItems: 'center',
107107
gap: '24px',
108-
position: 'absolute',
109-
left: '50%',
110-
transform: 'translateX(-50%)'
108+
position: 'absolute'
111109
}}>
112110
{/* Total Items Text */}
113111
<div style={{ ...componentStyles.pagination.totalItems, position: 'static' }}>

src/styles/MultiLevelTable.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@
7777
.table-wrapper > div:last-child {
7878
margin-bottom: 0;
7979
padding-bottom: 0;
80+
/* Ensure pagination maintains its layout on smaller screens */
81+
min-width: 1200px; /* Match table minimum width */
82+
overflow-x: auto; /* Allow horizontal scroll if needed */
8083
}
8184

8285
.main-table-container {

src/styles/Pagination.css

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@
44
justify-content: space-between;
55
align-items: center;
66
padding: 12px;
7+
/* Ensure pagination doesn't break on smaller screens */
8+
min-width: 1200px; /* Match table minimum width */
9+
overflow-x: auto; /* Allow horizontal scroll if needed */
10+
-webkit-overflow-scrolling: touch;
11+
/* Ensure content container has proper width */
12+
position: relative;
13+
}
14+
15+
/* Ensure the centered content container has minimum width */
16+
.pagination-container > div {
17+
min-width: 600px; /* Minimum width for pagination content */
18+
display: flex;
19+
align-items: center;
20+
gap: 24px;
21+
position: absolute;
22+
white-space: nowrap; /* Prevent text wrapping */
723
}
824

925
.pagination-button {
@@ -24,6 +40,9 @@
2440
.pagination-info {
2541
color: #2c3e50;
2642
margin-left: 8px;
43+
/* Ensure total items text doesn't break */
44+
white-space: nowrap;
45+
flex-shrink: 0;
2746
}
2847

2948
.pagination-select {
@@ -32,6 +51,10 @@
3251
border-radius: 4px;
3352
background-color: #ffffff;
3453
color: #262626;
54+
/* Ensure page size selector doesn't break */
55+
white-space: nowrap;
56+
flex-shrink: 0;
57+
min-width: 80px; /* Minimum width for the selector */
3558
}
3659

3760
.pagination-select option {
@@ -50,4 +73,38 @@
5073
.pagination-select option:selected {
5174
background-color: #5D5FEF !important;
5275
color: #ffffff !important;
53-
}
76+
}
77+
78+
/* Responsive styles to prevent pagination from breaking on smaller screens */
79+
@media (max-width: 1200px) {
80+
.pagination-container {
81+
min-width: 1200px; /* Maintain minimum width */
82+
overflow-x: auto; /* Enable horizontal scroll */
83+
}
84+
85+
.pagination-container > div {
86+
min-width: 600px; /* Maintain minimum width for content */
87+
}
88+
}
89+
90+
@media (max-width: 768px) {
91+
.pagination-container {
92+
min-width: 1200px; /* Maintain minimum width */
93+
overflow-x: auto; /* Enable horizontal scroll */
94+
}
95+
96+
.pagination-container > div {
97+
min-width: 600px; /* Maintain minimum width for content */
98+
}
99+
}
100+
101+
@media (max-width: 480px) {
102+
.pagination-container {
103+
min-width: 1200px; /* Maintain minimum width */
104+
overflow-x: auto; /* Enable horizontal scroll */
105+
}
106+
107+
.pagination-container > div {
108+
min-width: 600px; /* Maintain minimum width for content */
109+
}
110+
}

src/styles/componentStyles.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,6 @@ export const createComponentStyles = (theme: ThemeProps = {}) => {
350350
alignItems: 'center',
351351
gap: '24px',
352352
position: 'absolute',
353-
left: '50%',
354-
transform: 'translateX(-50%)',
355353
},
356354
totalItems: {
357355
fontSize: '0.875rem',

0 commit comments

Comments
 (0)