Skip to content

Commit 6c5bf19

Browse files
Sticky row pinning overlaps with other rows when scrolling (#373)
* wip * fix: overlap for row pinning select
1 parent cf06e45 commit 6c5bf19

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

packages/mantine-react-table/src/components/body/MRT_TableBodyRow.module.css

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
&:not([data-selected], [data-row-pinned]) {
2525
td {
2626
&[data-column-pinned] {
27-
&:before {
27+
&::before {
2828
background-color: var(--mrt-pinned-column-background-color);
2929
}
3030
}
3131
}
3232
&[data-striped='odd'] {
3333
td {
3434
&[data-column-pinned] {
35-
&:before {
35+
&::before {
3636
background-color: var(--mrt-striped-row-background-color);
3737
}
3838
}
@@ -41,7 +41,7 @@
4141
&[data-striped='even'] {
4242
td {
4343
&[data-column-pinned] {
44-
&:before {
44+
&::before {
4545
background-color: var(--mrt-striped-row-background-color);
4646
}
4747
}
@@ -56,7 +56,7 @@
5656
position: sticky;
5757
z-index: 1;
5858

59-
&:before {
59+
&::before {
6060
content: '';
6161
height: 100%;
6262
left: 0;
@@ -69,7 +69,7 @@
6969
&[data-column-pinned='left'] {
7070
left: calc(var(--mrt-table-cell-left, 0) * 1px);
7171
&[data-last-left-pinned] {
72-
&:before {
72+
&::before {
7373
box-shadow: -6px 0 6px -6px alpha(
7474
light-dark(
7575
var(--mantine-color-gray-outline),
@@ -84,7 +84,7 @@
8484
&[data-column-pinned='right'] {
8585
right: calc(var(--mrt-table-cell-right, 0) * 1px);
8686
&[data-first-right-pinned] {
87-
&:before {
87+
&::before {
8888
box-shadow: 6px 0 6px -6px alpha(
8989
light-dark(
9090
var(--mantine-color-gray-outline),
@@ -98,19 +98,28 @@
9898
}
9999
}
100100
/* end column pinning styles */
101-
102101
/* row pinning styles */
103102
&[data-row-pinned] {
104-
background-color: var(--mrt-pinned-row-background-color);
105-
bottom: calc(var(--mrt-pinned-row-bottom, unset) * 1px);
103+
background-color: var(--mantine-color-body);
104+
bottom: calc(var(--mrt-pinned-row-bottom) * 1px);
106105
opacity: 0.97;
107-
top: calc(var(--mrt-pinned-row-top, unset) * 1px);
106+
top: calc(var(--mrt-pinned-row-top) * 1px);
108107

109108
td {
109+
&::before {
110+
background-color: var(--mrt-pinned-row-background-color);
111+
content: '';
112+
height: 100%;
113+
left: 0;
114+
position: absolute;
115+
top: 0;
116+
width: 100%;
117+
z-index: -1;
118+
}
110119
&[data-column-pinned] {
111120
background-color: var(--mrt-pinned-column-background-color);
112121

113-
&:before {
122+
&::before {
114123
background-color: var(--mrt-pinned-row-background-color);
115124
content: '';
116125
height: 100%;
@@ -132,13 +141,13 @@
132141

133142
/* selection styles */
134143
&[data-selected] {
135-
background-color: var(--mrt-selected-row-background-color);
144+
background-color: var(--mantine-color-body);
136145

137146
td {
138147
&[data-column-pinned] {
139148
background-color: var(--mrt-pinned-column-background-color);
140149

141-
&:before {
150+
&::before {
142151
background-color: var(--mrt-selected-row-background-color);
143152
}
144153
}
@@ -152,7 +161,7 @@
152161
background-color: var(--mrt-row-hover-background-color);
153162
&[data-column-pinned] {
154163
background-color: var(--mrt-base-background-color);
155-
&:before {
164+
&::before {
156165
background-color: var(--mrt-row-hover-background-color);
157166
}
158167
}
@@ -163,7 +172,7 @@
163172
background-color: var(--mrt-striped-row-hover-background-color);
164173
&[data-column-pinned] {
165174
background-color: var(--mrt-base-background-color);
166-
&:before {
175+
&::before {
167176
background-color: var(--mrt-striped-row-hover-background-color);
168177
}
169178
}
@@ -174,7 +183,7 @@
174183
background-color: var(--mrt-striped-row-hover-background-color);
175184
&[data-column-pinned] {
176185
background-color: var(--mrt-base-background-color);
177-
&:before {
186+
&::before {
178187
background-color: var(--mrt-striped-row-hover-background-color);
179188
}
180189
}
@@ -188,7 +197,7 @@
188197
&[data-column-pinned] {
189198
background-color: var(--mrt-base-background-color);
190199

191-
&:before {
200+
&::before {
192201
background-color: var(--mrt-selected-row-hover-background-color);
193202
}
194203
}

0 commit comments

Comments
 (0)