@alaarab/ogrid-react-fluent 2.1.3 → 2.1.5

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.
Files changed (28) hide show
  1. package/dist/esm/index.css +1278 -0
  2. package/dist/esm/index.js +1166 -11
  3. package/dist/types/OGrid/OGrid.d.ts +1 -1
  4. package/dist/types/index.d.ts +40 -1
  5. package/package.json +4 -4
  6. package/dist/esm/ColumnChooser/ColumnChooser.js +0 -34
  7. package/dist/esm/ColumnChooser/ColumnChooser.module.css +0 -50
  8. package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.js +0 -30
  9. package/dist/esm/ColumnHeaderFilter/ColumnHeaderFilter.module.css +0 -412
  10. package/dist/esm/ColumnHeaderFilter/MultiSelectFilterPopover.js +0 -17
  11. package/dist/esm/ColumnHeaderFilter/PeopleFilterPopover.js +0 -18
  12. package/dist/esm/ColumnHeaderFilter/TextFilterPopover.js +0 -11
  13. package/dist/esm/ColumnHeaderFilter/index.js +0 -1
  14. package/dist/esm/ColumnHeaderMenu/ColumnHeaderMenu.js +0 -12
  15. package/dist/esm/ColumnHeaderMenu/ColumnHeaderMenu.module.css +0 -46
  16. package/dist/esm/ColumnHeaderMenu/index.js +0 -1
  17. package/dist/esm/DataGridTable/DataGridTable.js +0 -116
  18. package/dist/esm/DataGridTable/DataGridTable.module.css +0 -845
  19. package/dist/esm/DataGridTable/DropIndicator.js +0 -6
  20. package/dist/esm/DataGridTable/EmptyState.js +0 -14
  21. package/dist/esm/DataGridTable/GridContextMenu.js +0 -13
  22. package/dist/esm/DataGridTable/InlineCellEditor.js +0 -6
  23. package/dist/esm/DataGridTable/LoadingOverlay.js +0 -12
  24. package/dist/esm/DataGridTable/StatusBar.js +0 -12
  25. package/dist/esm/OGrid/OGrid.js +0 -9
  26. package/dist/esm/OGrid/index.js +0 -1
  27. package/dist/esm/PaginationControls/PaginationControls.js +0 -26
  28. package/dist/esm/PaginationControls/PaginationControls.module.css +0 -74
