@gp-grid/angular 0.16.1 → 0.18.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 +249 -86
- package/fesm2022/gp-grid-angular.mjs +220 -15
- package/package.json +2 -2
- package/types/gp-grid-angular.d.ts +40 -3
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,17 +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;
|
|
616
|
-
gap: 10px;
|
|
617
705
|
overflow-y: auto;
|
|
618
706
|
min-height: 0;
|
|
619
707
|
}
|
|
620
708
|
|
|
709
|
+
:where(.gp-grid-filter-content) {
|
|
710
|
+
padding: 10px 12px;
|
|
711
|
+
gap: 10px;
|
|
712
|
+
}
|
|
713
|
+
|
|
621
714
|
/* Mode toggle (Values / Condition) */
|
|
622
715
|
.gp-grid-filter-mode-toggle {
|
|
623
716
|
display: flex;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
:where(.gp-grid-filter-mode-toggle) {
|
|
624
720
|
gap: 4px;
|
|
625
721
|
background-color: var(--gp-grid-bg-alt);
|
|
626
722
|
border-radius: 4px;
|
|
@@ -629,6 +725,9 @@
|
|
|
629
725
|
|
|
630
726
|
.gp-grid-filter-mode-toggle button {
|
|
631
727
|
flex: 1;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
:where(.gp-grid-filter-mode-toggle button) {
|
|
632
731
|
padding: 6px 10px;
|
|
633
732
|
font-size: 11px;
|
|
634
733
|
font-family: inherit;
|
|
@@ -640,18 +739,18 @@
|
|
|
640
739
|
transition: background-color 0.15s ease, color 0.15s ease;
|
|
641
740
|
}
|
|
642
741
|
|
|
643
|
-
.gp-grid-filter-mode-toggle button:hover {
|
|
742
|
+
:where(.gp-grid-filter-mode-toggle button:hover) {
|
|
644
743
|
color: var(--gp-grid-text);
|
|
645
744
|
}
|
|
646
745
|
|
|
647
|
-
.gp-grid-filter-mode-toggle button.active {
|
|
746
|
+
:where(.gp-grid-filter-mode-toggle button.active) {
|
|
648
747
|
background-color: var(--gp-grid-bg);
|
|
649
748
|
color: var(--gp-grid-text);
|
|
650
749
|
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
|
651
750
|
}
|
|
652
751
|
|
|
653
752
|
/* Info message for too many values */
|
|
654
|
-
.gp-grid-filter-info {
|
|
753
|
+
:where(.gp-grid-filter-info) {
|
|
655
754
|
font-size: 11px;
|
|
656
755
|
color: var(--gp-grid-text-secondary);
|
|
657
756
|
padding: 6px 8px;
|
|
@@ -663,6 +762,10 @@
|
|
|
663
762
|
.gp-grid-filter-search {
|
|
664
763
|
width: 100%;
|
|
665
764
|
height: 30px;
|
|
765
|
+
box-sizing: border-box;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
:where(.gp-grid-filter-search) {
|
|
666
769
|
padding: 0 10px;
|
|
667
770
|
font-family: inherit;
|
|
668
771
|
font-size: 12px;
|
|
@@ -670,10 +773,9 @@
|
|
|
670
773
|
border-radius: 4px;
|
|
671
774
|
background-color: var(--gp-grid-input-bg);
|
|
672
775
|
color: var(--gp-grid-text);
|
|
673
|
-
box-sizing: border-box;
|
|
674
776
|
}
|
|
675
777
|
|
|
676
|
-
.gp-grid-filter-search:focus {
|
|
778
|
+
:where(.gp-grid-filter-search:focus) {
|
|
677
779
|
outline: none;
|
|
678
780
|
border-color: var(--gp-grid-primary);
|
|
679
781
|
}
|
|
@@ -681,11 +783,17 @@
|
|
|
681
783
|
/* Select All / Deselect All actions */
|
|
682
784
|
.gp-grid-filter-actions {
|
|
683
785
|
display: flex;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
:where(.gp-grid-filter-actions) {
|
|
684
789
|
gap: 8px;
|
|
685
790
|
}
|
|
686
791
|
|
|
687
792
|
.gp-grid-filter-actions button {
|
|
688
793
|
flex: 1;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
:where(.gp-grid-filter-actions button) {
|
|
689
797
|
padding: 4px 8px;
|
|
690
798
|
font-size: 11px;
|
|
691
799
|
font-family: inherit;
|
|
@@ -696,11 +804,11 @@
|
|
|
696
804
|
cursor: pointer;
|
|
697
805
|
}
|
|
698
806
|
|
|
699
|
-
.gp-grid-filter-actions button:hover:not(:disabled) {
|
|
807
|
+
:where(.gp-grid-filter-actions button:hover:not(:disabled)) {
|
|
700
808
|
background-color: var(--gp-grid-hover);
|
|
701
809
|
}
|
|
702
810
|
|
|
703
|
-
.gp-grid-filter-actions button:disabled {
|
|
811
|
+
:where(.gp-grid-filter-actions button:disabled) {
|
|
704
812
|
opacity: 0.5;
|
|
705
813
|
cursor: not-allowed;
|
|
706
814
|
}
|
|
@@ -711,6 +819,9 @@
|
|
|
711
819
|
overflow-y: auto;
|
|
712
820
|
display: flex;
|
|
713
821
|
flex-direction: column;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
:where(.gp-grid-filter-list) {
|
|
714
825
|
gap: 4px;
|
|
715
826
|
border: 1px solid var(--gp-grid-border-light);
|
|
716
827
|
border-radius: 4px;
|
|
@@ -720,18 +831,24 @@
|
|
|
720
831
|
.gp-grid-filter-option {
|
|
721
832
|
display: flex;
|
|
722
833
|
align-items: center;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
:where(.gp-grid-filter-option) {
|
|
723
837
|
gap: 8px;
|
|
724
838
|
padding: 4px 6px;
|
|
725
839
|
border-radius: 3px;
|
|
726
840
|
cursor: pointer;
|
|
727
841
|
}
|
|
728
842
|
|
|
729
|
-
.gp-grid-filter-option:hover {
|
|
843
|
+
:where(.gp-grid-filter-option:hover) {
|
|
730
844
|
background-color: var(--gp-grid-hover);
|
|
731
845
|
}
|
|
732
846
|
|
|
733
847
|
.gp-grid-filter-option input[type="checkbox"] {
|
|
734
848
|
margin: 0;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
:where(.gp-grid-filter-option input[type="checkbox"]) {
|
|
735
852
|
cursor: pointer;
|
|
736
853
|
}
|
|
737
854
|
|
|
@@ -742,7 +859,7 @@
|
|
|
742
859
|
white-space: nowrap;
|
|
743
860
|
}
|
|
744
861
|
|
|
745
|
-
.gp-grid-filter-blank {
|
|
862
|
+
:where(.gp-grid-filter-blank) {
|
|
746
863
|
font-style: italic;
|
|
747
864
|
color: var(--gp-grid-text-muted);
|
|
748
865
|
}
|
|
@@ -751,17 +868,26 @@
|
|
|
751
868
|
.gp-grid-filter-condition {
|
|
752
869
|
display: flex;
|
|
753
870
|
flex-direction: column;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
:where(.gp-grid-filter-condition) {
|
|
754
874
|
gap: 6px;
|
|
755
875
|
}
|
|
756
876
|
|
|
757
877
|
.gp-grid-filter-row {
|
|
758
878
|
display: flex;
|
|
759
879
|
align-items: center;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
:where(.gp-grid-filter-row) {
|
|
760
883
|
gap: 6px;
|
|
761
884
|
}
|
|
762
885
|
|
|
763
886
|
.gp-grid-filter-row select {
|
|
764
887
|
height: 30px;
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
:where(.gp-grid-filter-row select) {
|
|
765
891
|
padding: 0 6px;
|
|
766
892
|
font-family: inherit;
|
|
767
893
|
font-size: 12px;
|
|
@@ -778,6 +904,14 @@
|
|
|
778
904
|
.gp-grid-filter-text-input {
|
|
779
905
|
flex: 1;
|
|
780
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) {
|
|
781
915
|
padding: 0 8px;
|
|
782
916
|
font-family: inherit;
|
|
783
917
|
font-size: 12px;
|
|
@@ -785,16 +919,14 @@
|
|
|
785
919
|
border-radius: 4px;
|
|
786
920
|
background-color: var(--gp-grid-input-bg);
|
|
787
921
|
color: var(--gp-grid-text);
|
|
788
|
-
min-width: 0;
|
|
789
|
-
box-sizing: border-box;
|
|
790
922
|
}
|
|
791
923
|
|
|
792
|
-
.gp-grid-filter-row input:focus {
|
|
924
|
+
:where(.gp-grid-filter-row input:focus) {
|
|
793
925
|
outline: none;
|
|
794
926
|
border-color: var(--gp-grid-primary);
|
|
795
927
|
}
|
|
796
928
|
|
|
797
|
-
.gp-grid-filter-to {
|
|
929
|
+
:where(.gp-grid-filter-to) {
|
|
798
930
|
font-size: 11px;
|
|
799
931
|
color: var(--gp-grid-text-secondary);
|
|
800
932
|
}
|
|
@@ -802,6 +934,9 @@
|
|
|
802
934
|
.gp-grid-filter-remove {
|
|
803
935
|
width: 24px;
|
|
804
936
|
height: 24px;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
:where(.gp-grid-filter-remove) {
|
|
805
940
|
padding: 0;
|
|
806
941
|
font-size: 16px;
|
|
807
942
|
line-height: 1;
|
|
@@ -812,7 +947,7 @@
|
|
|
812
947
|
cursor: pointer;
|
|
813
948
|
}
|
|
814
949
|
|
|
815
|
-
.gp-grid-filter-remove:hover {
|
|
950
|
+
:where(.gp-grid-filter-remove:hover) {
|
|
816
951
|
background-color: var(--gp-grid-error-bg);
|
|
817
952
|
color: var(--gp-grid-error-text);
|
|
818
953
|
}
|
|
@@ -820,12 +955,18 @@
|
|
|
820
955
|
/* AND/OR combination toggle */
|
|
821
956
|
.gp-grid-filter-combination {
|
|
822
957
|
display: flex;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
:where(.gp-grid-filter-combination) {
|
|
823
961
|
gap: 4px;
|
|
824
962
|
margin-bottom: 4px;
|
|
825
963
|
}
|
|
826
964
|
|
|
827
965
|
.gp-grid-filter-combination button {
|
|
828
966
|
flex: 1;
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
:where(.gp-grid-filter-combination button) {
|
|
829
970
|
padding: 4px 8px;
|
|
830
971
|
font-size: 10px;
|
|
831
972
|
font-family: inherit;
|
|
@@ -836,7 +977,7 @@
|
|
|
836
977
|
cursor: pointer;
|
|
837
978
|
}
|
|
838
979
|
|
|
839
|
-
.gp-grid-filter-combination button.active {
|
|
980
|
+
:where(.gp-grid-filter-combination button.active) {
|
|
840
981
|
background-color: var(--gp-grid-primary);
|
|
841
982
|
border-color: var(--gp-grid-primary);
|
|
842
983
|
color: #fff;
|
|
@@ -845,6 +986,9 @@
|
|
|
845
986
|
/* Add condition button */
|
|
846
987
|
.gp-grid-filter-add {
|
|
847
988
|
width: 100%;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
:where(.gp-grid-filter-add) {
|
|
848
992
|
padding: 6px;
|
|
849
993
|
font-size: 11px;
|
|
850
994
|
font-family: inherit;
|
|
@@ -855,7 +999,7 @@
|
|
|
855
999
|
cursor: pointer;
|
|
856
1000
|
}
|
|
857
1001
|
|
|
858
|
-
.gp-grid-filter-add:hover {
|
|
1002
|
+
:where(.gp-grid-filter-add:hover) {
|
|
859
1003
|
background-color: var(--gp-grid-hover);
|
|
860
1004
|
border-color: var(--gp-grid-primary);
|
|
861
1005
|
color: var(--gp-grid-primary);
|
|
@@ -864,6 +1008,9 @@
|
|
|
864
1008
|
/* Apply / Clear buttons */
|
|
865
1009
|
.gp-grid-filter-buttons {
|
|
866
1010
|
display: flex;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
:where(.gp-grid-filter-buttons) {
|
|
867
1014
|
gap: 8px;
|
|
868
1015
|
padding-top: 8px;
|
|
869
1016
|
border-top: 1px solid var(--gp-grid-border-light);
|
|
@@ -872,6 +1019,10 @@
|
|
|
872
1019
|
.gp-grid-filter-btn-clear,
|
|
873
1020
|
.gp-grid-filter-btn-apply {
|
|
874
1021
|
flex: 1;
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
:where(.gp-grid-filter-btn-clear),
|
|
1025
|
+
:where(.gp-grid-filter-btn-apply) {
|
|
875
1026
|
padding: 8px 12px;
|
|
876
1027
|
font-size: 12px;
|
|
877
1028
|
font-family: inherit;
|
|
@@ -879,23 +1030,23 @@
|
|
|
879
1030
|
cursor: pointer;
|
|
880
1031
|
}
|
|
881
1032
|
|
|
882
|
-
.gp-grid-filter-btn-clear {
|
|
1033
|
+
:where(.gp-grid-filter-btn-clear) {
|
|
883
1034
|
border: 1px solid var(--gp-grid-input-border);
|
|
884
1035
|
background-color: var(--gp-grid-bg);
|
|
885
1036
|
color: var(--gp-grid-text);
|
|
886
1037
|
}
|
|
887
1038
|
|
|
888
|
-
.gp-grid-filter-btn-clear:hover {
|
|
1039
|
+
:where(.gp-grid-filter-btn-clear:hover) {
|
|
889
1040
|
background-color: var(--gp-grid-hover);
|
|
890
1041
|
}
|
|
891
1042
|
|
|
892
|
-
.gp-grid-filter-btn-apply {
|
|
1043
|
+
:where(.gp-grid-filter-btn-apply) {
|
|
893
1044
|
border: 1px solid var(--gp-grid-primary);
|
|
894
1045
|
background-color: var(--gp-grid-primary);
|
|
895
1046
|
color: #fff;
|
|
896
1047
|
}
|
|
897
1048
|
|
|
898
|
-
.gp-grid-filter-btn-apply:hover {
|
|
1049
|
+
:where(.gp-grid-filter-btn-apply:hover) {
|
|
899
1050
|
opacity: 0.9;
|
|
900
1051
|
}
|
|
901
1052
|
|
|
@@ -905,11 +1056,14 @@
|
|
|
905
1056
|
============================================================================= */
|
|
906
1057
|
|
|
907
1058
|
.gp-grid-cell--row-drag-handle {
|
|
908
|
-
cursor: grab;
|
|
909
1059
|
touch-action: none;
|
|
910
1060
|
}
|
|
911
1061
|
|
|
912
|
-
.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) {
|
|
913
1067
|
cursor: grabbing;
|
|
914
1068
|
}
|
|
915
1069
|
|
|
@@ -919,6 +1073,9 @@
|
|
|
919
1073
|
justify-content: center;
|
|
920
1074
|
width: 100%;
|
|
921
1075
|
height: 100%;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
:where(.gp-grid-row-drag-icon) {
|
|
922
1079
|
color: var(--gp-grid-text-secondary);
|
|
923
1080
|
}
|
|
924
1081
|
|
|
@@ -930,14 +1087,17 @@
|
|
|
930
1087
|
.gp-grid-row-drag-ghost {
|
|
931
1088
|
position: fixed;
|
|
932
1089
|
pointer-events: none;
|
|
933
|
-
opacity: 0.8;
|
|
934
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;
|
|
935
1097
|
background-color: var(--gp-grid-bg, #fff);
|
|
936
1098
|
border: 2px solid var(--gp-grid-primary);
|
|
937
1099
|
border-radius: 4px;
|
|
938
1100
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
939
|
-
overflow: hidden;
|
|
940
|
-
box-sizing: border-box;
|
|
941
1101
|
}
|
|
942
1102
|
|
|
943
1103
|
.gp-grid-row-drop-indicator {
|
|
@@ -945,8 +1105,11 @@
|
|
|
945
1105
|
left: 0;
|
|
946
1106
|
width: 100%;
|
|
947
1107
|
height: 3px;
|
|
948
|
-
background-color: var(--gp-grid-primary);
|
|
949
1108
|
z-index: 1000;
|
|
950
1109
|
pointer-events: none;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
:where(.gp-grid-row-drop-indicator) {
|
|
1113
|
+
background-color: var(--gp-grid-primary);
|
|
951
1114
|
border-radius: 2px;
|
|
952
1115
|
}
|