UNPKG

11.4 kBCSSView Raw
1@layer rdg {
2 @layer Defaults,
3 FocusSink,
4 CheckboxInput,
5 CheckboxIcon,
6 CheckboxLabel,
7 Cell,
8 HeaderCell,
9 SummaryCell,
10 EditCell,
11 Row,
12 HeaderRow,
13 SummaryRow,
14 GroupedRow,
15 Root;
16}
17
18.mlln6zg7-0-0-beta-43 {
19 @layer rdg.MeasuringCell {
20 contain: strict;
21 grid-row: 1;
22 visibility: hidden;
23 }
24}
25
26
27.cj343x07-0-0-beta-43 {
28 @layer rdg.Cell {
29 /* max-content does not work with size containment
30 * dynamically switching between different containment styles incurs a heavy relayout penalty
31 * Chromium bug: at odd zoom levels or subpixel positioning,
32 * layout/paint/style containment can make cell borders disappear
33 * https://bugs.chromium.org/p/chromium/issues/detail?id=1326946
34 */
35 position: relative; /* needed for absolute positioning to work */
36 padding-block: 0;
37 padding-inline: 8px;
38 border-inline-end: 1px solid var(--rdg-border-color);
39 border-block-end: 1px solid var(--rdg-border-color);
40 grid-row-start: var(--rdg-grid-row-start);
41 background-color: inherit;
42
43 white-space: nowrap;
44 overflow: clip;
45 text-overflow: ellipsis;
46 outline: none;
47
48 &[aria-selected='true'] {
49 outline: 2px solid var(--rdg-selection-color);
50 outline-offset: -2px;
51 }
52 }
53}
54
55.csofj7r7-0-0-beta-43 {
56 @layer rdg.Cell {
57 position: sticky;
58 /* Should have a higher value than 0 to show up above unfrozen cells */
59 z-index: 1;
60
61 /* Add box-shadow on the last frozen cell */
62 &:nth-last-child(1 of &) {
63 box-shadow: var(--rdg-cell-frozen-box-shadow);
64 }
65 }
66}
67
68
69.c1bn88vv7-0-0-beta-43 {
70 @layer rdg.CheckboxLabel {
71 cursor: pointer;
72 display: flex;
73 align-items: center;
74 justify-content: center;
75 position: absolute;
76 inset: 0;
77 margin-inline-end: 1px; /* align checkbox in row group cell */
78 }
79}
80
81.c1qt073l7-0-0-beta-43 {
82 @layer rdg.CheckboxInput {
83 all: unset;
84 }
85}
86
87.cf71kmq7-0-0-beta-43 {
88 @layer rdg.CheckboxIcon {
89 content: '';
90 inline-size: 20px;
91 block-size: 20px;
92 border: 2px solid var(--rdg-border-color);
93 background-color: var(--rdg-background-color);
94
95 .c1qt073l7-0-0-beta-43:checked + & {
96 background-color: var(--rdg-checkbox-color);
97 outline: 4px solid var(--rdg-background-color);
98 outline-offset: -6px;
99 }
100
101 .c1qt073l7-0-0-beta-43:focus + & {
102 border-color: var(--rdg-checkbox-focus-color);
103 }
104 }
105}
106
107.c1lwve4p7-0-0-beta-43 {
108 @layer rdg.CheckboxLabel {
109 cursor: default;
110
111 .cf71kmq7-0-0-beta-43 {
112 border-color: var(--rdg-checkbox-disabled-border-color);
113 background-color: var(--rdg-checkbox-disabled-background-color);
114 }
115 }
116}
117
118
119.g1s9ylgp7-0-0-beta-43 {
120 @layer rdg.GroupCellContent {
121 outline: none;
122 }
123}
124
125.cz54e4y7-0-0-beta-43 {
126 @layer rdg.GroupCellCaret {
127 margin-inline-start: 4px;
128 stroke: currentColor;
129 stroke-width: 1.5px;
130 fill: transparent;
131 vertical-align: middle;
132
133 > path {
134 transition: d 0.1s;
135 }
136 }
137}
138
139
140.c1w9bbhr7-0-0-beta-43 {
141 @layer rdg.DragHandle {
142 --rdg-drag-handle-size: 8px;
143 z-index: 0;
144 cursor: move;
145 inline-size: var(--rdg-drag-handle-size);
146 block-size: var(--rdg-drag-handle-size);
147 background-color: var(--rdg-selection-color);
148 place-self: end;
149
150 &:hover {
151 --rdg-drag-handle-size: 16px;
152 border: 2px solid var(--rdg-selection-color);
153 background-color: var(--rdg-background-color);
154 }
155 }
156}
157
158.c1creorc7-0-0-beta-43 {
159 @layer rdg.DragHandle {
160 z-index: 1;
161 position: sticky;
162 }
163}
164
165
166.cis5rrm7-0-0-beta-43 {
167 @layer rdg.EditCell {
168 padding: 0;
169 }
170}
171
172
173.h44jtk67-0-0-beta-43 {
174 @layer rdg.SortableHeaderCell {
175 display: flex;
176 }
177}
178
179.hcgkhxz7-0-0-beta-43 {
180 @layer rdg.SortableHeaderCellName {
181 flex-grow: 1;
182 overflow: clip;
183 text-overflow: ellipsis;
184 }
185}
186
187
188.c6l2wv17-0-0-beta-43 {
189 @layer rdg.HeaderCell {
190 cursor: pointer;
191 }
192}
193
194.c1kqdw7y7-0-0-beta-43 {
195 @layer rdg.HeaderCell {
196 touch-action: none;
197 }
198}
199
200.r1y6ywlx7-0-0-beta-43 {
201 @layer rdg.HeaderCell {
202 cursor: col-resize;
203 position: absolute;
204 inset-block-start: 0;
205 inset-inline-end: 0;
206 inset-block-end: 0;
207 inline-size: 10px;
208 }
209}
210
211.c1bezg5o7-0-0-beta-43 {
212 opacity: 0.5;
213}
214
215.c1vc96037-0-0-beta-43 {
216 background-color: var(--rdg-header-draggable-background-color);
217}
218
219
220.r1upfr807-0-0-beta-43 {
221 @layer rdg.Row {
222 display: contents;
223 line-height: var(--rdg-row-height);
224 background-color: var(--rdg-background-color);
225
226 &:hover {
227 background-color: var(--rdg-row-hover-background-color);
228 }
229
230 &[aria-selected='true'] {
231 background-color: var(--rdg-row-selected-background-color);
232
233 &:hover {
234 background-color: var(--rdg-row-selected-hover-background-color);
235 }
236 }
237 }
238}
239
240.r190mhd37-0-0-beta-43 {
241 @layer rdg.FocusSink {
242 outline: 2px solid var(--rdg-selection-color);
243 outline-offset: -2px;
244 }
245}
246
247.r139qu9m7-0-0-beta-43 {
248 @layer rdg.FocusSink {
249 &::before {
250 content: '';
251 display: inline-block;
252 height: 100%;
253 position: sticky;
254 inset-inline-start: 0;
255 border-inline-start: 2px solid var(--rdg-selection-color);
256 }
257 }
258}
259
260
261.h10tskcx7-0-0-beta-43 {
262 @layer rdg.HeaderRow {
263 display: contents;
264 line-height: var(--rdg-header-row-height);
265 background-color: var(--rdg-header-background-color);
266 font-weight: bold;
267
268 & > .cj343x07-0-0-beta-43 {
269 /* Should have a higher value than 1 to show up above regular cells and the focus sink */
270 z-index: 2;
271 position: sticky;
272 }
273
274 & > .csofj7r7-0-0-beta-43 {
275 z-index: 3;
276 }
277 }
278}
279
280
281.c6ra8a37-0-0-beta-43 {
282 @layer rdg.Cell {
283 background-color: #ccccff;
284 }
285}
286
287.cq910m07-0-0-beta-43 {
288 @layer rdg.Cell {
289 background-color: #ccccff;
290
291 &.c6ra8a37-0-0-beta-43 {
292 background-color: #9999ff;
293 }
294 }
295}
296
297
298.a3ejtar7-0-0-beta-43 {
299 @layer rdg.SortIcon {
300 fill: currentColor;
301
302 > path {
303 transition: d 0.1s;
304 }
305 }
306}
307
308
309.rnvodz57-0-0-beta-43 {
310 @layer rdg.Defaults {
311 *,
312 *::before,
313 *::after {
314 box-sizing: inherit;
315 }
316 }
317
318 @layer rdg.Root {
319 --rdg-color: #000; --rdg-border-color: #ddd; --rdg-summary-border-color: #aaa; --rdg-background-color: hsl(0deg 0% 100%); --rdg-header-background-color: hsl(0deg 0% 97.5%); --rdg-header-draggable-background-color: hsl(0deg 0% 90.5%); --rdg-row-hover-background-color: hsl(0deg 0% 96%); --rdg-row-selected-background-color: hsl(207deg 76% 92%); --rdg-row-selected-hover-background-color: hsl(207deg 76% 88%); --rdg-checkbox-color: hsl(207deg 100% 29%); --rdg-checkbox-focus-color: hsl(207deg 100% 69%); --rdg-checkbox-disabled-border-color: #ccc; --rdg-checkbox-disabled-background-color: #ddd;
320 --rdg-selection-color: #66afe9;
321 --rdg-font-size: 14px;
322 --rdg-cell-frozen-box-shadow: calc(2px * var(--rdg-sign)) 0 5px -2px rgba(136, 136, 136, 0.3);
323
324 display: grid;
325
326 color-scheme: var(--rdg-color-scheme, light dark);
327
328 /* https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context */
329 /* We set a stacking context so internal elements don't render on top of external elements. */
330 /* size containment is not used as it could break "width: min-content" for example, and the grid would infinitely resize on Chromium browsers */
331 contain: content;
332 content-visibility: auto;
333 block-size: 350px;
334 border: 1px solid var(--rdg-border-color);
335 box-sizing: border-box;
336 overflow: auto;
337 background-color: var(--rdg-background-color);
338 color: var(--rdg-color);
339 font-size: var(--rdg-font-size);
340
341 /* needed on Firefox to fix scrollbars */
342 &::before {
343 content: '';
344 grid-column: 1/-1;
345 grid-row: 1/-1;
346 }
347
348 &.rdg-dark {
349 --rdg-color-scheme: dark;
350 --rdg-color: #ddd; --rdg-border-color: #444; --rdg-summary-border-color: #555; --rdg-background-color: hsl(0deg 0% 13%); --rdg-header-background-color: hsl(0deg 0% 10.5%); --rdg-header-draggable-background-color: hsl(0deg 0% 17.5%); --rdg-row-hover-background-color: hsl(0deg 0% 9%); --rdg-row-selected-background-color: hsl(207deg 76% 42%); --rdg-row-selected-hover-background-color: hsl(207deg 76% 38%); --rdg-checkbox-color: hsl(207deg 100% 79%); --rdg-checkbox-focus-color: hsl(207deg 100% 89%); --rdg-checkbox-disabled-border-color: #000; --rdg-checkbox-disabled-background-color: #333;
351 }
352
353 &.rdg-light {
354 --rdg-color-scheme: light;
355 }
356
357 @media (prefers-color-scheme: dark) {
358 &:not(.rdg-light) {
359 --rdg-color: #ddd; --rdg-border-color: #444; --rdg-summary-border-color: #555; --rdg-background-color: hsl(0deg 0% 13%); --rdg-header-background-color: hsl(0deg 0% 10.5%); --rdg-header-draggable-background-color: hsl(0deg 0% 17.5%); --rdg-row-hover-background-color: hsl(0deg 0% 9%); --rdg-row-selected-background-color: hsl(207deg 76% 42%); --rdg-row-selected-hover-background-color: hsl(207deg 76% 38%); --rdg-checkbox-color: hsl(207deg 100% 79%); --rdg-checkbox-focus-color: hsl(207deg 100% 89%); --rdg-checkbox-disabled-border-color: #000; --rdg-checkbox-disabled-background-color: #333;
360 }
361 }
362
363 > :nth-last-child(1 of .rdg-top-summary-row) {
364 > .cj343x07-0-0-beta-43 {
365 border-block-end: 2px solid var(--rdg-summary-border-color);
366 }
367 }
368
369 > :nth-child(1 of .rdg-bottom-summary-row) {
370 > .cj343x07-0-0-beta-43 {
371 border-block-start: 2px solid var(--rdg-summary-border-color);
372 }
373 }
374 }
375}
376
377.vlqv91k7-0-0-beta-43 {
378 @layer rdg.Root {
379 user-select: none;
380
381 & .r1upfr807-0-0-beta-43 {
382 cursor: move;
383 }
384 }
385}
386
387.f1lsfrzw7-0-0-beta-43 {
388 @layer rdg.FocusSink {
389 grid-column: 1/-1;
390 pointer-events: none;
391 /* Should have a higher value than 1 to show up above regular frozen cells */
392 z-index: 1;
393 }
394}
395
396.f1cte0lg7-0-0-beta-43 {
397 @layer rdg.FocusSink {
398 /* Should have a higher value than 3 to show up above header and summary rows */
399 z-index: 3;
400 }
401}
402
403
404.s8wc6fl7-0-0-beta-43 {
405 @layer rdg.SummaryCell {
406 inset-block-start: var(--rdg-summary-row-top);
407 inset-block-end: var(--rdg-summary-row-bottom);
408 }
409}
410
411
412.skuhp557-0-0-beta-43 {
413 @layer rdg.SummaryRow {
414 line-height: var(--rdg-summary-row-height);
415
416 > .cj343x07-0-0-beta-43 {
417 position: sticky;
418 }
419 }
420}
421
422.tf8l5ub7-0-0-beta-43 {
423 @layer rdg.SummaryRow {
424 > .cj343x07-0-0-beta-43 {
425 z-index: 2;
426 }
427
428 > .csofj7r7-0-0-beta-43 {
429 z-index: 3;
430 }
431 }
432}
433
434
435.g1yxluv37-0-0-beta-43 {
436 @layer rdg.GroupedRow {
437 &:not([aria-selected='true']) {
438 background-color: var(--rdg-header-background-color);
439 }
440
441 > .cj343x07-0-0-beta-43:not(:last-child, .csofj7r7-0-0-beta-43),
442 > :nth-last-child(n + 2 of .csofj7r7-0-0-beta-43) {
443 border-inline-end: none;
444 }
445 }
446}
447
448
449.t7vyx3i7-0-0-beta-43 {
450 @layer rdg.TextEditor {
451 appearance: none;
452
453 box-sizing: border-box;
454 inline-size: 100%;
455 block-size: 100%;
456 padding-block: 0;
457 padding-inline: 6px;
458 border: 2px solid #ccc;
459 vertical-align: top;
460 color: var(--rdg-color);
461 background-color: var(--rdg-background-color);
462
463 font-family: inherit;
464 font-size: var(--rdg-font-size);
465
466 &:focus {
467 border-color: var(--rdg-selection-color);
468 outline: none;
469 }
470
471 &::placeholder {
472 color: #999;
473 opacity: 1;
474 }
475 }
476}
477