@@ -0,0 +1,1278 @@
1
+ @charset "UTF-8";
2
+
3
+ /* src/ColumnHeaderFilter/ColumnHeaderFilter.module.scss */
4
+ .ColumnHeaderFilter_module_columnHeader {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: 4px;
8
+ width: 100%;
9
+ max-width: 100%;
10
+ min-width: 0;
11
+ position: relative;
12
+ box-sizing: border-box;
13
+ overflow: hidden;
14
+ }
15
+ :root {
16
+ --dt-header-resize-zone: 16px;
17
+ --dt-header-action-button: 24px;
18
+ --dt-header-action-gap: 2px;
19
+ }
20
+ .ColumnHeaderFilter_module_headerContent {
21
+ display: flex;
22
+ align-items: center;
23
+ gap: 4px;
24
+ flex: 1;
25
+ min-width: 0;
26
+ width: 100%;
27
+ max-width: 100%;
28
+ padding: 2px 0;
29
+ box-sizing: border-box;
30
+ overflow: hidden;
31
+ }
32
+ .ColumnHeaderFilter_module_columnName {
33
+ display: block;
34
+ min-width: 0;
35
+ max-width: 100%;
36
+ overflow: hidden;
37
+ text-overflow: ellipsis;
38
+ white-space: nowrap;
39
+ font-weight: 600;
40
+ font-size: 14px;
41
+ color: var(--colorNeutralForeground1, #242424);
42
+ }
43
+ .ColumnHeaderFilter_module_headerActions {
44
+ display: flex;
45
+ align-items: center;
46
+ gap: var(--dt-header-action-gap);
47
+ margin-left: auto;
48
+ flex-shrink: 0;
49
+ }
50
+ .ColumnHeaderFilter_module_filterIcon {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ width: 24px;
55
+ height: 24px;
56
+ padding: 4px;
57
+ margin-left: 2px;
58
+ border: none;
59
+ border-radius: var(--borderRadiusSmall, 4px);
60
+ background-color: transparent;
61
+ color: var(--colorNeutralForeground2, #616161);
62
+ cursor: pointer;
63
+ flex-shrink: 0;
64
+ position: relative;
65
+ transition: all 0.15s ease;
66
+ }
67
+ .ColumnHeaderFilter_module_filterIcon svg {
68
+ font-size: 14px;
69
+ }
70
+ .ColumnHeaderFilter_module_filterIcon:hover {
71
+ background-color: var(--colorSubtleBackgroundHover, #f5f5f5);
72
+ color: var(--colorNeutralForeground2Hover, #424242);
73
+ }
74
+ .ColumnHeaderFilter_module_filterIcon.ColumnHeaderFilter_module_filterActive {
75
+ background-color: var(--colorSubtleBackgroundSelected, #e0e0e0);
76
+ color: var(--colorNeutralForeground2, #616161);
77
+ }
78
+ .ColumnHeaderFilter_module_filterIcon.ColumnHeaderFilter_module_filterActive:hover {
79
+ background-color: var(--colorSubtleBackgroundHover, #f5f5f5);
80
+ }
81
+ .ColumnHeaderFilter_module_filterIcon.ColumnHeaderFilter_module_filterOpen {
82
+ background-color: var(--colorSubtleBackgroundPressed, #ebebeb);
83
+ color: var(--colorNeutralForeground2, #616161);
84
+ }
85
+ .ColumnHeaderFilter_module_filterBadge {
86
+ position: absolute;
87
+ top: 2px;
88
+ right: 2px;
89
+ width: 6px;
90
+ height: 6px;
91
+ background-color: var(--colorBrandBackground, #0f6cbd);
92
+ border-radius: 50%;
93
+ border: 1px solid var(--colorNeutralBackground1, #ffffff);
94
+ }
95
+ .ColumnHeaderFilter_module_filterPopover {
96
+ min-width: 280px;
97
+ max-width: 320px;
98
+ overflow: hidden;
99
+ padding: 0;
100
+ background-color: var(--colorNeutralBackground1, #ffffff);
101
+ border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
102
+ border-radius: var(--borderRadiusMedium, 4px);
103
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
104
+ font-family: var(--fontFamilyBase, "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif);
105
+ font-size: 14px;
106
+ color: var(--colorNeutralForeground1, #242424);
107
+ }
108
+ .ColumnHeaderFilter_module_popoverHeader {
109
+ padding: 10px 14px;
110
+ font-size: 12px;
111
+ font-weight: 600;
112
+ color: var(--colorNeutralForeground2, #616161);
113
+ border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
114
+ background-color: var(--colorNeutralBackground2, #fafafa);
115
+ }
116
+ .ColumnHeaderFilter_module_popoverSearch {
117
+ padding: 10px 12px;
118
+ border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
119
+ }
120
+ .ColumnHeaderFilter_module_nativeInputWrapper {
121
+ display: flex;
122
+ align-items: center;
123
+ gap: 8px;
124
+ width: 100%;
125
+ border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
126
+ border-radius: var(--borderRadiusMedium, 4px);
127
+ background-color: var(--colorNeutralBackground1, #ffffff);
128
+ padding: 6px 12px;
129
+ min-height: 36px;
130
+ box-sizing: border-box;
131
+ }
132
+ .ColumnHeaderFilter_module_nativeInputWrapper:focus-within {
133
+ border-color: var(--colorBrandStroke1, #0f6cbd);
134
+ outline: none;
135
+ }
136
+ .ColumnHeaderFilter_module_nativeInputIcon {
137
+ color: var(--colorNeutralForeground3, #616161);
138
+ font-size: 16px;
139
+ flex-shrink: 0;
140
+ }
141
+ .ColumnHeaderFilter_module_nativeInput {
142
+ flex: 1;
143
+ min-width: 0;
144
+ border: none;
145
+ outline: none;
146
+ padding: 0;
147
+ font-size: 14px;
148
+ font-family: inherit;
149
+ background: transparent;
150
+ color: var(--colorNeutralForeground1, #242424);
151
+ }
152
+ .ColumnHeaderFilter_module_nativeInput::placeholder {
153
+ color: var(--colorNeutralForeground4, #707070);
154
+ }
155
+ .ColumnHeaderFilter_module_resultCount {
156
+ margin-top: 6px;
157
+ font-size: 11px;
158
+ color: var(--colorNeutralForeground2, #616161);
159
+ }
160
+ .ColumnHeaderFilter_module_selectAllRow {
161
+ display: flex;
162
+ gap: 8px;
163
+ padding: 6px 12px;
164
+ border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
165
+ background-color: var(--colorNeutralBackground2, #fafafa);
166
+ }
167
+ .ColumnHeaderFilter_module_selectAllButton {
168
+ background: none;
169
+ border: none;
170
+ color: var(--colorBrandForeground1, #0f6cbd);
171
+ font-size: 12px;
172
+ font-weight: 500;
173
+ cursor: pointer;
174
+ padding: 4px 8px;
175
+ border-radius: var(--borderRadiusSmall, 4px);
176
+ transition: background-color 0.15s ease;
177
+ }
178
+ .ColumnHeaderFilter_module_selectAllButton:hover {
179
+ background-color: var(--colorBrandBackground2, #ebf3fc);
180
+ }
181
+ .ColumnHeaderFilter_module_popoverOptions {
182
+ overflow-y: auto;
183
+ max-height: 250px;
184
+ padding: 6px 0;
185
+ }
186
+ .ColumnHeaderFilter_module_popoverOptions::-webkit-scrollbar {
187
+ width: 6px;
188
+ }
189
+ .ColumnHeaderFilter_module_popoverOptions::-webkit-scrollbar-track {
190
+ background: var(--colorNeutralBackground3, #f5f5f5);
191
+ }
192
+ .ColumnHeaderFilter_module_popoverOptions::-webkit-scrollbar-thumb {
193
+ background: var(--colorNeutralStroke1, #d1d1d1);
194
+ border-radius: 3px;
195
+ }
196
+ .ColumnHeaderFilter_module_popoverOptions::-webkit-scrollbar-thumb:hover {
197
+ background: var(--colorNeutralForeground2, #616161);
198
+ }
199
+ .ColumnHeaderFilter_module_popoverOption {
200
+ padding: 4px 12px;
201
+ transition: background-color 0.1s ease;
202
+ cursor: pointer;
203
+ }
204
+ .ColumnHeaderFilter_module_popoverOption:hover {
205
+ background-color: var(--colorNeutralBackground1Hover, #f5f5f5);
206
+ }
207
+ .ColumnHeaderFilter_module_nativeCheckbox {
208
+ width: 16px;
209
+ height: 16px;
210
+ margin: 0;
211
+ cursor: pointer;
212
+ accent-color: var(--colorBrandBackground, #0f6cbd);
213
+ flex-shrink: 0;
214
+ }
215
+ .ColumnHeaderFilter_module_checkboxLabel {
216
+ margin-left: 8px;
217
+ font-size: 14px;
218
+ color: var(--colorNeutralForeground1, #242424);
219
+ overflow: hidden;
220
+ text-overflow: ellipsis;
221
+ white-space: nowrap;
222
+ min-width: 0;
223
+ cursor: pointer;
224
+ }
225
+ .ColumnHeaderFilter_module_personOption {
226
+ padding: 8px 12px;
227
+ cursor: pointer;
228
+ transition: background-color 0.1s ease;
229
+ }
230
+ .ColumnHeaderFilter_module_personOption:hover {
231
+ background-color: var(--colorNeutralBackground1Hover, #f5f5f5);
232
+ }
233
+ .ColumnHeaderFilter_module_loadingContainer {
234
+ display: flex;
235
+ align-items: center;
236
+ justify-content: center;
237
+ gap: 8px;
238
+ padding: 20px;
239
+ }
240
+ .ColumnHeaderFilter_module_filterSpinner {
241
+ width: 20px;
242
+ height: 20px;
243
+ border: 2px solid var(--colorNeutralStroke1, #d1d1d1);
244
+ border-top-color: var(--colorBrandBackground, #0f6cbd);
245
+ border-radius: 50%;
246
+ animation: ColumnHeaderFilter_module_ogrid-filter-spin 0.8s linear infinite;
247
+ }
248
+ @keyframes ColumnHeaderFilter_module_ogrid-filter-spin {
249
+ to {
250
+ transform: rotate(360deg);
251
+ }
252
+ }
253
+ .ColumnHeaderFilter_module_noResults {
254
+ padding: 16px;
255
+ text-align: center;
256
+ font-size: 12px;
257
+ color: var(--colorNeutralForeground2, #616161);
258
+ }
259
+ .ColumnHeaderFilter_module_selectedUserSection {
260
+ padding: 10px 12px;
261
+ border-bottom: 1px solid var(--colorNeutralStroke2, #e0e0e0);
262
+ background-color: var(--colorSubtleBackgroundSelected, #e0e0e0);
263
+ }
264
+ .ColumnHeaderFilter_module_selectedUserLabel {
265
+ font-size: 11px;
266
+ color: var(--colorNeutralForeground2, #616161);
267
+ margin-bottom: 6px;
268
+ }
269
+ .ColumnHeaderFilter_module_selectedUser {
270
+ display: flex;
271
+ align-items: center;
272
+ justify-content: space-between;
273
+ gap: 8px;
274
+ }
275
+ .ColumnHeaderFilter_module_userInfo {
276
+ display: flex;
277
+ align-items: center;
278
+ gap: 8px;
279
+ }
280
+ .ColumnHeaderFilter_module_avatar {
281
+ width: 32px;
282
+ height: 32px;
283
+ border-radius: 50%;
284
+ background-color: var(--colorBrandBackground, #0f6cbd);
285
+ display: flex;
286
+ align-items: center;
287
+ justify-content: center;
288
+ flex-shrink: 0;
289
+ overflow: hidden;
290
+ }
291
+ .ColumnHeaderFilter_module_avatarImg {
292
+ width: 100%;
293
+ height: 100%;
294
+ object-fit: cover;
295
+ border-radius: 50%;
296
+ }
297
+ .ColumnHeaderFilter_module_avatarInitials {
298
+ color: var(--colorNeutralForegroundOnBrand, #ffffff);
299
+ font-size: 12px;
300
+ font-weight: 600;
301
+ line-height: 1;
302
+ }
303
+ .ColumnHeaderFilter_module_userText {
304
+ display: flex;
305
+ flex-direction: column;
306
+ }
307
+ .ColumnHeaderFilter_module_userSecondary {
308
+ font-size: 12px;
309
+ color: var(--colorNeutralForeground2, #616161);
310
+ }
311
+ .ColumnHeaderFilter_module_removeUserButton {
312
+ display: flex;
313
+ align-items: center;
314
+ justify-content: center;
315
+ width: 24px;
316
+ height: 24px;
317
+ padding: 0;
318
+ border: none;
319
+ border-radius: 50%;
320
+ background-color: transparent;
321
+ color: var(--colorNeutralForeground2, #616161);
322
+ cursor: pointer;
323
+ transition: all 0.15s ease;
324
+ }
325
+ .ColumnHeaderFilter_module_removeUserButton:hover {
326
+ background-color: var(--colorNeutralBackground1Hover, #f5f5f5);
327
+ color: var(--colorPaletteRedForeground1, #c4314b);
328
+ }
329
+ .ColumnHeaderFilter_module_popoverActions {
330
+ display: flex;
331
+ justify-content: flex-end;
332
+ gap: 8px;
333
+ padding: 10px 12px;
334
+ border-top: 1px solid var(--colorNeutralStroke2, #e0e0e0);
335
+ background-color: var(--colorNeutralBackground2, #fafafa);
336
+ }
337
+ .ColumnHeaderFilter_module_clearButton {
338
+ padding: 6px 12px;
339
+ border: 1px solid var(--colorNeutralStroke1, #d1d1d1);
340
+ border-radius: var(--borderRadiusMedium, 4px);
341
+ background-color: var(--colorNeutralBackground1, #ffffff);
342
+ color: var(--colorNeutralForeground1, #242424);
343
+ font-size: 12px;
344
+ font-weight: 500;
345
+ cursor: pointer;
346
+ transition: all 0.15s ease;
347
+ }
348
+ .ColumnHeaderFilter_module_clearButton:hover:not(:disabled) {
349
+ background-color: var(--colorNeutralBackground1Hover, #f5f5f5);
350
+ border-color: var(--colorNeutralStroke1Hover, #c7c7c7);
351
+ }
352
+ .ColumnHeaderFilter_module_clearButton:disabled {
353
+ opacity: 0.5;
354
+ cursor: not-allowed;
355
+ }
356
+ .ColumnHeaderFilter_module_applyButton {
357
+ padding: 6px 12px;
358
+ border: 1px solid var(--colorBrandBackground, #0f6cbd);
359
+ border-radius: var(--borderRadiusMedium, 4px);
360
+ background-color: var(--colorBrandBackground, #0f6cbd);
361
+ color: var(--colorNeutralForegroundOnBrand, #ffffff);
362
+ font-size: 12px;
363
+ font-weight: 600;
364
+ cursor: pointer;
365
+ transition: all 0.15s ease;
366
+ }
367
+ .ColumnHeaderFilter_module_applyButton:hover {
368
+ background-color: var(--colorBrandBackgroundHover, #115ea3);
369
+ border-color: var(--colorBrandBackgroundHover, #115ea3);
370
+ }
371
+
372
+ /* src/ColumnHeaderMenu/ColumnHeaderMenu.module.scss */
373
+ .ColumnHeaderMenu_module_content {
374
+ min-width: 140px;
375
+ background: var(--ogrid-bg, #ffffff);
376
+ border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
377
+ border-radius: 6px;
378
+ padding: 4px;
379
+ box-shadow: 0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2);
380
+ z-index: 1000;
381
+ animation-duration: 400ms;
382
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
383
+ will-change: transform, opacity;
384
+ }
385
+ .ColumnHeaderMenu_module_item {
386
+ font-size: 13px;
387
+ line-height: 1;
388
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
389
+ border-radius: 4px;
390
+ border: none;
391
+ background: transparent;
392
+ display: flex;
393
+ align-items: center;
394
+ height: 28px;
395
+ padding: 0 8px;
396
+ position: relative;
397
+ user-select: none;
398
+ outline: none;
399
+ cursor: pointer;
400
+ width: 100%;
401
+ text-align: left;
402
+ }
403
+ .ColumnHeaderMenu_module_item:disabled {
404
+ color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
405
+ pointer-events: none;
406
+ cursor: not-allowed;
407
+ }
408
+ .ColumnHeaderMenu_module_item:hover:not(:disabled) {
409
+ background-color: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
410
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
411
+ }
412
+ .ColumnHeaderMenu_module_separator {
413
+ height: 1px;
414
+ background-color: var(--ogrid-border, rgba(0, 0, 0, 0.12));
415
+ margin: 4px 0;
416
+ }
417
+
418
+ /* src/DataGridTable/DataGridTable.module.scss */
419
+ .DataGridTable_module_tableScrollContent {
420
+ display: flex;
421
+ flex-direction: column;
422
+ width: 100%;
423
+ min-width: 0;
424
+ background: var(--ogrid-bg, #fff);
425
+ }
426
+ .DataGridTable_module_tableWidthAnchor {
427
+ position: relative;
428
+ width: max-content;
429
+ min-width: var(--data-table-min-width, max-content);
430
+ background: var(--ogrid-bg, #fff);
431
+ }
432
+ .DataGridTable_module_tableWrapper {
433
+ position: relative;
434
+ flex: 1;
435
+ min-height: 0;
436
+ overflow-x: hidden;
437
+ overflow-y: auto;
438
+ width: 100%;
439
+ min-width: 0;
440
+ max-width: 100%;
441
+ box-sizing: border-box;
442
+ background: var(--ogrid-bg, #fff);
443
+ will-change: scroll-position;
444
+ }
445
+ .DataGridTable_module_tableWrapper[data-overflow-x=true] {
446
+ overflow-x: auto;
447
+ }
448
+ .DataGridTable_module_tableWrapper[data-empty=true] {
449
+ overflow-x: hidden;
450
+ }
451
+ .DataGridTable_module_tableWrapper[data-loading=true] {
452
+ min-height: 200px;
453
+ }
454
+ .DataGridTable_module_dataTable {
455
+ width: var(--data-table-width, fit-content);
456
+ max-width: 100%;
457
+ min-width: var(--data-table-min-width, max-content);
458
+ border-collapse: separate;
459
+ border-spacing: 0;
460
+ box-sizing: border-box;
461
+ table-layout: auto;
462
+ background-color: var(--ogrid-bg, #fff);
463
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
464
+ }
465
+ .DataGridTable_module_dataTable tbody tr {
466
+ height: var(--ogrid-row-height, auto);
467
+ }
468
+ .DataGridTable_module_groupHeaderCell {
469
+ text-align: center;
470
+ font-weight: 600;
471
+ border-bottom: 2px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
472
+ padding: 6px 10px;
473
+ background: var(--ogrid-header-bg, #f5f5f5);
474
+ }
475
+ .DataGridTable_module_headerCellContent {
476
+ display: flex;
477
+ align-items: center;
478
+ gap: 4px;
479
+ }
480
+ .DataGridTable_module_headerMenuTrigger {
481
+ background: transparent;
482
+ border: none;
483
+ cursor: pointer;
484
+ padding: 2px 4px;
485
+ font-size: 16px;
486
+ line-height: 1;
487
+ color: var(--ogrid-fg-secondary, rgba(0, 0, 0, 0.6));
488
+ opacity: 1;
489
+ transition: background-color 0.15s;
490
+ border-radius: 3px;
491
+ display: flex;
492
+ align-items: center;
493
+ justify-content: center;
494
+ min-width: 20px;
495
+ height: 20px;
496
+ }
497
+ .DataGridTable_module_headerMenuTrigger:hover {
498
+ background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
499
+ }
500
+ .DataGridTable_module_headerMenuTrigger:active {
501
+ background: var(--ogrid-active-bg, rgba(0, 0, 0, 0.08));
502
+ }
503
+ .DataGridTable_module_headerMenuTrigger:focus-visible {
504
+ outline: 2px solid var(--ogrid-accent, #0078d4);
505
+ outline-offset: 2px;
506
+ }
507
+ .DataGridTable_module_dropIndicator {
508
+ position: absolute;
509
+ top: 0;
510
+ bottom: 0;
511
+ width: 3px;
512
+ background: var(--ogrid-selection-color, #217346);
513
+ pointer-events: none;
514
+ z-index: 100;
515
+ transition: left 0.05s;
516
+ }
517
+ .DataGridTable_module_resizeHandle {
518
+ position: absolute;
519
+ top: 0;
520
+ right: -3px;
521
+ bottom: 0;
522
+ width: 8px;
523
+ cursor: col-resize;
524
+ user-select: none;
525
+ z-index: 1;
526
+ }
527
+ .DataGridTable_module_resizeHandle::after {
528
+ content: "";
529
+ position: absolute;
530
+ top: 0;
531
+ right: 3px;
532
+ bottom: 0;
533
+ width: 2px;
534
+ }
535
+ .DataGridTable_module_resizeHandle:hover::after {
536
+ background-color: var(--ogrid-accent, #0078d4);
537
+ }
538
+ .DataGridTable_module_resizeHandle:active::after {
539
+ background-color: var(--ogrid-accent-dark, #005a9e);
540
+ }
541
+ .DataGridTable_module_pinnedColLeft {
542
+ position: sticky;
543
+ z-index: 6;
544
+ background: var(--ogrid-bg, #ffffff);
545
+ }
546
+ .DataGridTable_module_pinnedColLeft::after {
547
+ content: "";
548
+ position: absolute;
549
+ top: -1px;
550
+ right: -4px;
551
+ bottom: -1px;
552
+ width: 4px;
553
+ background:
554
+ linear-gradient(
555
+ to right,
556
+ var(--ogrid-pinned-shadow, rgba(0, 0, 0, 0.12)),
557
+ transparent);
558
+ pointer-events: none;
559
+ }
560
+ .DataGridTable_module_pinnedColRight {
561
+ position: sticky;
562
+ z-index: 6;
563
+ background: var(--ogrid-bg, #ffffff);
564
+ }
565
+ .DataGridTable_module_pinnedColRight::before {
566
+ content: "";
567
+ position: absolute;
568
+ top: -1px;
569
+ left: -4px;
570
+ bottom: -1px;
571
+ width: 4px;
572
+ background:
573
+ linear-gradient(
574
+ to left,
575
+ var(--ogrid-pinned-shadow, rgba(0, 0, 0, 0.12)),
576
+ transparent);
577
+ pointer-events: none;
578
+ }
579
+ .DataGridTable_module_cellContent {
580
+ width: 100%;
581
+ height: 100%;
582
+ display: flex;
583
+ align-items: center;
584
+ min-width: 0;
585
+ box-sizing: border-box;
586
+ overflow: hidden;
587
+ text-overflow: ellipsis;
588
+ white-space: nowrap;
589
+ user-select: none;
590
+ outline: none;
591
+ }
592
+ .DataGridTable_module_cellContent:focus-visible {
593
+ outline: none;
594
+ }
595
+ .DataGridTable_module_activeCellContent {
596
+ outline: 2px solid var(--ogrid-selection-color, #217346);
597
+ outline-offset: -1px;
598
+ z-index: 2;
599
+ position: relative;
600
+ overflow: visible;
601
+ background: var(--ogrid-active-cell-bg, rgba(0, 0, 0, 0.02));
602
+ }
603
+ .DataGridTable_module_editingCellContent {
604
+ width: 100%;
605
+ height: 100%;
606
+ display: flex;
607
+ align-items: center;
608
+ box-sizing: border-box;
609
+ outline: 2px solid var(--ogrid-selection-color, #217346);
610
+ outline-offset: -1px;
611
+ z-index: 2;
612
+ position: relative;
613
+ background: var(--ogrid-bg, #fff);
614
+ overflow: visible;
615
+ padding: 0;
616
+ }
617
+ .DataGridTable_module_cellInRange {
618
+ background: var(--ogrid-range-bg, rgba(33, 115, 70, 0.12)) !important;
619
+ }
620
+ [data-drag-range] {
621
+ background: var(--ogrid-range-bg, rgba(33, 115, 70, 0.12)) !important;
622
+ }
623
+ [data-drag-anchor] {
624
+ background: var(--ogrid-bg, #fff) !important;
625
+ }
626
+ .DataGridTable_module_cellCut {
627
+ background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04)) !important;
628
+ opacity: 0.7;
629
+ }
630
+ .DataGridTable_module_fillHandle {
631
+ position: absolute;
632
+ right: -3px;
633
+ bottom: -3px;
634
+ width: 7px;
635
+ height: 7px;
636
+ background: var(--ogrid-selection-color, #217346);
637
+ border: 1px solid var(--ogrid-bg, #fff);
638
+ border-radius: 1px;
639
+ cursor: crosshair;
640
+ pointer-events: auto;
641
+ z-index: 3;
642
+ }
643
+ .DataGridTable_module_selectionHeaderCellInner,
644
+ .DataGridTable_module_selectionCellInner {
645
+ display: flex;
646
+ align-items: center;
647
+ justify-content: center;
648
+ width: 100%;
649
+ }
650
+ .DataGridTable_module_rowNumberHeaderCellInner,
651
+ .DataGridTable_module_rowNumberCellInner {
652
+ display: flex;
653
+ align-items: center;
654
+ justify-content: center;
655
+ width: 100%;
656
+ font-variant-numeric: tabular-nums;
657
+ }
658
+ .DataGridTable_module_statusBar {
659
+ display: flex;
660
+ align-items: center;
661
+ gap: 16px;
662
+ width: 100%;
663
+ padding: 6px 12px;
664
+ box-sizing: border-box;
665
+ font-size: 12px;
666
+ color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
667
+ background: var(--ogrid-header-bg, #f5f5f5);
668
+ border-top: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
669
+ min-height: 28px;
670
+ }
671
+ .DataGridTable_module_statusBarItem {
672
+ display: inline-flex;
673
+ align-items: center;
674
+ gap: 4px;
675
+ }
676
+ .DataGridTable_module_statusBarItem:not(:last-child)::after {
677
+ content: "";
678
+ width: 1px;
679
+ height: 14px;
680
+ background: var(--ogrid-border, rgba(0, 0, 0, 0.12));
681
+ margin-left: 12px;
682
+ }
683
+ .DataGridTable_module_statusBarLabel {
684
+ color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
685
+ }
686
+ .DataGridTable_module_statusBarValue {
687
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
688
+ font-weight: 600;
689
+ }
690
+ .DataGridTable_module_contextMenu {
691
+ position: fixed;
692
+ z-index: 10000;
693
+ min-width: 160px;
694
+ padding: 4px 0;
695
+ background: var(--ogrid-bg, #fff);
696
+ border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
697
+ border-radius: 6px;
698
+ box-shadow: var(--ogrid-shadow, 0 4px 16px rgba(0, 0, 0, 0.12));
699
+ }
700
+ .DataGridTable_module_contextMenuItem {
701
+ display: flex;
702
+ align-items: center;
703
+ justify-content: space-between;
704
+ gap: 24px;
705
+ width: 100%;
706
+ padding: 6px 12px;
707
+ border: none;
708
+ background: none;
709
+ font-size: 13px;
710
+ text-align: left;
711
+ cursor: pointer;
712
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
713
+ }
714
+ .DataGridTable_module_contextMenuItem:hover:not(:disabled) {
715
+ background: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04));
716
+ }
717
+ .DataGridTable_module_contextMenuItem:disabled {
718
+ opacity: 0.5;
719
+ cursor: not-allowed;
720
+ }
721
+ .DataGridTable_module_contextMenuItemLabel {
722
+ flex: 1;
723
+ }
724
+ .DataGridTable_module_contextMenuItemShortcut {
725
+ color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
726
+ font-size: 0.85em;
727
+ }
728
+ .DataGridTable_module_contextMenuDivider {
729
+ height: 1px;
730
+ margin: 4px 0;
731
+ background: var(--ogrid-border, rgba(0, 0, 0, 0.12));
732
+ }
733
+ .DataGridTable_module_loadingOverlay {
734
+ position: absolute;
735
+ inset: 0;
736
+ z-index: 2;
737
+ display: flex;
738
+ align-items: center;
739
+ justify-content: center;
740
+ background: var(--ogrid-loading-overlay, rgba(255, 255, 255, 0.7));
741
+ backdrop-filter: blur(1px);
742
+ pointer-events: all;
743
+ }
744
+ .DataGridTable_module_loadingOverlayContent {
745
+ display: flex;
746
+ flex-direction: column;
747
+ align-items: center;
748
+ gap: 8px;
749
+ padding: 16px 24px;
750
+ background: var(--ogrid-bg, #fff);
751
+ border: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
752
+ border-radius: 6px;
753
+ box-shadow: var(--ogrid-shadow-sm, 0 2px 4px rgba(0, 0, 0, 0.08));
754
+ }
755
+ .DataGridTable_module_loadingOverlayText {
756
+ font-size: 13px;
757
+ font-weight: 500;
758
+ color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
759
+ }
760
+ .DataGridTable_module_loadingDimmed {
761
+ opacity: 0.6;
762
+ pointer-events: none;
763
+ }
764
+ .DataGridTable_module_emptyStateInGrid {
765
+ display: flex;
766
+ flex-direction: column;
767
+ align-items: center;
768
+ justify-content: center;
769
+ text-align: center;
770
+ padding: 20px 16px;
771
+ min-height: 88px;
772
+ width: 100%;
773
+ box-sizing: border-box;
774
+ border-top: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
775
+ background: var(--ogrid-header-bg, #f5f5f5);
776
+ }
777
+ .DataGridTable_module_emptyStateInGridTitle {
778
+ font-size: 14px;
779
+ font-weight: 600;
780
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
781
+ margin-bottom: 4px;
782
+ }
783
+ .DataGridTable_module_emptyStateInGridMessage {
784
+ font-size: 13px;
785
+ color: var(--ogrid-fg-muted, rgba(0, 0, 0, 0.5));
786
+ line-height: 1.5;
787
+ }
788
+ .DataGridTable_module_emptyStateInGridLink {
789
+ background: none;
790
+ border: none;
791
+ color: var(--ogrid-accent, #0078d4);
792
+ text-decoration: underline;
793
+ cursor: pointer;
794
+ padding: 0;
795
+ font-size: inherit;
796
+ font-family: inherit;
797
+ }
798
+ .DataGridTable_module_emptyStateInGridLink:hover {
799
+ color: var(--ogrid-accent-dark, #005a9e);
800
+ }
801
+ .DataGridTable_module_spinner {
802
+ width: 24px;
803
+ height: 24px;
804
+ border: 2px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
805
+ border-top-color: var(--ogrid-accent, #0078d4);
806
+ border-radius: 50%;
807
+ animation: DataGridTable_module_ogrid-spin 0.8s linear infinite;
808
+ }
809
+ @keyframes DataGridTable_module_ogrid-spin {
810
+ to {
811
+ transform: rotate(360deg);
812
+ }
813
+ }
814
+ :root {
815
+ --ogrid-bg: #ffffff;
816
+ --ogrid-fg: rgba(0, 0, 0, 0.87);
817
+ --ogrid-fg-secondary: rgba(0, 0, 0, 0.6);
818
+ --ogrid-fg-muted: rgba(0, 0, 0, 0.5);
819
+ --ogrid-border: rgba(0, 0, 0, 0.12);
820
+ --ogrid-header-bg: #f3f2f1;
821
+ --ogrid-hover-bg: rgba(0, 0, 0, 0.04);
822
+ --ogrid-selected-row-bg: #e6f0fb;
823
+ --ogrid-active-cell-bg: rgba(0, 0, 0, 0.02);
824
+ --ogrid-range-bg: rgba(33, 115, 70, 0.12);
825
+ --ogrid-accent: #0078d4;
826
+ --ogrid-selection-color: #217346;
827
+ --ogrid-loading-overlay: rgba(255, 255, 255, 0.7);
828
+ }
829
+ [data-theme=dark] {
830
+ --ogrid-bg: #1b1b1f;
831
+ --ogrid-fg: rgba(255, 255, 255, 0.87);
832
+ --ogrid-fg-secondary: rgba(255, 255, 255, 0.6);
833
+ --ogrid-fg-muted: rgba(255, 255, 255, 0.5);
834
+ --ogrid-border: rgba(255, 255, 255, 0.12);
835
+ --ogrid-header-bg: #2c2c2c;
836
+ --ogrid-hover-bg: rgba(255, 255, 255, 0.06);
837
+ --ogrid-selected-row-bg: #1a3a5c;
838
+ --ogrid-active-cell-bg: rgba(255, 255, 255, 0.04);
839
+ --ogrid-range-bg: rgba(33, 115, 70, 0.2);
840
+ --ogrid-accent: #4da6ff;
841
+ --ogrid-selection-color: #217346;
842
+ --ogrid-loading-overlay: rgba(0, 0, 0, 0.5);
843
+ }
844
+ .fui-FluentProvider {
845
+ --ogrid-bg: var(--colorNeutralBackground1, #ffffff);
846
+ --ogrid-fg: var(--colorNeutralForeground1, rgba(0, 0, 0, 0.87));
847
+ --ogrid-fg-secondary: var(--colorNeutralForeground2, rgba(0, 0, 0, 0.6));
848
+ --ogrid-fg-muted: var(--colorNeutralForeground3, rgba(0, 0, 0, 0.5));
849
+ --ogrid-border: var(--colorNeutralStroke2, rgba(0, 0, 0, 0.12));
850
+ --ogrid-header-bg: var(--colorSubtleBackgroundSelected, #f3f2f1);
851
+ --ogrid-hover-bg: var(--colorSubtleBackgroundHover, rgba(0, 0, 0, 0.04));
852
+ --ogrid-selected-row-bg: var(--colorNeutralBackground1Selected, #e6f0fb);
853
+ --ogrid-active-cell-bg: rgba(0, 0, 0, 0.02);
854
+ --ogrid-range-bg: rgba(33, 115, 70, 0.12);
855
+ --ogrid-accent: var(--colorBrandForeground1, #0078d4);
856
+ --ogrid-selection-color: #217346;
857
+ --ogrid-loading-overlay: rgba(255, 255, 255, 0.7);
858
+ }
859
+ .DataGridTable_module_tableScrollContent {
860
+ min-height: 100%;
861
+ background-color: var(--colorNeutralBackground1, var(--ogrid-bg, #ffffff));
862
+ }
863
+ .DataGridTable_module_tableWidthAnchor {
864
+ background-color: var(--colorNeutralBackground1, var(--ogrid-bg, #ffffff));
865
+ }
866
+ .DataGridTable_module_tableWrapper {
867
+ border: none;
868
+ background-color: var(--colorNeutralBackground1, var(--ogrid-bg, #ffffff));
869
+ -webkit-overflow-scrolling: touch;
870
+ outline: none;
871
+ }
872
+ .DataGridTable_module_dataTable {
873
+ table-layout: auto !important;
874
+ background-color: var(--colorNeutralBackground1, var(--ogrid-bg, #ffffff));
875
+ }
876
+ .DataGridTable_module_dataTable .fui-TableHeaderCell,
877
+ .DataGridTable_module_dataTable .fui-TableCell {
878
+ min-width: 80px;
879
+ box-sizing: border-box;
880
+ border-right: 1px solid var(--colorNeutralStroke1, #c4c4c4);
881
+ font-size: 13px;
882
+ vertical-align: middle;
883
+ }
884
+ .DataGridTable_module_dataTable .fui-TableHeaderCell {
885
+ padding: 6px 10px;
886
+ font-weight: 600;
887
+ font-size: 14px;
888
+ color: var(--ogrid-fg, rgba(0, 0, 0, 0.87));
889
+ white-space: nowrap;
890
+ background-color: var(--colorSubtleBackgroundSelected, var(--ogrid-header-bg, #f3f2f1));
891
+ z-index: 8;
892
+ border-bottom: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
893
+ }
894
+ .DataGridTable_module_dataTable .fui-TableHeaderCell > .fui-TableHeaderCell__button {
895
+ position: static !important;
896
+ }
897
+ .DataGridTable_module_dataTable .fui-TableHeaderCell:focus-visible {
898
+ outline: 2px solid var(--colorBrandStroke1, var(--ogrid-accent, #0078d4));
899
+ outline-offset: -2px;
900
+ z-index: 11;
901
+ }
902
+ .DataGridTable_module_dataTable .fui-TableCell {
903
+ padding: 0;
904
+ overflow: hidden;
905
+ text-overflow: ellipsis;
906
+ white-space: nowrap;
907
+ font-size: 12px;
908
+ height: 1px;
909
+ border-right: 1px solid var(--colorNeutralStroke1, #c4c4c4);
910
+ position: relative;
911
+ border-bottom: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
912
+ }
913
+ .DataGridTable_module_dataTable .fui-TableCell > * {
914
+ min-width: 0;
915
+ }
916
+ .DataGridTable_module_dataTable .fui-TableCell:focus-visible {
917
+ outline: none;
918
+ }
919
+ .DataGridTable_module_dataTable .fui-TableHeaderCell:last-of-type,
920
+ .DataGridTable_module_dataTable .fui-TableCell:last-of-type {
921
+ border-right: none;
922
+ }
923
+ .DataGridTable_module_dataTable .fui-TableBody .fui-TableRow:last-child .fui-TableCell {
924
+ border-bottom: none;
925
+ }
926
+ .DataGridTable_module_dataTable .fui-TableBody .fui-TableRow:hover .fui-TableCell {
927
+ background-color: var(--colorSubtleBackgroundHover, var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04)));
928
+ }
929
+ .DataGridTable_module_leafHeaderCellSpan {
930
+ font-weight: 600;
931
+ padding: 6px 10px;
932
+ background: var(--ogrid-header-bg, #f3f2f1);
933
+ }
934
+ .DataGridTable_module_selectionHeaderCellWrapper {
935
+ width: 48px;
936
+ min-width: 48px;
937
+ max-width: 48px;
938
+ padding: 4px !important;
939
+ text-align: center;
940
+ }
941
+ .DataGridTable_module_selectionCellWrapper {
942
+ width: 48px;
943
+ min-width: 48px;
944
+ max-width: 48px;
945
+ padding: 4px !important;
946
+ text-align: center;
947
+ }
948
+ .DataGridTable_module_rowNumberHeaderCellWrapper {
949
+ width: 50px;
950
+ min-width: 50px;
951
+ max-width: 50px;
952
+ padding: 4px 8px !important;
953
+ text-align: center;
954
+ background: var(--ogrid-header-bg, #f5f5f5);
955
+ font-weight: 600;
956
+ color: var(--colorNeutralForeground3, #666);
957
+ border-right: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
958
+ }
959
+ .DataGridTable_module_rowNumberCellWrapper {
960
+ width: 50px;
961
+ min-width: 50px;
962
+ max-width: 50px;
963
+ padding: 4px 8px !important;
964
+ text-align: center;
965
+ background: var(--colorNeutralBackground3, #f5f5f5);
966
+ font-weight: 600;
967
+ color: var(--colorNeutralForeground3, #666);
968
+ border-right: 1px solid var(--ogrid-border, rgba(0, 0, 0, 0.12));
969
+ }
970
+ .DataGridTable_module_dataTable .fui-TableBody .DataGridTable_module_selectedRow .fui-TableCell {
971
+ background-color: var(--colorNeutralBackground1Selected, var(--ogrid-selected-row-bg, #e6f0fb));
972
+ }
973
+ .DataGridTable_module_selectableGrid .DataGridTable_module_dataTable .fui-TableBody .fui-TableRow:hover .fui-TableCell {
974
+ background-color: var(--colorSubtleBackgroundHover, #f5f5f5);
975
+ cursor: pointer;
976
+ }
977
+ .DataGridTable_module_selectableGrid .DataGridTable_module_dataTable .fui-TableBody .DataGridTable_module_selectedRow:hover .fui-TableCell {
978
+ background-color: var(--colorNeutralBackground1Hover, #dae8f8);
979
+ }
980
+ .DataGridTable_module_selectableGrid .DataGridTable_module_dataTable .fui-TableBody .fui-TableRow {
981
+ cursor: pointer;
982
+ }
983
+ .DataGridTable_module_cellContent {
984
+ padding: 4px 8px;
985
+ }
986
+ .DataGridTable_module_activeCellContent {
987
+ outline: 2px solid var(--ogrid-selection-color, #217346) !important;
988
+ background-color: var(--ogrid-active-cell-bg, rgba(0, 0, 0, 0.02)) !important;
989
+ }
990
+ .DataGridTable_module_cellInRange {
991
+ background-color: var(--ogrid-range-bg, rgba(33, 115, 70, 0.12)) !important;
992
+ }
993
+ [data-drag-range] {
994
+ background-color: var(--ogrid-range-bg, rgba(33, 115, 70, 0.12)) !important;
995
+ }
996
+ [data-drag-anchor] {
997
+ background-color: var(--ogrid-bg, #ffffff) !important;
998
+ }
999
+ .DataGridTable_module_cellCut {
1000
+ background-color: var(--ogrid-hover-bg, rgba(0, 0, 0, 0.04)) !important;
1001
+ }
1002
+ .DataGridTable_module_stickyHeader {
1003
+ z-index: 8;
1004
+ background-color: var(--colorSubtleBackgroundSelected, var(--ogrid-header-bg, #f3f2f1));
1005
+ }
1006
+ .DataGridTable_module_stickyHeader .fui-TableHeaderCell {
1007
+ position: sticky;
1008
+ top: 0;
1009
+ }
1010
+ .DataGridTable_module_stickyHeader .DataGridTable_module_pinnedColLeft,
1011
+ .DataGridTable_module_stickyHeader .DataGridTable_module_pinnedColRight {
1012
+ top: 0;
1013
+ z-index: 10;
1014
+ }
1015
+ .DataGridTable_module_dataTable .DataGridTable_module_pinnedColLeft {
1016
+ background-color: var(--colorNeutralBackground1, var(--ogrid-bg, #ffffff));
1017
+ border-right: 1px solid var(--colorNeutralStroke1, var(--ogrid-border, rgba(0, 0, 0, 0.12)));
1018
+ box-shadow: 2px 0 4px -1px rgba(0, 0, 0, 0.1);
1019
+ }
1020
+ .DataGridTable_module_dataTable .fui-TableHeader .DataGridTable_module_pinnedColLeft {
1021
+ background-color: var(--colorSubtleBackgroundSelected, var(--ogrid-header-bg, #f3f2f1));
1022
+ }
1023
+ .DataGridTable_module_dataTable .DataGridTable_module_pinnedColRight {
1024
+ background-color: var(--colorNeutralBackground1, var(--ogrid-bg, #ffffff));
1025
+ border-left: 1px solid var(--colorNeutralStroke1, var(--ogrid-border, rgba(0, 0, 0, 0.12)));
1026
+ box-shadow: -2px 0 4px -1px rgba(0, 0, 0, 0.1);
1027
+ }
1028
+ .DataGridTable_module_dataTable .fui-TableHeader .DataGridTable_module_pinnedColRight {
1029
+ background-color: var(--colorSubtleBackgroundSelected, var(--ogrid-header-bg, #f3f2f1));
1030
+ }
1031
+ .DataGridTable_module_headerMenuTrigger {
1032
+ color: var(--colorNeutralForeground3, #666);
1033
+ }
1034
+ .DataGridTable_module_headerMenuTrigger:hover {
1035
+ background: var(--colorNeutralBackground1Hover, #f3f2f1);
1036
+ }
1037
+ .DataGridTable_module_headerMenuTrigger:active {
1038
+ background: var(--colorNeutralBackground1Pressed, #e1dfdd);
1039
+ }
1040
+ .DataGridTable_module_headerMenuTrigger:focus-visible {
1041
+ outline: 2px solid var(--colorBrandStroke1, var(--ogrid-accent, #0078d4));
1042
+ }
1043
+ .DataGridTable_module_resizeHandle:hover::after {
1044
+ background-color: var(--colorBrandForeground1, var(--ogrid-accent, #0078d4));
1045
+ }
1046
+ .DataGridTable_module_resizeHandle:active::after {
1047
+ background-color: var(--colorBrandForeground1Pressed, #005a9e);
1048
+ }
1049
+ .DataGridTable_module_statusBar {
1050
+ min-width: 0;
1051
+ color: var(--colorNeutralForeground2, #616161);
1052
+ background-color: var(--colorSubtleBackgroundSelected, #f3f2f1);
1053
+ border-top: 1px solid var(--colorNeutralStroke2, #e0e0e0);
1054
+ user-select: none;
1055
+ }
1056
+ .DataGridTable_module_statusBarItem:not(:last-child)::after {
1057
+ display: inline-block;
1058
+ background-color: var(--colorNeutralStroke1, #c4c4c4);
1059
+ }
1060
+ .DataGridTable_module_statusBarLabel {
1061
+ color: var(--colorNeutralForeground3, #707070);
1062
+ font-weight: 400;
1063
+ }
1064
+ .DataGridTable_module_statusBarValue {
1065
+ color: var(--colorNeutralForeground1, #242424);
1066
+ }
1067
+ .DataGridTable_module_contextMenu {
1068
+ background: var(--colorNeutralBackground1, #fff);
1069
+ border: 1px solid var(--colorNeutralStroke1, #e0e0e0);
1070
+ border-radius: var(--borderRadiusMedium, 4px);
1071
+ box-shadow: var(--shadow16, 0 4px 16px rgba(0, 0, 0, 0.12));
1072
+ outline: none;
1073
+ }
1074
+ .DataGridTable_module_contextMenuItem {
1075
+ color: var(--colorNeutralForeground1, #242424);
1076
+ }
1077
+ .DataGridTable_module_contextMenuItem:hover:not(:disabled) {
1078
+ background-color: var(--colorSubtleBackgroundHover, #f5f5f5);
1079
+ }
1080
+ .DataGridTable_module_contextMenuItemShortcut {
1081
+ color: var(--colorNeutralForeground3, rgba(0, 0, 0, 0.4));
1082
+ }
1083
+ .DataGridTable_module_contextMenuDivider {
1084
+ background-color: var(--colorNeutralStroke2, #e0e0e0);
1085
+ }
1086
+ .DataGridTable_module_loadingOverlayContent {
1087
+ background: var(--colorNeutralBackground1, #ffffff);
1088
+ border: 1px solid var(--colorNeutralStroke1, #c4c4c4);
1089
+ border-radius: var(--borderRadiusMedium, 4px);
1090
+ box-shadow: var(--shadow4, 0 2px 4px rgba(0, 0, 0, 0.14));
1091
+ }
1092
+ .DataGridTable_module_loadingOverlayText {
1093
+ color: var(--colorNeutralForeground2, #616161);
1094
+ }
1095
+ .DataGridTable_module_loadingDimmed {
1096
+ transition: opacity 0.15s ease;
1097
+ }
1098
+ .DataGridTable_module_emptyStateInGrid {
1099
+ min-width: 0;
1100
+ border-top: 1px solid var(--colorNeutralStroke2, #e0e0e0);
1101
+ background-color: var(--colorNeutralBackground2, #fafafa);
1102
+ }
1103
+ .DataGridTable_module_emptyStateInGridMessageSticky {
1104
+ position: sticky;
1105
+ left: 50%;
1106
+ transform: translateX(-50%);
1107
+ display: inline-flex;
1108
+ flex-direction: column;
1109
+ align-items: center;
1110
+ text-align: center;
1111
+ }
1112
+ .DataGridTable_module_emptyStateInGridIcon {
1113
+ font-size: 24px;
1114
+ margin-bottom: 8px;
1115
+ opacity: 0.6;
1116
+ }
1117
+ .DataGridTable_module_emptyStateInGridTitle {
1118
+ color: var(--colorNeutralForeground1, #242424);
1119
+ }
1120
+ .DataGridTable_module_emptyStateInGridMessage {
1121
+ color: var(--colorNeutralForeground2, #616161);
1122
+ max-width: 100%;
1123
+ }
1124
+ .DataGridTable_module_emptyStateInGridLink {
1125
+ color: var(--colorBrandForeground1, #0f6cbd);
1126
+ }
1127
+ .DataGridTable_module_emptyStateInGridLink:hover {
1128
+ color: var(--colorBrandForeground1Hover, #115ea3);
1129
+ }
1130
+ .DataGridTable_module_dataTable .fui-Link {
1131
+ color: var(--colorBrandForeground1, #0f6cbd);
1132
+ font-weight: 600;
1133
+ text-decoration: none;
1134
+ }
1135
+ .DataGridTable_module_dataTable .fui-Link:hover {
1136
+ text-decoration: underline;
1137
+ color: var(--colorBrandForeground1Hover, #115ea3);
1138
+ }
1139
+ .DataGridTable_module_dataTable .fui-Link:active {
1140
+ color: var(--colorBrandForeground1Pressed, #0c3b5e);
1141
+ }
1142
+ .DataGridTable_module_density-compact .DataGridTable_module_dataTable .fui-TableHeaderCell {
1143
+ padding: 4px 8px;
1144
+ }
1145
+ .DataGridTable_module_density-compact .DataGridTable_module_cellContent {
1146
+ padding: 4px 8px;
1147
+ }
1148
+ .DataGridTable_module_density-comfortable .DataGridTable_module_dataTable .fui-TableHeaderCell {
1149
+ padding: 12px 16px;
1150
+ }
1151
+ .DataGridTable_module_density-comfortable .DataGridTable_module_cellContent {
1152
+ padding: 12px 16px;
1153
+ }
1154
+ .DataGridTable_module_tableWrapper .fui-Button:focus-visible,
1155
+ .tableWrapper .fui-MenuButton:focus-visible {
1156
+ outline: 2px solid var(--colorBrandStroke1, #0078d4);
1157
+ outline-offset: 2px;
1158
+ }
1159
+ .DataGridTable_module_tableWrapper .fui-Checkbox:focus-visible {
1160
+ outline: 2px solid var(--colorBrandStroke1, #0078d4);
1161
+ outline-offset: 2px;
1162
+ }
1163
+
1164
+ /* src/ColumnChooser/ColumnChooser.module.scss */
1165
+ .ColumnChooser_module_container {
1166
+ position: relative;
1167
+ display: inline-flex;
1168
+ }
1169
+ .ColumnChooser_module_dropdown {
1170
+ position: absolute;
1171
+ top: calc(100% + 4px);
1172
+ right: 0;
1173
+ z-index: 10000;
1174
+ min-width: 220px;
1175
+ display: flex;
1176
+ flex-direction: column;
1177
+ background: var(--colorNeutralBackground1, #fff);
1178
+ border: 1px solid var(--colorNeutralStroke2, #edebe9);
1179
+ border-radius: 6px;
1180
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
1181
+ padding: 0;
1182
+ }
1183
+ .ColumnChooser_module_header {
1184
+ padding: 8px 12px;
1185
+ border-bottom: 1px solid var(--colorNeutralStroke2, #edebe9);
1186
+ font-weight: 600;
1187
+ font-size: 13px;
1188
+ }
1189
+ .ColumnChooser_module_optionsList {
1190
+ max-height: 320px;
1191
+ overflow-y: auto;
1192
+ padding: 0;
1193
+ }
1194
+ .ColumnChooser_module_optionItem {
1195
+ padding: 4px 12px;
1196
+ display: flex;
1197
+ align-items: center;
1198
+ min-height: 32px;
1199
+ }
1200
+ .ColumnChooser_module_optionItem:hover {
1201
+ background: var(--colorNeutralBackground1Hover, #f5f5f5);
1202
+ }
1203
+ .ColumnChooser_module_actions {
1204
+ display: flex;
1205
+ justify-content: flex-end;
1206
+ gap: 8px;
1207
+ padding: 8px 12px;
1208
+ border-top: 1px solid var(--colorNeutralStroke2, #edebe9);
1209
+ }
1210
+
1211
+ /* src/PaginationControls/PaginationControls.module.scss */
1212
+ .PaginationControls_module_pagination {
1213
+ display: flex;
1214
+ flex-wrap: wrap;
1215
+ align-items: center;
1216
+ justify-content: space-between;
1217
+ gap: 14px 24px;
1218
+ width: 100%;
1219
+ min-width: 0;
1220
+ box-sizing: border-box;
1221
+ padding: 0;
1222
+ }
1223
+ .PaginationControls_module_paginationInfo {
1224
+ font-size: 13px;
1225
+ color: var(--colorNeutralForeground2, #605e5c);
1226
+ flex-shrink: 0;
1227
+ font-variant-numeric: tabular-nums;
1228
+ }
1229
+ .PaginationControls_module_paginationControls {
1230
+ display: flex;
1231
+ align-items: center;
1232
+ gap: 4px;
1233
+ flex-wrap: wrap;
1234
+ flex: 1 1 auto;
1235
+ justify-content: center;
1236
+ min-width: 0;
1237
+ }
1238
+ .PaginationControls_module_navBtn {
1239
+ min-width: 28px;
1240
+ min-height: 28px;
1241
+ }
1242
+ .PaginationControls_module_pageNumbers {
1243
+ display: inline-flex;
1244
+ align-items: center;
1245
+ gap: 4px;
1246
+ margin: 0 8px;
1247
+ }
1248
+ .PaginationControls_module_pageBtn {
1249
+ min-width: 28px;
1250
+ min-height: 28px;
1251
+ font-variant-numeric: tabular-nums;
1252
+ }
1253
+ .PaginationControls_module_ellipsis {
1254
+ display: inline-flex;
1255
+ align-items: center;
1256
+ justify-content: center;
1257
+ min-width: 24px;
1258
+ font-size: 12px;
1259
+ color: var(--colorNeutralForeground3, #8a8886);
1260
+ user-select: none;
1261
+ pointer-events: none;
1262
+ letter-spacing: 0.02em;
1263
+ }
1264
+ .PaginationControls_module_pageSizeSelector {
1265
+ display: inline-flex;
1266
+ align-items: center;
1267
+ gap: 8px;
1268
+ flex-shrink: 0;
1269
+ }
1270
+ .PaginationControls_module_pageSizeSelector .PaginationControls_module_pageSizeLabel {
1271
+ font-size: 13px;
1272
+ color: var(--colorNeutralForeground2, #605e5c);
1273
+ user-select: none;
1274
+ white-space: nowrap;
1275
+ }
1276
+ .PaginationControls_module_pageSizeSelector .PaginationControls_module_pageSizeSelect {
1277
+ min-width: 72px;
1278
+ }