@gp-grid/angular 0.16.0 → 0.17.0
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/README.md +3 -3
- package/dist/styles.css +250 -86
- package/fesm2022/gp-grid-angular.mjs +217 -17
- package/package.json +2 -2
- package/types/gp-grid-angular.d.ts +42 -4
package/dist/styles.css
CHANGED
|
@@ -88,9 +88,15 @@
|
|
|
88
88
|
GP Grid - Clean Flat Design
|
|
89
89
|
============================================================================= */
|
|
90
90
|
|
|
91
|
-
/* Grid Container */
|
|
91
|
+
/* Grid Container - structural */
|
|
92
92
|
.gp-grid-container {
|
|
93
93
|
outline: none;
|
|
94
|
+
user-select: none;
|
|
95
|
+
-webkit-user-select: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* Visual properties - :where() for zero specificity, consumers can override with a single class */
|
|
99
|
+
:where(.gp-grid-container) {
|
|
94
100
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
95
101
|
font-size: 13px;
|
|
96
102
|
line-height: 1.5;
|
|
@@ -98,12 +104,13 @@
|
|
|
98
104
|
background-color: var(--gp-grid-bg);
|
|
99
105
|
border: 1px solid var(--gp-grid-border);
|
|
100
106
|
border-radius: 6px;
|
|
101
|
-
user-select: none;
|
|
102
|
-
-webkit-user-select: none;
|
|
103
107
|
}
|
|
104
108
|
|
|
105
109
|
.gp-grid-container:focus {
|
|
106
110
|
outline: none;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
:where(.gp-grid-container:focus) {
|
|
107
114
|
border-color: var(--gp-grid-primary);
|
|
108
115
|
}
|
|
109
116
|
|
|
@@ -116,39 +123,43 @@
|
|
|
116
123
|
position: sticky;
|
|
117
124
|
top: 0;
|
|
118
125
|
left: 0;
|
|
119
|
-
/* z-index set inline (100) to ensure header stays above rows wrapper */
|
|
120
|
-
background-color: var(--gp-grid-header-bg);
|
|
121
|
-
border-bottom: 1px solid var(--gp-grid-border);
|
|
122
126
|
flex-shrink: 0;
|
|
123
127
|
z-index: 11;
|
|
124
128
|
overflow: hidden;
|
|
125
129
|
}
|
|
126
130
|
|
|
131
|
+
:where(.gp-grid-header) {
|
|
132
|
+
background-color: var(--gp-grid-header-bg);
|
|
133
|
+
border-bottom: 1px solid var(--gp-grid-border);
|
|
134
|
+
}
|
|
135
|
+
|
|
127
136
|
.gp-grid-container .gp-grid-header-cell {
|
|
128
137
|
position: absolute;
|
|
129
138
|
box-sizing: border-box;
|
|
139
|
+
user-select: none;
|
|
140
|
+
display: flex;
|
|
141
|
+
top: 0;
|
|
142
|
+
touch-action: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
:where(.gp-grid-header-cell) {
|
|
146
|
+
align-items: center;
|
|
147
|
+
padding: 0 12px;
|
|
130
148
|
border-right: 1px solid var(--gp-grid-border);
|
|
131
149
|
font-weight: 600;
|
|
132
150
|
font-size: 12px;
|
|
133
151
|
letter-spacing: 0.5px;
|
|
134
152
|
color: var(--gp-grid-header-text);
|
|
135
153
|
cursor: pointer;
|
|
136
|
-
user-select: none;
|
|
137
|
-
display: flex;
|
|
138
|
-
align-items: center;
|
|
139
|
-
padding: 0 12px;
|
|
140
154
|
background-color: transparent;
|
|
141
155
|
transition: background-color 0.1s ease;
|
|
142
|
-
top: 0;
|
|
143
|
-
background: transparent;
|
|
144
|
-
touch-action: none;
|
|
145
156
|
}
|
|
146
157
|
|
|
147
|
-
.gp-grid-
|
|
158
|
+
:where(.gp-grid-header-cell:hover) {
|
|
148
159
|
background-color: var(--gp-grid-hover);
|
|
149
160
|
}
|
|
150
161
|
|
|
151
|
-
.gp-grid-
|
|
162
|
+
:where(.gp-grid-header-cell:active) {
|
|
152
163
|
background-color: var(--gp-grid-border-light);
|
|
153
164
|
}
|
|
154
165
|
|
|
@@ -157,6 +168,9 @@
|
|
|
157
168
|
overflow: hidden;
|
|
158
169
|
text-overflow: ellipsis;
|
|
159
170
|
white-space: nowrap;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
:where(.gp-grid-header-text) {
|
|
160
174
|
color: var(--gp-grid-header-text);
|
|
161
175
|
}
|
|
162
176
|
|
|
@@ -184,20 +198,20 @@
|
|
|
184
198
|
gap: 2px;
|
|
185
199
|
}
|
|
186
200
|
|
|
187
|
-
.gp-grid-sort-arrow-up,
|
|
188
|
-
.gp-grid-sort-arrow-down {
|
|
201
|
+
:where(.gp-grid-sort-arrow-up),
|
|
202
|
+
:where(.gp-grid-sort-arrow-down) {
|
|
189
203
|
opacity: 0.35;
|
|
190
204
|
transition: opacity 0.15s ease, color 0.15s ease;
|
|
191
205
|
color: var(--gp-grid-text);
|
|
192
206
|
}
|
|
193
207
|
|
|
194
|
-
.gp-grid-sort-arrow-up.active,
|
|
195
|
-
.gp-grid-sort-arrow-down.active {
|
|
208
|
+
:where(.gp-grid-sort-arrow-up.active),
|
|
209
|
+
:where(.gp-grid-sort-arrow-down.active) {
|
|
196
210
|
opacity: 1;
|
|
197
211
|
color: var(--gp-grid-primary);
|
|
198
212
|
}
|
|
199
213
|
|
|
200
|
-
.gp-grid-sort-index {
|
|
214
|
+
:where(.gp-grid-sort-index) {
|
|
201
215
|
font-size: 9px;
|
|
202
216
|
color: var(--gp-grid-primary);
|
|
203
217
|
font-weight: 600;
|
|
@@ -210,6 +224,9 @@
|
|
|
210
224
|
justify-content: center;
|
|
211
225
|
width: 20px;
|
|
212
226
|
height: 20px;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
:where(.gp-grid-filter-icon) {
|
|
213
230
|
border-radius: 4px;
|
|
214
231
|
cursor: pointer;
|
|
215
232
|
color: var(--gp-grid-text-secondary);
|
|
@@ -217,12 +234,12 @@
|
|
|
217
234
|
margin-left: 2px;
|
|
218
235
|
}
|
|
219
236
|
|
|
220
|
-
.gp-grid-filter-icon:hover {
|
|
237
|
+
:where(.gp-grid-filter-icon:hover) {
|
|
221
238
|
background-color: var(--gp-grid-hover);
|
|
222
239
|
color: var(--gp-grid-primary);
|
|
223
240
|
}
|
|
224
241
|
|
|
225
|
-
.gp-grid-filter-icon.active {
|
|
242
|
+
:where(.gp-grid-filter-icon.active) {
|
|
226
243
|
color: var(--gp-grid-primary);
|
|
227
244
|
background-color: var(--gp-grid-primary-light);
|
|
228
245
|
}
|
|
@@ -234,6 +251,8 @@
|
|
|
234
251
|
min-height: 44px;
|
|
235
252
|
width: 44px;
|
|
236
253
|
height: 44px;
|
|
254
|
+
}
|
|
255
|
+
:where(.gp-grid-filter-icon) {
|
|
237
256
|
margin-left: 0;
|
|
238
257
|
}
|
|
239
258
|
|
|
@@ -246,6 +265,9 @@
|
|
|
246
265
|
/* Disabled header state during data loading */
|
|
247
266
|
.gp-grid-header--loading .gp-grid-header-cell {
|
|
248
267
|
pointer-events: none;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
:where(.gp-grid-header--loading .gp-grid-header-cell) {
|
|
249
271
|
opacity: 0.6;
|
|
250
272
|
cursor: default;
|
|
251
273
|
}
|
|
@@ -265,8 +287,8 @@
|
|
|
265
287
|
touch-action: none;
|
|
266
288
|
}
|
|
267
289
|
|
|
268
|
-
.gp-grid-header-resize-handle:hover,
|
|
269
|
-
.gp-grid-header-resize-handle--active {
|
|
290
|
+
:where(.gp-grid-header-resize-handle:hover),
|
|
291
|
+
:where(.gp-grid-header-resize-handle--active) {
|
|
270
292
|
background-color: var(--gp-grid-primary);
|
|
271
293
|
opacity: 0.4;
|
|
272
294
|
}
|
|
@@ -284,11 +306,14 @@
|
|
|
284
306
|
top: 0;
|
|
285
307
|
width: 2px;
|
|
286
308
|
height: 100%;
|
|
287
|
-
background-color: var(--gp-grid-primary);
|
|
288
309
|
z-index: 1000;
|
|
289
310
|
pointer-events: none;
|
|
290
311
|
}
|
|
291
312
|
|
|
313
|
+
:where(.gp-grid-column-resize-line) {
|
|
314
|
+
background-color: var(--gp-grid-primary);
|
|
315
|
+
}
|
|
316
|
+
|
|
292
317
|
/* =============================================================================
|
|
293
318
|
Column Move
|
|
294
319
|
============================================================================= */
|
|
@@ -296,23 +321,26 @@
|
|
|
296
321
|
.gp-grid-column-move-ghost {
|
|
297
322
|
position: fixed;
|
|
298
323
|
pointer-events: none;
|
|
299
|
-
opacity: 0.7;
|
|
300
324
|
z-index: 2000;
|
|
325
|
+
display: flex;
|
|
326
|
+
align-items: center;
|
|
327
|
+
box-sizing: border-box;
|
|
328
|
+
overflow: hidden;
|
|
329
|
+
white-space: nowrap;
|
|
330
|
+
text-overflow: ellipsis;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
:where(.gp-grid-column-move-ghost) {
|
|
334
|
+
opacity: 0.7;
|
|
301
335
|
background-color: var(--gp-grid-header-bg);
|
|
302
336
|
border: 2px solid var(--gp-grid-primary);
|
|
303
337
|
border-radius: 4px;
|
|
304
338
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
305
|
-
display: flex;
|
|
306
|
-
align-items: center;
|
|
307
339
|
padding: 0 12px;
|
|
308
340
|
font-weight: 600;
|
|
309
341
|
font-size: 12px;
|
|
310
342
|
letter-spacing: 0.5px;
|
|
311
343
|
color: var(--gp-grid-header-text);
|
|
312
|
-
box-sizing: border-box;
|
|
313
|
-
overflow: hidden;
|
|
314
|
-
white-space: nowrap;
|
|
315
|
-
text-overflow: ellipsis;
|
|
316
344
|
}
|
|
317
345
|
|
|
318
346
|
.gp-grid-column-drop-indicator {
|
|
@@ -321,9 +349,12 @@
|
|
|
321
349
|
left: 0;
|
|
322
350
|
width: 3px;
|
|
323
351
|
height: 100%;
|
|
324
|
-
background-color: var(--gp-grid-primary);
|
|
325
352
|
z-index: 1000;
|
|
326
353
|
pointer-events: none;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
:where(.gp-grid-column-drop-indicator) {
|
|
357
|
+
background-color: var(--gp-grid-primary);
|
|
327
358
|
border-radius: 2px;
|
|
328
359
|
}
|
|
329
360
|
|
|
@@ -359,7 +390,6 @@
|
|
|
359
390
|
top: 0;
|
|
360
391
|
box-sizing: border-box;
|
|
361
392
|
display: flex;
|
|
362
|
-
align-items: center;
|
|
363
393
|
overflow: hidden;
|
|
364
394
|
text-overflow: ellipsis;
|
|
365
395
|
white-space: nowrap;
|
|
@@ -369,6 +399,7 @@
|
|
|
369
399
|
|
|
370
400
|
/* Visual properties - :where() for zero specificity, so user highlight classes always win */
|
|
371
401
|
:where(.gp-grid-cell) {
|
|
402
|
+
align-items: center;
|
|
372
403
|
padding: 0 12px;
|
|
373
404
|
cursor: cell;
|
|
374
405
|
color: var(--gp-grid-text);
|
|
@@ -411,17 +442,20 @@
|
|
|
411
442
|
position: absolute;
|
|
412
443
|
width: 8px;
|
|
413
444
|
height: 8px;
|
|
414
|
-
background-color: var(--gp-grid-primary);
|
|
415
|
-
border: 2px solid var(--gp-grid-bg);
|
|
416
|
-
cursor: crosshair;
|
|
417
445
|
z-index: 11;
|
|
418
446
|
pointer-events: auto;
|
|
419
447
|
box-sizing: border-box;
|
|
420
|
-
border-radius: 1px;
|
|
421
448
|
touch-action: none;
|
|
422
449
|
}
|
|
423
450
|
|
|
424
|
-
.gp-grid-fill-handle
|
|
451
|
+
:where(.gp-grid-fill-handle) {
|
|
452
|
+
background-color: var(--gp-grid-primary);
|
|
453
|
+
border: 2px solid var(--gp-grid-bg);
|
|
454
|
+
cursor: crosshair;
|
|
455
|
+
border-radius: 1px;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
:where(.gp-grid-fill-handle:hover) {
|
|
425
459
|
transform: scale(1.2);
|
|
426
460
|
}
|
|
427
461
|
|
|
@@ -429,13 +463,15 @@
|
|
|
429
463
|
.gp-grid-fill-handle {
|
|
430
464
|
width: 24px;
|
|
431
465
|
height: 24px;
|
|
466
|
+
}
|
|
467
|
+
:where(.gp-grid-fill-handle) {
|
|
432
468
|
border-width: 3px;
|
|
433
469
|
border-radius: 3px;
|
|
434
470
|
}
|
|
435
471
|
}
|
|
436
472
|
|
|
437
473
|
/* Fill preview (cells being filled) */
|
|
438
|
-
.gp-grid-cell.gp-grid-cell--fill-preview {
|
|
474
|
+
:where(.gp-grid-cell.gp-grid-cell--fill-preview) {
|
|
439
475
|
background-color: var(--gp-grid-primary-light);
|
|
440
476
|
border: 1px dashed var(--gp-grid-primary);
|
|
441
477
|
}
|
|
@@ -447,6 +483,9 @@
|
|
|
447
483
|
.gp-grid-edit-input {
|
|
448
484
|
width: 100%;
|
|
449
485
|
height: 100%;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
:where(.gp-grid-edit-input) {
|
|
450
489
|
padding: 0 11px;
|
|
451
490
|
font-family: inherit;
|
|
452
491
|
font-size: inherit;
|
|
@@ -459,6 +498,38 @@
|
|
|
459
498
|
outline: none;
|
|
460
499
|
}
|
|
461
500
|
|
|
501
|
+
/* =============================================================================
|
|
502
|
+
Cell Peek (read-only multi-line overlay on dblclick of non-editable cell)
|
|
503
|
+
============================================================================= */
|
|
504
|
+
|
|
505
|
+
/* Structural: positioned absolutely by the framework wrapper; must sit above
|
|
506
|
+
selection (z:5), editing (z:10), fill handle (z:11). */
|
|
507
|
+
.gp-grid-cell-peek {
|
|
508
|
+
position: absolute;
|
|
509
|
+
z-index: 20;
|
|
510
|
+
box-sizing: border-box;
|
|
511
|
+
overflow: auto;
|
|
512
|
+
max-height: 320px;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
:where(.gp-grid-cell-peek) {
|
|
516
|
+
padding: 8px 11px;
|
|
517
|
+
background-color: var(--gp-grid-bg);
|
|
518
|
+
color: var(--gp-grid-text);
|
|
519
|
+
border: 2px solid var(--gp-grid-primary);
|
|
520
|
+
border-radius: 3px;
|
|
521
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
522
|
+
font-family: inherit;
|
|
523
|
+
font-size: inherit;
|
|
524
|
+
line-height: 1.4;
|
|
525
|
+
white-space: pre-wrap;
|
|
526
|
+
overflow-wrap: anywhere;
|
|
527
|
+
cursor: text;
|
|
528
|
+
user-select: text;
|
|
529
|
+
-webkit-user-select: text;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
|
|
462
533
|
|
|
463
534
|
/* =============================================================================
|
|
464
535
|
Loading & Error States
|
|
@@ -481,12 +552,15 @@
|
|
|
481
552
|
top: 0;
|
|
482
553
|
left: 0;
|
|
483
554
|
width: 100%;
|
|
484
|
-
height: 100%;
|
|
555
|
+
height: 100%;
|
|
485
556
|
pointer-events: none;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
:where(.gp-grid-loading-overlay) {
|
|
486
560
|
background-color: var(--gp-grid-loading-overlay-bg, rgba(255, 255, 255, 0.4));
|
|
487
561
|
}
|
|
488
562
|
|
|
489
|
-
.gp-grid-container--dark .gp-grid-loading-overlay {
|
|
563
|
+
:where(.gp-grid-container--dark .gp-grid-loading-overlay) {
|
|
490
564
|
background-color: var(--gp-grid-loading-overlay-bg, rgba(0, 0, 0, 0.3));
|
|
491
565
|
}
|
|
492
566
|
|
|
@@ -496,6 +570,13 @@
|
|
|
496
570
|
top: 50%;
|
|
497
571
|
left: 50%;
|
|
498
572
|
transform: translate(-50%, -50%);
|
|
573
|
+
z-index: 1000;
|
|
574
|
+
display: flex;
|
|
575
|
+
pointer-events: auto;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
:where(.gp-grid-loading) {
|
|
579
|
+
align-items: center;
|
|
499
580
|
padding: 12px 20px;
|
|
500
581
|
background-color: var(--gp-grid-loading-bg);
|
|
501
582
|
color: var(--gp-grid-loading-text);
|
|
@@ -503,20 +584,19 @@
|
|
|
503
584
|
border: 1px solid var(--gp-grid-border);
|
|
504
585
|
font-weight: 500;
|
|
505
586
|
font-size: 13px;
|
|
506
|
-
z-index: 1000;
|
|
507
|
-
display: flex;
|
|
508
|
-
align-items: center;
|
|
509
587
|
gap: 10px;
|
|
510
|
-
pointer-events: auto;
|
|
511
588
|
}
|
|
512
589
|
|
|
513
590
|
.gp-grid-loading-spinner {
|
|
514
591
|
width: 16px;
|
|
515
592
|
height: 16px;
|
|
593
|
+
animation: gp-grid-spin 0.7s linear infinite;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
:where(.gp-grid-loading-spinner) {
|
|
516
597
|
border: 2px solid var(--gp-grid-border);
|
|
517
598
|
border-top-color: var(--gp-grid-primary);
|
|
518
599
|
border-radius: 50%;
|
|
519
|
-
animation: gp-grid-spin 0.7s linear infinite;
|
|
520
600
|
}
|
|
521
601
|
|
|
522
602
|
@keyframes gp-grid-spin {
|
|
@@ -530,6 +610,12 @@
|
|
|
530
610
|
top: 50%;
|
|
531
611
|
left: 50%;
|
|
532
612
|
transform: translate(-50%, -50%);
|
|
613
|
+
z-index: 1000;
|
|
614
|
+
user-select: text;
|
|
615
|
+
-webkit-user-select: text;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
:where(.gp-grid-error) {
|
|
533
619
|
padding: 12px 20px;
|
|
534
620
|
background-color: var(--gp-grid-error-bg);
|
|
535
621
|
color: var(--gp-grid-error-text);
|
|
@@ -537,11 +623,8 @@
|
|
|
537
623
|
border: 1px solid var(--gp-grid-error-text);
|
|
538
624
|
font-weight: 500;
|
|
539
625
|
font-size: 13px;
|
|
540
|
-
z-index: 1000;
|
|
541
626
|
max-width: 80%;
|
|
542
627
|
text-align: center;
|
|
543
|
-
user-select: text;
|
|
544
|
-
-webkit-user-select: text;
|
|
545
628
|
cursor: text;
|
|
546
629
|
}
|
|
547
630
|
|
|
@@ -554,6 +637,9 @@
|
|
|
554
637
|
top: 50%;
|
|
555
638
|
left: 50%;
|
|
556
639
|
transform: translate(-50%, -50%);
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
:where(.gp-grid-empty) {
|
|
557
643
|
color: var(--gp-grid-text-muted);
|
|
558
644
|
font-size: 14px;
|
|
559
645
|
text-align: center;
|
|
@@ -569,20 +655,20 @@
|
|
|
569
655
|
height: 8px;
|
|
570
656
|
}
|
|
571
657
|
|
|
572
|
-
.gp-grid-container::-webkit-scrollbar-track {
|
|
658
|
+
:where(.gp-grid-container)::-webkit-scrollbar-track {
|
|
573
659
|
background-color: var(--gp-grid-scrollbar-track);
|
|
574
660
|
}
|
|
575
661
|
|
|
576
|
-
.gp-grid-container::-webkit-scrollbar-thumb {
|
|
662
|
+
:where(.gp-grid-container)::-webkit-scrollbar-thumb {
|
|
577
663
|
background-color: var(--gp-grid-scrollbar-thumb);
|
|
578
664
|
border-radius: 4px;
|
|
579
665
|
}
|
|
580
666
|
|
|
581
|
-
.gp-grid-container::-webkit-scrollbar-thumb:hover {
|
|
667
|
+
:where(.gp-grid-container)::-webkit-scrollbar-thumb:hover {
|
|
582
668
|
background-color: var(--gp-grid-scrollbar-thumb-hover);
|
|
583
669
|
}
|
|
584
670
|
|
|
585
|
-
.gp-grid-container::-webkit-scrollbar-corner {
|
|
671
|
+
:where(.gp-grid-container)::-webkit-scrollbar-corner {
|
|
586
672
|
background-color: var(--gp-grid-scrollbar-track);
|
|
587
673
|
}
|
|
588
674
|
|
|
@@ -592,17 +678,21 @@
|
|
|
592
678
|
============================================================================= */
|
|
593
679
|
|
|
594
680
|
.gp-grid-filter-popup {
|
|
681
|
+
max-height: 400px;
|
|
682
|
+
max-width: min(360px, calc(100vw - 16px));
|
|
683
|
+
display: flex;
|
|
684
|
+
flex-direction: column;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
:where(.gp-grid-filter-popup) {
|
|
595
688
|
background-color: var(--gp-grid-bg);
|
|
596
689
|
border: 1px solid var(--gp-grid-border);
|
|
597
690
|
border-radius: 6px;
|
|
598
691
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
599
|
-
max-height: 400px;
|
|
600
|
-
display: flex;
|
|
601
|
-
flex-direction: column;
|
|
602
692
|
font-size: 13px;
|
|
603
693
|
}
|
|
604
694
|
|
|
605
|
-
.gp-grid-filter-header {
|
|
695
|
+
:where(.gp-grid-filter-header) {
|
|
606
696
|
padding: 10px 12px;
|
|
607
697
|
font-weight: 600;
|
|
608
698
|
border-bottom: 1px solid var(--gp-grid-border-light);
|
|
@@ -610,16 +700,23 @@
|
|
|
610
700
|
}
|
|
611
701
|
|
|
612
702
|
.gp-grid-filter-content {
|
|
613
|
-
padding: 10px 12px;
|
|
614
703
|
display: flex;
|
|
615
704
|
flex-direction: column;
|
|
705
|
+
overflow-y: auto;
|
|
706
|
+
min-height: 0;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
:where(.gp-grid-filter-content) {
|
|
710
|
+
padding: 10px 12px;
|
|
616
711
|
gap: 10px;
|
|
617
|
-
overflow: hidden;
|
|
618
712
|
}
|
|
619
713
|
|
|
620
714
|
/* Mode toggle (Values / Condition) */
|
|
621
715
|
.gp-grid-filter-mode-toggle {
|
|
622
716
|
display: flex;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
:where(.gp-grid-filter-mode-toggle) {
|
|
623
720
|
gap: 4px;
|
|
624
721
|
background-color: var(--gp-grid-bg-alt);
|
|
625
722
|
border-radius: 4px;
|
|
@@ -628,6 +725,9 @@
|
|
|
628
725
|
|
|
629
726
|
.gp-grid-filter-mode-toggle button {
|
|
630
727
|
flex: 1;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
:where(.gp-grid-filter-mode-toggle button) {
|
|
631
731
|
padding: 6px 10px;
|
|
632
732
|
font-size: 11px;
|
|
633
733
|
font-family: inherit;
|
|
@@ -639,18 +739,18 @@
|
|
|
639
739
|
transition: background-color 0.15s ease, color 0.15s ease;
|
|
640
740
|
}
|
|
641
741
|
|
|
642
|
-
.gp-grid-filter-mode-toggle button:hover {
|
|
742
|
+
:where(.gp-grid-filter-mode-toggle button:hover) {
|
|
643
743
|
color: var(--gp-grid-text);
|
|
644
744
|
}
|
|
645
745
|
|
|
646
|
-
.gp-grid-filter-mode-toggle button.active {
|
|
746
|
+
:where(.gp-grid-filter-mode-toggle button.active) {
|
|
647
747
|
background-color: var(--gp-grid-bg);
|
|
648
748
|
color: var(--gp-grid-text);
|
|
649
749
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
650
750
|
}
|
|
651
751
|
|
|
652
752
|
/* Info message for too many values */
|
|
653
|
-
.gp-grid-filter-info {
|
|
753
|
+
:where(.gp-grid-filter-info) {
|
|
654
754
|
font-size: 11px;
|
|
655
755
|
color: var(--gp-grid-text-secondary);
|
|
656
756
|
padding: 6px 8px;
|
|
@@ -662,6 +762,10 @@
|
|
|
662
762
|
.gp-grid-filter-search {
|
|
663
763
|
width: 100%;
|
|
664
764
|
height: 30px;
|
|
765
|
+
box-sizing: border-box;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
:where(.gp-grid-filter-search) {
|
|
665
769
|
padding: 0 10px;
|
|
666
770
|
font-family: inherit;
|
|
667
771
|
font-size: 12px;
|
|
@@ -669,10 +773,9 @@
|
|
|
669
773
|
border-radius: 4px;
|
|
670
774
|
background-color: var(--gp-grid-input-bg);
|
|
671
775
|
color: var(--gp-grid-text);
|
|
672
|
-
box-sizing: border-box;
|
|
673
776
|
}
|
|
674
777
|
|
|
675
|
-
.gp-grid-filter-search:focus {
|
|
778
|
+
:where(.gp-grid-filter-search:focus) {
|
|
676
779
|
outline: none;
|
|
677
780
|
border-color: var(--gp-grid-primary);
|
|
678
781
|
}
|
|
@@ -680,11 +783,17 @@
|
|
|
680
783
|
/* Select All / Deselect All actions */
|
|
681
784
|
.gp-grid-filter-actions {
|
|
682
785
|
display: flex;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
:where(.gp-grid-filter-actions) {
|
|
683
789
|
gap: 8px;
|
|
684
790
|
}
|
|
685
791
|
|
|
686
792
|
.gp-grid-filter-actions button {
|
|
687
793
|
flex: 1;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
:where(.gp-grid-filter-actions button) {
|
|
688
797
|
padding: 4px 8px;
|
|
689
798
|
font-size: 11px;
|
|
690
799
|
font-family: inherit;
|
|
@@ -695,11 +804,11 @@
|
|
|
695
804
|
cursor: pointer;
|
|
696
805
|
}
|
|
697
806
|
|
|
698
|
-
.gp-grid-filter-actions button:hover:not(:disabled) {
|
|
807
|
+
:where(.gp-grid-filter-actions button:hover:not(:disabled)) {
|
|
699
808
|
background-color: var(--gp-grid-hover);
|
|
700
809
|
}
|
|
701
810
|
|
|
702
|
-
.gp-grid-filter-actions button:disabled {
|
|
811
|
+
:where(.gp-grid-filter-actions button:disabled) {
|
|
703
812
|
opacity: 0.5;
|
|
704
813
|
cursor: not-allowed;
|
|
705
814
|
}
|
|
@@ -710,6 +819,9 @@
|
|
|
710
819
|
overflow-y: auto;
|
|
711
820
|
display: flex;
|
|
712
821
|
flex-direction: column;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
:where(.gp-grid-filter-list) {
|
|
713
825
|
gap: 4px;
|
|
714
826
|
border: 1px solid var(--gp-grid-border-light);
|
|
715
827
|
border-radius: 4px;
|
|
@@ -719,18 +831,24 @@
|
|
|
719
831
|
.gp-grid-filter-option {
|
|
720
832
|
display: flex;
|
|
721
833
|
align-items: center;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
:where(.gp-grid-filter-option) {
|
|
722
837
|
gap: 8px;
|
|
723
838
|
padding: 4px 6px;
|
|
724
839
|
border-radius: 3px;
|
|
725
840
|
cursor: pointer;
|
|
726
841
|
}
|
|
727
842
|
|
|
728
|
-
.gp-grid-filter-option:hover {
|
|
843
|
+
:where(.gp-grid-filter-option:hover) {
|
|
729
844
|
background-color: var(--gp-grid-hover);
|
|
730
845
|
}
|
|
731
846
|
|
|
732
847
|
.gp-grid-filter-option input[type="checkbox"] {
|
|
733
848
|
margin: 0;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
:where(.gp-grid-filter-option input[type="checkbox"]) {
|
|
734
852
|
cursor: pointer;
|
|
735
853
|
}
|
|
736
854
|
|
|
@@ -741,7 +859,7 @@
|
|
|
741
859
|
white-space: nowrap;
|
|
742
860
|
}
|
|
743
861
|
|
|
744
|
-
.gp-grid-filter-blank {
|
|
862
|
+
:where(.gp-grid-filter-blank) {
|
|
745
863
|
font-style: italic;
|
|
746
864
|
color: var(--gp-grid-text-muted);
|
|
747
865
|
}
|
|
@@ -750,17 +868,26 @@
|
|
|
750
868
|
.gp-grid-filter-condition {
|
|
751
869
|
display: flex;
|
|
752
870
|
flex-direction: column;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
:where(.gp-grid-filter-condition) {
|
|
753
874
|
gap: 6px;
|
|
754
875
|
}
|
|
755
876
|
|
|
756
877
|
.gp-grid-filter-row {
|
|
757
878
|
display: flex;
|
|
758
879
|
align-items: center;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
:where(.gp-grid-filter-row) {
|
|
759
883
|
gap: 6px;
|
|
760
884
|
}
|
|
761
885
|
|
|
762
886
|
.gp-grid-filter-row select {
|
|
763
887
|
height: 30px;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
:where(.gp-grid-filter-row select) {
|
|
764
891
|
padding: 0 6px;
|
|
765
892
|
font-family: inherit;
|
|
766
893
|
font-size: 12px;
|
|
@@ -777,6 +904,14 @@
|
|
|
777
904
|
.gp-grid-filter-text-input {
|
|
778
905
|
flex: 1;
|
|
779
906
|
height: 30px;
|
|
907
|
+
min-width: 0;
|
|
908
|
+
box-sizing: border-box;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
:where(.gp-grid-filter-row input[type="number"]),
|
|
912
|
+
:where(.gp-grid-filter-row input[type="date"]),
|
|
913
|
+
:where(.gp-grid-filter-row input[type="text"]),
|
|
914
|
+
:where(.gp-grid-filter-text-input) {
|
|
780
915
|
padding: 0 8px;
|
|
781
916
|
font-family: inherit;
|
|
782
917
|
font-size: 12px;
|
|
@@ -784,16 +919,14 @@
|
|
|
784
919
|
border-radius: 4px;
|
|
785
920
|
background-color: var(--gp-grid-input-bg);
|
|
786
921
|
color: var(--gp-grid-text);
|
|
787
|
-
min-width: 0;
|
|
788
|
-
box-sizing: border-box;
|
|
789
922
|
}
|
|
790
923
|
|
|
791
|
-
.gp-grid-filter-row input:focus {
|
|
924
|
+
:where(.gp-grid-filter-row input:focus) {
|
|
792
925
|
outline: none;
|
|
793
926
|
border-color: var(--gp-grid-primary);
|
|
794
927
|
}
|
|
795
928
|
|
|
796
|
-
.gp-grid-filter-to {
|
|
929
|
+
:where(.gp-grid-filter-to) {
|
|
797
930
|
font-size: 11px;
|
|
798
931
|
color: var(--gp-grid-text-secondary);
|
|
799
932
|
}
|
|
@@ -801,6 +934,9 @@
|
|
|
801
934
|
.gp-grid-filter-remove {
|
|
802
935
|
width: 24px;
|
|
803
936
|
height: 24px;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
:where(.gp-grid-filter-remove) {
|
|
804
940
|
padding: 0;
|
|
805
941
|
font-size: 16px;
|
|
806
942
|
line-height: 1;
|
|
@@ -811,7 +947,7 @@
|
|
|
811
947
|
cursor: pointer;
|
|
812
948
|
}
|
|
813
949
|
|
|
814
|
-
.gp-grid-filter-remove:hover {
|
|
950
|
+
:where(.gp-grid-filter-remove:hover) {
|
|
815
951
|
background-color: var(--gp-grid-error-bg);
|
|
816
952
|
color: var(--gp-grid-error-text);
|
|
817
953
|
}
|
|
@@ -819,12 +955,18 @@
|
|
|
819
955
|
/* AND/OR combination toggle */
|
|
820
956
|
.gp-grid-filter-combination {
|
|
821
957
|
display: flex;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
:where(.gp-grid-filter-combination) {
|
|
822
961
|
gap: 4px;
|
|
823
962
|
margin-bottom: 4px;
|
|
824
963
|
}
|
|
825
964
|
|
|
826
965
|
.gp-grid-filter-combination button {
|
|
827
966
|
flex: 1;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
:where(.gp-grid-filter-combination button) {
|
|
828
970
|
padding: 4px 8px;
|
|
829
971
|
font-size: 10px;
|
|
830
972
|
font-family: inherit;
|
|
@@ -835,7 +977,7 @@
|
|
|
835
977
|
cursor: pointer;
|
|
836
978
|
}
|
|
837
979
|
|
|
838
|
-
.gp-grid-filter-combination button.active {
|
|
980
|
+
:where(.gp-grid-filter-combination button.active) {
|
|
839
981
|
background-color: var(--gp-grid-primary);
|
|
840
982
|
border-color: var(--gp-grid-primary);
|
|
841
983
|
color: #fff;
|
|
@@ -844,6 +986,9 @@
|
|
|
844
986
|
/* Add condition button */
|
|
845
987
|
.gp-grid-filter-add {
|
|
846
988
|
width: 100%;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
:where(.gp-grid-filter-add) {
|
|
847
992
|
padding: 6px;
|
|
848
993
|
font-size: 11px;
|
|
849
994
|
font-family: inherit;
|
|
@@ -854,7 +999,7 @@
|
|
|
854
999
|
cursor: pointer;
|
|
855
1000
|
}
|
|
856
1001
|
|
|
857
|
-
.gp-grid-filter-add:hover {
|
|
1002
|
+
:where(.gp-grid-filter-add:hover) {
|
|
858
1003
|
background-color: var(--gp-grid-hover);
|
|
859
1004
|
border-color: var(--gp-grid-primary);
|
|
860
1005
|
color: var(--gp-grid-primary);
|
|
@@ -863,6 +1008,9 @@
|
|
|
863
1008
|
/* Apply / Clear buttons */
|
|
864
1009
|
.gp-grid-filter-buttons {
|
|
865
1010
|
display: flex;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
:where(.gp-grid-filter-buttons) {
|
|
866
1014
|
gap: 8px;
|
|
867
1015
|
padding-top: 8px;
|
|
868
1016
|
border-top: 1px solid var(--gp-grid-border-light);
|
|
@@ -871,6 +1019,10 @@
|
|
|
871
1019
|
.gp-grid-filter-btn-clear,
|
|
872
1020
|
.gp-grid-filter-btn-apply {
|
|
873
1021
|
flex: 1;
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
:where(.gp-grid-filter-btn-clear),
|
|
1025
|
+
:where(.gp-grid-filter-btn-apply) {
|
|
874
1026
|
padding: 8px 12px;
|
|
875
1027
|
font-size: 12px;
|
|
876
1028
|
font-family: inherit;
|
|
@@ -878,23 +1030,23 @@
|
|
|
878
1030
|
cursor: pointer;
|
|
879
1031
|
}
|
|
880
1032
|
|
|
881
|
-
.gp-grid-filter-btn-clear {
|
|
1033
|
+
:where(.gp-grid-filter-btn-clear) {
|
|
882
1034
|
border: 1px solid var(--gp-grid-input-border);
|
|
883
1035
|
background-color: var(--gp-grid-bg);
|
|
884
1036
|
color: var(--gp-grid-text);
|
|
885
1037
|
}
|
|
886
1038
|
|
|
887
|
-
.gp-grid-filter-btn-clear:hover {
|
|
1039
|
+
:where(.gp-grid-filter-btn-clear:hover) {
|
|
888
1040
|
background-color: var(--gp-grid-hover);
|
|
889
1041
|
}
|
|
890
1042
|
|
|
891
|
-
.gp-grid-filter-btn-apply {
|
|
1043
|
+
:where(.gp-grid-filter-btn-apply) {
|
|
892
1044
|
border: 1px solid var(--gp-grid-primary);
|
|
893
1045
|
background-color: var(--gp-grid-primary);
|
|
894
1046
|
color: #fff;
|
|
895
1047
|
}
|
|
896
1048
|
|
|
897
|
-
.gp-grid-filter-btn-apply:hover {
|
|
1049
|
+
:where(.gp-grid-filter-btn-apply:hover) {
|
|
898
1050
|
opacity: 0.9;
|
|
899
1051
|
}
|
|
900
1052
|
|
|
@@ -904,11 +1056,14 @@
|
|
|
904
1056
|
============================================================================= */
|
|
905
1057
|
|
|
906
1058
|
.gp-grid-cell--row-drag-handle {
|
|
907
|
-
cursor: grab;
|
|
908
1059
|
touch-action: none;
|
|
909
1060
|
}
|
|
910
1061
|
|
|
911
|
-
.gp-grid-cell--row-drag-handle
|
|
1062
|
+
:where(.gp-grid-cell--row-drag-handle) {
|
|
1063
|
+
cursor: grab;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
:where(.gp-grid-cell--row-drag-handle:active) {
|
|
912
1067
|
cursor: grabbing;
|
|
913
1068
|
}
|
|
914
1069
|
|
|
@@ -918,6 +1073,9 @@
|
|
|
918
1073
|
justify-content: center;
|
|
919
1074
|
width: 100%;
|
|
920
1075
|
height: 100%;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
:where(.gp-grid-row-drag-icon) {
|
|
921
1079
|
color: var(--gp-grid-text-secondary);
|
|
922
1080
|
}
|
|
923
1081
|
|
|
@@ -929,14 +1087,17 @@
|
|
|
929
1087
|
.gp-grid-row-drag-ghost {
|
|
930
1088
|
position: fixed;
|
|
931
1089
|
pointer-events: none;
|
|
932
|
-
opacity: 0.8;
|
|
933
1090
|
z-index: 2000;
|
|
1091
|
+
overflow: hidden;
|
|
1092
|
+
box-sizing: border-box;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
:where(.gp-grid-row-drag-ghost) {
|
|
1096
|
+
opacity: 0.8;
|
|
934
1097
|
background-color: var(--gp-grid-bg, #fff);
|
|
935
1098
|
border: 2px solid var(--gp-grid-primary);
|
|
936
1099
|
border-radius: 4px;
|
|
937
1100
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
938
|
-
overflow: hidden;
|
|
939
|
-
box-sizing: border-box;
|
|
940
1101
|
}
|
|
941
1102
|
|
|
942
1103
|
.gp-grid-row-drop-indicator {
|
|
@@ -944,8 +1105,11 @@
|
|
|
944
1105
|
left: 0;
|
|
945
1106
|
width: 100%;
|
|
946
1107
|
height: 3px;
|
|
947
|
-
background-color: var(--gp-grid-primary);
|
|
948
1108
|
z-index: 1000;
|
|
949
1109
|
pointer-events: none;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
:where(.gp-grid-row-drop-indicator) {
|
|
1113
|
+
background-color: var(--gp-grid-primary);
|
|
950
1114
|
border-radius: 2px;
|
|
951
1115
|
}
|