ywana-core8 0.1.78 → 0.1.80

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 (63) hide show
  1. package/dist/index.cjs +3244 -2215
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +2127 -1063
  4. package/dist/index.css.map +1 -1
  5. package/dist/index.modern.js +3244 -2215
  6. package/dist/index.modern.js.map +1 -1
  7. package/dist/index.umd.js +3244 -2215
  8. package/dist/index.umd.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/html/ExampleLayout.css +401 -0
  11. package/src/html/ExampleLayout.js +192 -0
  12. package/src/html/README-sidebar-navigation.md +195 -0
  13. package/src/html/accordion.example.js +123 -4
  14. package/src/html/accordion.example.js.backup +390 -0
  15. package/src/html/button.example.js +50 -3
  16. package/src/html/button.example.js.backup +374 -0
  17. package/src/html/button.example.new.js +416 -0
  18. package/src/html/checkbox.example.js +93 -4
  19. package/src/html/checkbox.example.js.backup +316 -0
  20. package/src/html/chip.example.js +108 -4
  21. package/src/html/chip.example.js.backup +355 -0
  22. package/src/html/color.example.js +108 -4
  23. package/src/html/color.example.js.backup +527 -0
  24. package/src/html/components.example.js +123 -4
  25. package/src/html/components.example.js.backup +492 -0
  26. package/src/html/convert-examples.js +183 -0
  27. package/src/html/demo-sidebar.html +410 -0
  28. package/src/html/form.example.js +93 -4
  29. package/src/html/form.example.js.backup +385 -0
  30. package/src/html/header2.example.js +108 -4
  31. package/src/html/header2.example.js.backup +411 -0
  32. package/src/html/icon.example.js +77 -3
  33. package/src/html/icon.example.js.backup +268 -0
  34. package/src/html/list.example.js +93 -4
  35. package/src/html/list.example.js.backup +404 -0
  36. package/src/html/progress.example.js +74 -4
  37. package/src/html/progress.example.js.backup +424 -0
  38. package/src/html/property.example.js +123 -4
  39. package/src/html/property.example.js.backup +553 -0
  40. package/src/html/radio.example.js +108 -4
  41. package/src/html/radio.example.js.backup +389 -0
  42. package/src/html/section.example.js +42 -3
  43. package/src/html/section.example.js.backup +99 -0
  44. package/src/html/switch.example.js +108 -4
  45. package/src/html/switch.example.js.backup +461 -0
  46. package/src/html/tab.example.js +93 -4
  47. package/src/html/tab.example.js.backup +446 -0
  48. package/src/html/table-export-utils.js +483 -0
  49. package/src/html/table-summary-functions.js +363 -0
  50. package/src/html/table2.css +1496 -432
  51. package/src/html/table2.example.js +2937 -512
  52. package/src/html/table2.example.js.broken +1226 -0
  53. package/src/html/table2.js +1426 -1000
  54. package/src/html/test-resize.html +279 -0
  55. package/src/html/test-selection.html +387 -0
  56. package/src/html/textfield2.example.js +108 -4
  57. package/src/html/textfield2.example.js.backup +1370 -0
  58. package/src/html/tokenfield.example.js +108 -4
  59. package/src/html/tokenfield.example.js.backup +503 -0
  60. package/src/html/tree.css +2 -4
  61. package/src/html/tree.example.js +93 -4
  62. package/src/html/tree.example.js.backup +475 -0
  63. package/src/html/tree.js +19 -3
@@ -1,576 +1,1640 @@
1
- /* DataTable2 CSS - Enhanced version maintaining 100% compatibility */
1
+ /* DataTable2 - Reimplemented with minimal, elegant styles */
2
2
 
3
- /* Import original table styles for compatibility */
4
- @import './table.css';
3
+ /* Base table styles */
4
+ .datatable2 {
5
+ width: 100%;
6
+ background: var(--background-color, #ffffff);
7
+ border-radius: 8px;
8
+ overflow: hidden;
9
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
10
+ border: 1px solid var(--divider-color, #e0e0e0);
11
+ }
12
+
13
+ .datatable2__table-container {
14
+ overflow: auto;
15
+ position: relative;
16
+ }
17
+
18
+ .datatable2 table {
19
+ width: 100%;
20
+ border-collapse: collapse;
21
+ table-layout: auto;
22
+ }
23
+
24
+ /* Header styles */
25
+ .datatable2__header {
26
+ background: var(--surface-color, #f8f9fa);
27
+ border-bottom: 1px solid var(--divider-color, #e0e0e0);
28
+ }
29
+
30
+ .datatable2__header--sticky {
31
+ position: sticky;
32
+ top: 0;
33
+ z-index: 10;
34
+ }
35
+
36
+ .datatable2__header-cell {
37
+ padding: 12px 16px;
38
+ text-align: left;
39
+ font-weight: 600;
40
+ color: var(--text-color-secondary, #666);
41
+ font-size: 0.875rem;
42
+ border-right: 1px solid var(--divider-color, #e0e0e0);
43
+ position: relative;
44
+ user-select: none;
45
+ }
46
+
47
+ .datatable2__header-cell:last-child {
48
+ border-right: none;
49
+ }
50
+
51
+ .datatable2__header-cell.sortable {
52
+ cursor: pointer;
53
+ transition: background-color 0.2s ease;
54
+ }
55
+
56
+ .datatable2__header-cell.sortable:hover {
57
+ background: var(--hover-color, rgba(0, 0, 0, 0.04));
58
+ }
59
+
60
+ .datatable2__header-content {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: space-between;
64
+ gap: 8px;
65
+ }
66
+
67
+ /* Resize handle */
68
+ .datatable2__resize-handle {
69
+ position: absolute;
70
+ top: 0;
71
+ right: 0;
72
+ width: 4px;
73
+ height: 100%;
74
+ cursor: col-resize;
75
+ background: transparent;
76
+ transition: background-color 0.2s ease;
77
+ z-index: 10;
78
+ }
79
+
80
+ .datatable2__resize-handle:hover {
81
+ background: var(--primary-color, #2196f3);
82
+ }
83
+
84
+ .datatable2__resize-handle:active {
85
+ background: var(--primary-color, #2196f3);
86
+ }
87
+
88
+ /* Global cursor during resize */
89
+ body.datatable2-resizing {
90
+ cursor: col-resize !important;
91
+ user-select: none !important;
92
+ }
93
+
94
+ /* ========================================
95
+ READABLE THEME - Máxima Legibilidad
96
+ ======================================== */
97
+
98
+ .datatable2--readable {
99
+ /* Tipografía optimizada para legibilidad */
100
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', 'SF Pro Text', system-ui, sans-serif;
101
+ font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1, 'pnum' 1, 'tnum' 0, 'onum' 0, 'lnum' 1, 'zero' 1;
102
+ -webkit-font-smoothing: antialiased;
103
+ -moz-osx-font-smoothing: grayscale;
104
+ text-rendering: optimizeLegibility;
105
+
106
+ /* Colores optimizados para contraste */
107
+ --readable-bg: #fefefe;
108
+ --readable-text: #1a1a1a;
109
+ --readable-text-secondary: #4a4a4a;
110
+ --readable-text-muted: #6b6b6b;
111
+ --readable-border: #e1e5e9;
112
+ --readable-border-light: #f0f3f6;
113
+ --readable-hover: #f8fafc;
114
+ --readable-selected: #e8f4fd;
115
+ --readable-header-bg: #f7f9fc;
116
+ --readable-header-text: #2d3748;
117
+ --readable-focus: #3182ce;
118
+ --readable-focus-ring: rgba(49, 130, 206, 0.15);
119
+
120
+ background-color: var(--readable-bg);
121
+ color: var(--readable-text);
122
+ line-height: 1.6;
123
+ letter-spacing: -0.01em;
124
+ }
125
+
126
+ .datatable2--readable .datatable2__table-container {
127
+ border: 1px solid var(--readable-border);
128
+ border-radius: 12px;
129
+ overflow: hidden;
130
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.1);
131
+ }
132
+
133
+ .datatable2--readable table {
134
+ border-spacing: 0;
135
+ border-collapse: separate;
136
+ width: 100%;
137
+ }
138
+
139
+ /* Headers optimizados para legibilidad */
140
+ .datatable2--readable .datatable2__header {
141
+ background: linear-gradient(180deg, var(--readable-header-bg) 0%, #f1f5f9 100%);
142
+ border-bottom: 2px solid var(--readable-border);
143
+ }
144
+
145
+ .datatable2--readable .datatable2__header-cell {
146
+ padding: 16px 20px;
147
+ font-weight: 600;
148
+ font-size: 14px;
149
+ color: var(--readable-header-text);
150
+ text-align: left;
151
+ border-right: 1px solid var(--readable-border-light);
152
+ position: relative;
153
+ letter-spacing: -0.005em;
154
+ }
155
+
156
+ .datatable2--readable .datatable2__header-cell:last-child {
157
+ border-right: none;
158
+ }
159
+
160
+ .datatable2--readable .datatable2__header-cell.sortable {
161
+ cursor: pointer;
162
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
163
+ }
164
+
165
+ .datatable2--readable .datatable2__header-cell.sortable:hover {
166
+ background-color: var(--readable-hover);
167
+ color: var(--readable-focus);
168
+ }
169
+
170
+ .datatable2--readable .datatable2__header-cell.sortable:focus {
171
+ outline: 2px solid var(--readable-focus);
172
+ outline-offset: -2px;
173
+ background-color: var(--readable-focus-ring);
174
+ }
175
+
176
+ /* Celdas optimizadas para lectura */
177
+ .datatable2--readable .datatable2__cell {
178
+ padding: 18px 20px;
179
+ font-size: 15px;
180
+ line-height: 1.5;
181
+ color: var(--readable-text);
182
+ border-right: 1px solid var(--readable-border-light);
183
+ border-bottom: 1px solid var(--readable-border-light);
184
+ vertical-align: top;
185
+ word-wrap: break-word;
186
+ hyphens: auto;
187
+ }
188
+
189
+ .datatable2--readable .datatable2__cell:last-child {
190
+ border-right: none;
191
+ }
192
+
193
+ /* Filas con mejor separación visual */
194
+ .datatable2--readable .datatable2__row {
195
+ transition: all 0.15s ease-in-out;
196
+ }
197
+
198
+ .datatable2--readable .datatable2__row:hover {
199
+ background-color: var(--readable-hover);
200
+ }
201
+
202
+ .datatable2--readable .datatable2__row:hover .datatable2__cell {
203
+ border-bottom-color: var(--readable-border);
204
+ }
205
+
206
+ .datatable2--readable .datatable2__row--selected {
207
+ background-color: var(--readable-selected) !important;
208
+ }
209
+
210
+ .datatable2--readable .datatable2__row--selected .datatable2__cell {
211
+ border-bottom-color: #bee3f8;
212
+ }
213
+
214
+ /* Filas alternas para mejor escaneado */
215
+ .datatable2--readable.datatable2--striped .datatable2__row:nth-child(even) {
216
+ background-color: #fbfcfd;
217
+ }
218
+
219
+ .datatable2--readable.datatable2--striped .datatable2__row:nth-child(even):hover {
220
+ background-color: var(--readable-hover);
221
+ }
222
+
223
+ /* Números y datos numéricos */
224
+ .datatable2--readable .datatable2__cell[data-type="number"],
225
+ .datatable2--readable .datatable2__cell[data-type="Number"] {
226
+ font-variant-numeric: tabular-nums;
227
+ text-align: right;
228
+ font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Consolas', monospace;
229
+ font-size: 14px;
230
+ letter-spacing: 0.025em;
231
+ }
232
+
233
+ /* Texto secundario */
234
+ .datatable2--readable .datatable2__cell--secondary {
235
+ color: var(--readable-text-secondary);
236
+ font-size: 14px;
237
+ }
238
+
239
+ .datatable2--readable .datatable2__cell--muted {
240
+ color: var(--readable-text-muted);
241
+ font-size: 13px;
242
+ }
243
+
244
+ /* Estados de carga mejorados */
245
+ .datatable2--readable .datatable2__loading {
246
+ background-color: var(--readable-bg);
247
+ color: var(--readable-text-secondary);
248
+ }
249
+
250
+ /* Checkboxes y controles */
251
+ .datatable2--readable .datatable2__select-header,
252
+ .datatable2--readable .datatable2__select-cell {
253
+ padding: 16px 12px;
254
+ text-align: center;
255
+ border-right: 1px solid var(--readable-border-light);
256
+ }
257
+
258
+ .datatable2--readable input[type="checkbox"] {
259
+ width: 18px;
260
+ height: 18px;
261
+ accent-color: var(--readable-focus);
262
+ }
263
+
264
+ /* Filtros y búsqueda */
265
+ .datatable2--readable .datatable2__search {
266
+ padding: 16px 20px;
267
+ background-color: var(--readable-header-bg);
268
+ border-bottom: 1px solid var(--readable-border);
269
+ }
270
+
271
+ .datatable2--readable .datatable2__search input {
272
+ font-size: 15px;
273
+ padding: 12px 16px;
274
+ border: 2px solid var(--readable-border);
275
+ border-radius: 8px;
276
+ background-color: var(--readable-bg);
277
+ color: var(--readable-text);
278
+ transition: border-color 0.2s ease;
279
+ }
280
+
281
+ .datatable2--readable .datatable2__search input:focus {
282
+ outline: none;
283
+ border-color: var(--readable-focus);
284
+ box-shadow: 0 0 0 3px var(--readable-focus-ring);
285
+ }
286
+
287
+ /* Iconos con mejor contraste */
288
+ .datatable2--readable .icon {
289
+ color: var(--readable-text-secondary);
290
+ transition: color 0.2s ease;
291
+ }
292
+
293
+ .datatable2--readable .datatable2__header-cell:hover .icon {
294
+ color: var(--readable-focus);
295
+ }
296
+
297
+ /* Responsive mejorado */
298
+ @media (max-width: 768px) {
299
+ .datatable2--readable .datatable2__cell {
300
+ padding: 14px 16px;
301
+ font-size: 14px;
302
+ }
303
+
304
+ .datatable2--readable .datatable2__header-cell {
305
+ padding: 12px 16px;
306
+ font-size: 13px;
307
+ }
308
+ }
309
+
310
+ /* ========================================
311
+ READABLE VARIANTS - Variantes de Legibilidad
312
+ ======================================== */
313
+
314
+ /* Large Text - Para mejor accesibilidad */
315
+ .datatable2--readable-large {
316
+ font-size: 16px;
317
+ }
318
+
319
+ .datatable2--readable-large .datatable2__cell {
320
+ padding: 20px 24px;
321
+ font-size: 16px;
322
+ line-height: 1.6;
323
+ }
324
+
325
+ .datatable2--readable-large .datatable2__header-cell {
326
+ padding: 18px 24px;
327
+ font-size: 15px;
328
+ font-weight: 600;
329
+ }
330
+
331
+ .datatable2--readable-large .datatable2__cell[data-type="number"],
332
+ .datatable2--readable-large .datatable2__cell[data-type="Number"] {
333
+ font-size: 15px;
334
+ }
335
+
336
+ /* High Contrast - Para mejor visibilidad */
337
+ .datatable2--readable-contrast {
338
+ --readable-bg: #ffffff;
339
+ --readable-text: #000000;
340
+ --readable-text-secondary: #2d2d2d;
341
+ --readable-text-muted: #4a4a4a;
342
+ --readable-border: #cccccc;
343
+ --readable-border-light: #e0e0e0;
344
+ --readable-hover: #f0f0f0;
345
+ --readable-selected: #e6f3ff;
346
+ --readable-header-bg: #f5f5f5;
347
+ --readable-header-text: #000000;
348
+ --readable-focus: #0066cc;
349
+ --readable-focus-ring: rgba(0, 102, 204, 0.25);
350
+ }
351
+
352
+ .datatable2--readable-contrast .datatable2__table-container {
353
+ border: 2px solid var(--readable-border);
354
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
355
+ }
356
+
357
+ .datatable2--readable-contrast .datatable2__header {
358
+ border-bottom: 3px solid var(--readable-border);
359
+ }
360
+
361
+ .datatable2--readable-contrast .datatable2__cell {
362
+ border-bottom: 1px solid var(--readable-border);
363
+ border-right: 1px solid var(--readable-border);
364
+ }
365
+
366
+ /* Dyslexia Friendly - Optimizado para dislexia */
367
+ .datatable2--readable-dyslexia {
368
+ font-family: 'OpenDyslexic', 'Comic Sans MS', 'Trebuchet MS', sans-serif;
369
+ letter-spacing: 0.05em;
370
+ word-spacing: 0.1em;
371
+ }
372
+
373
+ .datatable2--readable-dyslexia .datatable2__cell {
374
+ padding: 20px 24px;
375
+ font-size: 15px;
376
+ line-height: 1.8;
377
+ letter-spacing: 0.05em;
378
+ word-spacing: 0.1em;
379
+ }
380
+
381
+ .datatable2--readable-dyslexia .datatable2__header-cell {
382
+ padding: 18px 24px;
383
+ font-size: 14px;
384
+ font-weight: 700;
385
+ letter-spacing: 0.1em;
386
+ text-transform: uppercase;
387
+ }
388
+
389
+ .datatable2--readable-dyslexia .datatable2__row:nth-child(even) {
390
+ background-color: #fafbfc;
391
+ }
392
+
393
+ .datatable2--readable-dyslexia .datatable2__row:nth-child(odd) {
394
+ background-color: #ffffff;
395
+ }
396
+
397
+ /* Print Optimized - Para impresión */
398
+ .datatable2--readable-print {
399
+ font-family: 'Times New Roman', 'Georgia', serif;
400
+ color: #000000;
401
+ background-color: #ffffff;
402
+ }
403
+
404
+ .datatable2--readable-print .datatable2__table-container {
405
+ border: 2px solid #000000;
406
+ border-radius: 0;
407
+ box-shadow: none;
408
+ }
409
+
410
+ .datatable2--readable-print .datatable2__cell {
411
+ padding: 12px 16px;
412
+ font-size: 12px;
413
+ line-height: 1.4;
414
+ border: 1px solid #000000;
415
+ }
416
+
417
+ .datatable2--readable-print .datatable2__header-cell {
418
+ padding: 12px 16px;
419
+ font-size: 12px;
420
+ font-weight: bold;
421
+ background-color: #f0f0f0;
422
+ border: 1px solid #000000;
423
+ }
424
+
425
+ @media print {
426
+ .datatable2--readable-print {
427
+ -webkit-print-color-adjust: exact;
428
+ print-color-adjust: exact;
429
+ }
430
+ }
431
+
432
+ /* Compact Readable - Legible pero compacto */
433
+ .datatable2--readable-compact .datatable2__cell {
434
+ padding: 12px 16px;
435
+ font-size: 14px;
436
+ line-height: 1.5;
437
+ }
438
+
439
+ .datatable2--readable-compact .datatable2__header-cell {
440
+ padding: 12px 16px;
441
+ font-size: 13px;
442
+ }
443
+
444
+ /* Focus Mode - Reduce distracciones */
445
+ .datatable2--readable-focus {
446
+ --readable-border-light: transparent;
447
+ --readable-hover: rgba(59, 130, 246, 0.05);
448
+ }
449
+
450
+ .datatable2--readable-focus .datatable2__table-container {
451
+ border: none;
452
+ box-shadow: none;
453
+ }
454
+
455
+ .datatable2--readable-focus .datatable2__cell {
456
+ border-right: none;
457
+ border-bottom: 1px solid #f1f5f9;
458
+ }
459
+
460
+ .datatable2--readable-focus .datatable2__header-cell {
461
+ border-right: none;
462
+ background: transparent;
463
+ border-bottom: 2px solid #e2e8f0;
464
+ }
465
+
466
+ .datatable2--readable-focus .datatable2__row:hover {
467
+ background-color: var(--readable-hover);
468
+ transform: translateY(-1px);
469
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
470
+ }
471
+
472
+ /* Dark Mode Readable */
473
+ .datatable2--readable-dark {
474
+ --readable-bg: #1a202c;
475
+ --readable-text: #f7fafc;
476
+ --readable-text-secondary: #e2e8f0;
477
+ --readable-text-muted: #a0aec0;
478
+ --readable-border: #2d3748;
479
+ --readable-border-light: #4a5568;
480
+ --readable-hover: #2d3748;
481
+ --readable-selected: #2a4a6b;
482
+ --readable-header-bg: #2d3748;
483
+ --readable-header-text: #f7fafc;
484
+ --readable-focus: #63b3ed;
485
+ --readable-focus-ring: rgba(99, 179, 237, 0.25);
486
+ }
487
+
488
+ .datatable2--readable-dark .datatable2__table-container {
489
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
490
+ }
491
+
492
+ /* Accessibility Helpers */
493
+ .datatable2--readable [role="columnheader"]:focus,
494
+ .datatable2--readable [role="gridcell"]:focus {
495
+ outline: 3px solid var(--readable-focus);
496
+ outline-offset: -3px;
497
+ z-index: 1;
498
+ position: relative;
499
+ }
500
+
501
+ .datatable2--readable .sr-only {
502
+ position: absolute;
503
+ width: 1px;
504
+ height: 1px;
505
+ padding: 0;
506
+ margin: -1px;
507
+ overflow: hidden;
508
+ clip: rect(0, 0, 0, 0);
509
+ white-space: nowrap;
510
+ border: 0;
511
+ }
512
+
513
+ /* ========================================
514
+ TOOLBAR & PANEL SYSTEM - Sistema de Toolbar y Panel
515
+ ======================================== */
516
+
517
+ .datatable2__container {
518
+ position: relative;
519
+ display: flex;
520
+ width: 100%;
521
+ border: 1px solid #e2e8f0;
522
+ border-radius: 8px;
523
+ overflow: visible; /* Permitir que el panel se vea cuando se desliza */
524
+ /* min-height removido - ahora es dinámico */
525
+ }
526
+
527
+ .datatable2__main {
528
+ flex: 1;
529
+ min-width: 0;
530
+ transition: margin-right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
531
+ overflow: hidden;
532
+ }
533
+
534
+ .datatable2__main--with-panel {
535
+ margin-right: 320px; /* Espacio para el panel */
536
+ }
537
+
538
+ /* Vertical Toolbar */
539
+ .datatable2__toolbar {
540
+ width: 50px;
541
+ min-width: 50px;
542
+ background: #f8fafc;
543
+ border-left: 1px solid #e2e8f0;
544
+ display: flex;
545
+ flex-direction: column;
546
+ align-items: center;
547
+ padding: 1rem 0;
548
+ gap: 0.5rem;
549
+ }
550
+
551
+ .datatable2__toolbar-button {
552
+ width: 36px;
553
+ height: 36px;
554
+ background: #ffffff;
555
+ border: 1px solid #e2e8f0;
556
+ border-radius: 6px;
557
+ display: flex;
558
+ align-items: center;
559
+ justify-content: center;
560
+ cursor: pointer;
561
+ transition: all 0.2s ease;
562
+ color: #64748b;
563
+ position: relative;
564
+ font-size: 16px;
565
+ line-height: 1;
566
+ }
567
+
568
+ /* Active state for toolbar icons */
569
+ .datatable2__toolbar-icon--active {
570
+ color: #3b82f6 !important;
571
+ background: rgba(59, 130, 246, 0.1) !important;
572
+ border-radius: 4px;
573
+ }
574
+
575
+ .datatable2__toolbar-button:hover {
576
+ background: #f1f5f9;
577
+ border-color: #cbd5e1;
578
+ color: #3b82f6;
579
+ transform: translateY(-1px);
580
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
581
+ }
582
+
583
+ .datatable2__toolbar-button--active {
584
+ background: #3b82f6;
585
+ border-color: #3b82f6;
586
+ color: #ffffff;
587
+ box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
588
+ }
589
+
590
+ .datatable2__toolbar-button--active:hover {
591
+ background: #2563eb;
592
+ border-color: #2563eb;
593
+ color: #ffffff;
594
+ }
595
+
596
+ /* Sliding Panel */
597
+ .datatable2__panel {
598
+ width: 320px;
599
+ min-width: 320px;
600
+ background: #ffffff;
601
+ border-left: 1px solid #e2e8f0;
602
+ transform: translateX(100%);
603
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
604
+ overflow-y: auto;
605
+ max-height: 100%;
606
+ position: absolute;
607
+ right: 50px; /* Posicionado después de la toolbar */
608
+ top: 0;
609
+ height: 100%;
610
+ z-index: 10;
611
+ }
612
+
613
+ .datatable2__panel--open {
614
+ transform: translateX(0);
615
+ }
616
+
617
+ .datatable2__panel-header {
618
+ padding: 1.5rem;
619
+ border-bottom: 1px solid #e2e8f0;
620
+ background: #f8fafc;
621
+ display: flex;
622
+ align-items: center;
623
+ justify-content: space-between;
624
+ position: sticky;
625
+ top: 0;
626
+ z-index: 10;
627
+ }
628
+
629
+ .datatable2__panel-title {
630
+ font-size: 1rem;
631
+ font-weight: 600;
632
+ color: #1a202c;
633
+ margin: 0;
634
+ }
635
+
636
+ .datatable2__panel-close {
637
+ background: none;
638
+ border: none;
639
+ padding: 0.5rem;
640
+ cursor: pointer;
641
+ border-radius: 6px;
642
+ color: #64748b;
643
+ transition: all 0.2s ease;
644
+ width: 32px;
645
+ height: 32px;
646
+ display: flex;
647
+ align-items: center;
648
+ justify-content: center;
649
+ }
650
+
651
+ .datatable2__panel-close:hover {
652
+ background: #e2e8f0;
653
+ color: #1a202c;
654
+ }
655
+
656
+ .datatable2__panel-content {
657
+ padding: 1.5rem;
658
+ }
659
+
660
+ .datatable2__panel-section {
661
+ margin-bottom: 2rem;
662
+ }
663
+
664
+ .datatable2__panel-section:last-child {
665
+ margin-bottom: 0;
666
+ }
667
+
668
+ .datatable2__panel-section-title {
669
+ font-size: 0.875rem;
670
+ font-weight: 600;
671
+ color: #374151;
672
+ margin: 0 0 1rem 0;
673
+ text-transform: uppercase;
674
+ letter-spacing: 0.05em;
675
+ }
676
+
677
+ /* Column Visibility Controls */
678
+ .datatable2__column-list {
679
+ list-style: none;
680
+ padding: 0;
681
+ margin: 0;
682
+ }
683
+
684
+ .datatable2__column-item {
685
+ display: flex;
686
+ align-items: center;
687
+ padding: 0.75rem 0;
688
+ border-bottom: 1px solid #f1f5f9;
689
+ }
690
+
691
+ .datatable2__column-item:last-child {
692
+ border-bottom: none;
693
+ }
694
+
695
+ .datatable2__column-checkbox {
696
+ margin-right: 0.75rem;
697
+ width: 18px;
698
+ height: 18px;
699
+ accent-color: #3b82f6;
700
+ cursor: pointer;
701
+ }
702
+
703
+ .datatable2__column-label {
704
+ flex: 1;
705
+ font-size: 0.875rem;
706
+ color: #374151;
707
+ cursor: pointer;
708
+ user-select: none;
709
+ }
710
+
711
+ .datatable2__column-label:hover {
712
+ color: #1f2937;
713
+ }
714
+
715
+ .datatable2__column-count {
716
+ font-size: 0.75rem;
717
+ color: #6b7280;
718
+ background: #f3f4f6;
719
+ padding: 0.25rem 0.5rem;
720
+ border-radius: 12px;
721
+ min-width: 24px;
722
+ text-align: center;
723
+ }
724
+
725
+ /* Export Options */
726
+ .datatable2__export-options {
727
+ display: flex;
728
+ flex-direction: column;
729
+ gap: 0.75rem;
730
+ }
731
+
732
+ .datatable2__export-button {
733
+ display: flex;
734
+ align-items: center;
735
+ gap: 0.75rem;
736
+ padding: 0.75rem 1rem;
737
+ background: #ffffff;
738
+ border: 1px solid #e2e8f0;
739
+ border-radius: 6px;
740
+ cursor: pointer;
741
+ transition: all 0.2s ease;
742
+ font-size: 0.875rem;
743
+ color: #374151;
744
+ text-align: left;
745
+ width: 100%;
746
+ }
747
+
748
+ .datatable2__export-button:hover {
749
+ background: #f8fafc;
750
+ border-color: #cbd5e1;
751
+ color: #1f2937;
752
+ transform: translateY(-1px);
753
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
754
+ }
755
+
756
+ .datatable2__export-button .icon {
757
+ color: #6b7280;
758
+ transition: color 0.2s ease;
759
+ }
760
+
761
+ .datatable2__export-button:hover .icon {
762
+ color: #3b82f6;
763
+ }
764
+
765
+ /* Filter Options */
766
+ .datatable2__filter-options {
767
+ padding: 1rem 0;
768
+ }
769
+
770
+ /* Filters Row */
771
+ .datatable2__filters-row {
772
+ background: #f8fafc;
773
+ border-bottom: 1px solid #e2e8f0;
774
+ }
775
+
776
+ .datatable2__filter-cell {
777
+ padding: 0.5rem;
778
+ vertical-align: middle;
779
+ border-bottom: 1px solid #e2e8f0;
780
+ }
781
+
782
+ .datatable2__filter-cell--checkbox,
783
+ .datatable2__filter-cell--row-number {
784
+ background: #f1f5f9;
785
+ border-right: 1px solid #e2e8f0;
786
+ }
787
+
788
+ .datatable2__filter-cell--actions {
789
+ text-align: center;
790
+ background: #f1f5f9;
791
+ border-left: 1px solid #e2e8f0;
792
+ }
793
+
794
+ .datatable2__filter-field {
795
+ width: 100%;
796
+ min-width: 120px;
797
+ font-size: 0.875rem;
798
+ }
799
+
800
+ .datatable2__filter-field input,
801
+ .datatable2__filter-field select {
802
+ border: 1px solid #d1d5db;
803
+ border-radius: 4px;
804
+ padding: 0.375rem 0.75rem;
805
+ font-size: 0.875rem;
806
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
807
+ }
808
+
809
+ .datatable2__filter-field input:focus,
810
+ .datatable2__filter-field select:focus {
811
+ outline: none;
812
+ border-color: #3b82f6;
813
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
814
+ }
815
+
816
+ .datatable2__clear-filters {
817
+ opacity: 0.5;
818
+ transition: opacity 0.2s ease;
819
+ }
820
+
821
+ .datatable2__clear-filters--active {
822
+ opacity: 1;
823
+ }
824
+
825
+ .datatable2__clear-filters:hover {
826
+ opacity: 1;
827
+ color: #ef4444;
828
+ }
829
+
830
+ /* Responsive filters */
831
+ @media (max-width: 768px) {
832
+ .datatable2__filter-field {
833
+ min-width: 80px;
834
+ font-size: 0.8rem;
835
+ }
836
+
837
+ .datatable2__filter-cell {
838
+ padding: 0.25rem;
839
+ }
840
+ }
841
+
842
+ /* Summary Row */
843
+ .datatable2__summary-row {
844
+ background: #f8fafc;
845
+ border-top: 2px solid #e2e8f0;
846
+ font-weight: 600;
847
+ }
848
+
849
+ .datatable2__summary-cell {
850
+ padding: 0.75rem;
851
+ vertical-align: middle;
852
+ border-top: 1px solid #e2e8f0;
853
+ background: #f1f5f9;
854
+ color: #374151;
855
+ font-size: 0.875rem;
856
+ }
857
+
858
+ .datatable2__summary-cell--checkbox,
859
+ .datatable2__summary-cell--row-number {
860
+ background: #e2e8f0;
861
+ border-right: 1px solid #cbd5e1;
862
+ text-align: center;
863
+ font-weight: bold;
864
+ color: #1f2937;
865
+ }
866
+
867
+ .datatable2__summary-cell--actions {
868
+ background: #e2e8f0;
869
+ border-left: 1px solid #cbd5e1;
870
+ }
871
+
872
+ .datatable2__summary-value {
873
+ display: inline-block;
874
+ padding: 0.25rem 0.5rem;
875
+ background: #ffffff;
876
+ border: 1px solid #d1d5db;
877
+ border-radius: 4px;
878
+ font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
879
+ font-size: 0.8rem;
880
+ font-weight: 600;
881
+ color: #059669;
882
+ cursor: help;
883
+ transition: all 0.2s ease;
884
+ }
885
+
886
+ .datatable2__summary-value:hover {
887
+ background: #f0fdf4;
888
+ border-color: #059669;
889
+ transform: translateY(-1px);
890
+ box-shadow: 0 2px 4px rgba(5, 150, 105, 0.1);
891
+ }
892
+
893
+ /* Summary row responsive */
894
+ @media (max-width: 768px) {
895
+ .datatable2__summary-cell {
896
+ padding: 0.5rem 0.25rem;
897
+ font-size: 0.8rem;
898
+ }
899
+
900
+ .datatable2__summary-value {
901
+ font-size: 0.75rem;
902
+ padding: 0.2rem 0.4rem;
903
+ }
904
+ }
905
+
906
+ /* Export Panel */
907
+ .datatable2__export-environment-notice {
908
+ display: flex;
909
+ align-items: flex-start;
910
+ gap: 0.75rem;
911
+ padding: 0.75rem;
912
+ margin-bottom: 1rem;
913
+ background: #fffbeb;
914
+ border: 1px solid #fbbf24;
915
+ border-radius: 6px;
916
+ color: #92400e;
917
+ }
918
+
919
+ .datatable2__export-environment-notice strong {
920
+ display: block;
921
+ font-size: 0.875rem;
922
+ margin-bottom: 0.25rem;
923
+ }
924
+
925
+ .datatable2__export-environment-notice p {
926
+ margin: 0;
927
+ font-size: 0.8rem;
928
+ color: #a16207;
929
+ }
930
+
931
+ .datatable2__export-stats {
932
+ display: flex;
933
+ gap: 1rem;
934
+ margin-bottom: 1rem;
935
+ padding: 0.75rem;
936
+ background: #f8fafc;
937
+ border: 1px solid #e2e8f0;
938
+ border-radius: 6px;
939
+ }
940
+
941
+ .datatable2__stat {
942
+ display: flex;
943
+ flex-direction: column;
944
+ align-items: center;
945
+ gap: 0.25rem;
946
+ }
947
+
948
+ .datatable2__stat-label {
949
+ font-size: 0.75rem;
950
+ color: #6b7280;
951
+ font-weight: 500;
952
+ }
953
+
954
+ .datatable2__stat-value {
955
+ font-size: 1.25rem;
956
+ font-weight: bold;
957
+ color: #1f2937;
958
+ }
959
+
960
+ .datatable2__export-status {
961
+ display: flex;
962
+ align-items: center;
963
+ gap: 0.5rem;
964
+ padding: 0.75rem;
965
+ border-radius: 6px;
966
+ margin-bottom: 1rem;
967
+ font-size: 0.875rem;
968
+ font-weight: 500;
969
+ }
970
+
971
+ .datatable2__export-status--success {
972
+ background: #f0fdf4;
973
+ color: #166534;
974
+ border: 1px solid #bbf7d0;
975
+ }
976
+
977
+ .datatable2__export-status--error {
978
+ background: #fef2f2;
979
+ color: #dc2626;
980
+ border: 1px solid #fecaca;
981
+ }
982
+
983
+ .datatable2__export-section {
984
+ margin-bottom: 1.5rem;
985
+ }
986
+
987
+ .datatable2__export-section-title {
988
+ font-size: 0.875rem;
989
+ font-weight: 600;
990
+ color: #374151;
991
+ margin: 0 0 0.75rem 0;
992
+ padding-bottom: 0.5rem;
993
+ border-bottom: 1px solid #e5e7eb;
994
+ }
995
+
996
+ .datatable2__export-options {
997
+ display: flex;
998
+ flex-direction: column;
999
+ gap: 0.5rem;
1000
+ }
1001
+
1002
+ .datatable2__export-button {
1003
+ display: flex;
1004
+ align-items: center;
1005
+ gap: 0.75rem;
1006
+ padding: 0.75rem 1rem;
1007
+ background: #ffffff;
1008
+ border: 1px solid #d1d5db;
1009
+ border-radius: 6px;
1010
+ cursor: pointer;
1011
+ transition: all 0.2s ease;
1012
+ font-size: 0.875rem;
1013
+ font-weight: 500;
1014
+ color: #374151;
1015
+ text-align: left;
1016
+ width: 100%;
1017
+ }
1018
+
1019
+ .datatable2__export-button:hover:not(:disabled) {
1020
+ background: #f9fafb;
1021
+ border-color: #9ca3af;
1022
+ transform: translateY(-1px);
1023
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1024
+ }
1025
+
1026
+ .datatable2__export-button:active:not(:disabled) {
1027
+ transform: translateY(0);
1028
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
1029
+ }
1030
+
1031
+ .datatable2__export-button:disabled {
1032
+ opacity: 0.5;
1033
+ cursor: not-allowed;
1034
+ background: #f3f4f6;
1035
+ }
1036
+
1037
+ .datatable2__export-button--selected {
1038
+ border-color: #3b82f6;
1039
+ background: #eff6ff;
1040
+ color: #1d4ed8;
1041
+ }
1042
+
1043
+ .datatable2__export-button--selected:hover:not(:disabled) {
1044
+ background: #dbeafe;
1045
+ border-color: #2563eb;
1046
+ }
1047
+
1048
+ .datatable2__export-description {
1049
+ font-size: 0.75rem;
1050
+ color: #6b7280;
1051
+ font-weight: normal;
1052
+ margin-left: auto;
1053
+ }
1054
+
1055
+ .datatable2__export-info {
1056
+ margin-top: 1rem;
1057
+ padding: 0.75rem;
1058
+ background: #f0f9ff;
1059
+ border: 1px solid #bae6fd;
1060
+ border-radius: 6px;
1061
+ }
1062
+
1063
+ .datatable2__export-note {
1064
+ display: flex;
1065
+ align-items: center;
1066
+ gap: 0.5rem;
1067
+ margin: 0;
1068
+ font-size: 0.8rem;
1069
+ color: #0c4a6e;
1070
+ }
1071
+
1072
+ /* Export responsive */
1073
+ @media (max-width: 768px) {
1074
+ .datatable2__export-stats {
1075
+ flex-direction: column;
1076
+ gap: 0.5rem;
1077
+ }
1078
+
1079
+ .datatable2__stat {
1080
+ flex-direction: row;
1081
+ justify-content: space-between;
1082
+ }
1083
+
1084
+ .datatable2__export-button {
1085
+ padding: 0.5rem 0.75rem;
1086
+ font-size: 0.8rem;
1087
+ }
1088
+
1089
+ .datatable2__export-description {
1090
+ display: none;
1091
+ }
1092
+ }
1093
+
1094
+ /* Table Container Adjustments */
1095
+ .datatable2__table-container {
1096
+ width: 100%;
1097
+ overflow-x: auto;
1098
+ border: none; /* El border está en el container principal */
1099
+ border-radius: 0;
1100
+ }
1101
+
1102
+ /* Row Numbers */
1103
+ .datatable2__row-number-header {
1104
+ width: 60px;
1105
+ min-width: 60px;
1106
+ max-width: 60px;
1107
+ text-align: center;
1108
+ padding: 0.75rem 0.5rem;
1109
+ font-weight: 600;
1110
+ font-size: 0.875rem;
1111
+ color: #6b7280;
1112
+ background: #f8fafc;
1113
+ border-right: 1px solid #e2e8f0;
1114
+ position: sticky;
1115
+ left: 0;
1116
+ z-index: 5;
1117
+ }
1118
+
1119
+ .datatable2__row-number {
1120
+ width: 60px;
1121
+ min-width: 60px;
1122
+ max-width: 60px;
1123
+ text-align: center;
1124
+ padding: 0.75rem 0.5rem;
1125
+ font-size: 0.875rem;
1126
+ color: #6b7280;
1127
+ background: #fafbfc;
1128
+ border-right: 1px solid #e2e8f0;
1129
+ position: sticky;
1130
+ left: 0;
1131
+ z-index: 5;
1132
+ font-variant-numeric: tabular-nums;
1133
+ }
1134
+
1135
+ .datatable2--striped .datatable2__row:nth-child(even) .datatable2__row-number {
1136
+ background: #f1f5f9;
1137
+ }
1138
+
1139
+ .datatable2__row:hover .datatable2__row-number {
1140
+ background: #e2e8f0;
1141
+ color: #374151;
1142
+ }
1143
+
1144
+ /* Responsive Design */
1145
+ @media (max-width: 1024px) {
1146
+ .datatable2__main--with-panel {
1147
+ width: calc(100% - 320px); /* Solo panel, toolbar se oculta */
1148
+ }
1149
+
1150
+ .datatable2__toolbar {
1151
+ display: none;
1152
+ }
1153
+
1154
+ .datatable2__panel {
1155
+ width: 320px;
1156
+ position: absolute;
1157
+ right: 0;
1158
+ top: 0;
1159
+ height: 100%;
1160
+ z-index: 1000;
1161
+ box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
1162
+ }
1163
+ }
1164
+
1165
+ @media (max-width: 768px) {
1166
+ .datatable2__main--with-panel {
1167
+ width: 100%;
1168
+ }
5
1169
 
6
- /* Enhanced DataTable2 Styles - New functionality while maintaining compatibility */
1170
+ .datatable2__panel {
1171
+ width: 100%;
1172
+ max-width: 320px;
1173
+ position: fixed;
1174
+ top: 0;
1175
+ right: 0;
1176
+ height: 100vh;
1177
+ z-index: 1001;
1178
+ }
7
1179
 
8
- .datatable2 {
9
- position: relative;
10
- width: 100%;
11
- overflow: hidden;
12
- border-radius: 8px;
13
- background: var(--background-color, #ffffff);
14
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
15
- transition: all 0.2s ease;
1180
+ .datatable2__panel-content {
1181
+ padding: 1rem;
1182
+ }
1183
+
1184
+ .datatable2__row-number-header,
1185
+ .datatable2__row-number {
1186
+ width: 50px;
1187
+ min-width: 50px;
1188
+ max-width: 50px;
1189
+ padding: 0.5rem 0.25rem;
1190
+ font-size: 0.75rem;
1191
+ }
16
1192
  }
17
1193
 
18
- /* Fix table borders - single 1px borders */
19
- .datatable2 table {
20
- border-collapse: collapse;
21
- width: 100%;
22
- border-spacing: 0;
1194
+ /* Dark theme adjustments */
1195
+ .datatable2--dark .datatable2__container {
1196
+ border-color: #2d3748;
23
1197
  }
24
1198
 
25
- .datatable2 th,
26
- .datatable2 td {
27
- border: 1px solid var(--divider-color, #e0e0e0);
28
- padding: 0.5rem 0.75rem;
29
- text-align: left;
30
- vertical-align: middle;
31
- position: relative;
1199
+ .datatable2--dark .datatable2__toolbar {
1200
+ background: #2d3748;
1201
+ border-left-color: #4a5568;
32
1202
  }
33
1203
 
34
- /* Fix editable fields to stay within cells */
35
- .datatable2 .field-editor {
36
- width: 100%;
37
- max-width: 100%;
38
- box-sizing: border-box;
1204
+ .datatable2--dark .datatable2__toolbar-button {
1205
+ background: #1a202c;
1206
+ border-color: #4a5568;
1207
+ color: #a0aec0;
39
1208
  }
40
1209
 
41
- .datatable2 .field-editor input,
42
- .datatable2 .field-editor select,
43
- .datatable2 .field-editor textarea {
44
- width: 100%;
45
- max-width: 100%;
46
- box-sizing: border-box;
47
- border: none;
48
- outline: none;
49
- background: transparent;
50
- padding: 0.25rem;
51
- margin: 0;
52
- font-size: inherit;
53
- font-family: inherit;
54
- line-height: inherit;
1210
+ .datatable2--dark .datatable2__toolbar-button:hover {
1211
+ background: #2d3748;
1212
+ border-color: #63b3ed;
1213
+ color: #63b3ed;
55
1214
  }
56
1215
 
57
- .datatable2 .field-editor input:focus,
58
- .datatable2 .field-editor select:focus,
59
- .datatable2 .field-editor textarea:focus {
60
- background: rgba(33, 150, 243, 0.05);
61
- border-radius: 2px;
1216
+ .datatable2--dark .datatable2__toolbar-button--active {
1217
+ background: #63b3ed;
1218
+ border-color: #63b3ed;
1219
+ color: #1a202c;
62
1220
  }
63
1221
 
64
- /* Search functionality */
65
- .datatable2__search {
66
- padding: 1rem;
67
- border-bottom: 1px solid var(--divider-color, #e0e0e0);
68
- background: var(--background-color-light, #f8f9fa);
1222
+ .datatable2--dark .datatable2__panel {
1223
+ background: #1a202c;
1224
+ border-left-color: #2d3748;
69
1225
  }
70
1226
 
71
- /* Toolbar */
72
- .datatable2__toolbar {
73
- display: flex;
74
- justify-content: space-between;
75
- align-items: center;
76
- padding: 0.5rem 1rem;
77
- border-bottom: 1px solid var(--divider-color, #e0e0e0);
78
- background: var(--background-color-light, #f8f9fa);
1227
+ .datatable2--dark .datatable2__panel-header {
1228
+ background: #2d3748;
1229
+ border-bottom-color: #4a5568;
79
1230
  }
80
1231
 
81
- .datatable2__export-btn {
82
- display: flex;
83
- align-items: center;
84
- gap: 0.5rem;
85
- padding: 0.5rem 1rem;
86
- border: 1px solid var(--primary-color, #2196f3);
87
- background: transparent;
88
- color: var(--primary-color, #2196f3);
89
- border-radius: 4px;
90
- cursor: pointer;
91
- font-size: 0.9rem;
92
- transition: all 0.2s ease;
1232
+ .datatable2--dark .datatable2__panel-title {
1233
+ color: #f7fafc;
93
1234
  }
94
1235
 
95
- .datatable2__export-btn:hover:not(:disabled) {
96
- background: var(--primary-color, #2196f3);
97
- color: white;
1236
+ .datatable2--dark .datatable2__panel-close {
1237
+ color: #a0aec0;
98
1238
  }
99
1239
 
100
- .datatable2__export-btn:disabled {
101
- opacity: 0.6;
102
- cursor: not-allowed;
1240
+ .datatable2--dark .datatable2__panel-close:hover {
1241
+ background: #4a5568;
1242
+ color: #f7fafc;
103
1243
  }
104
1244
 
105
- /* Table variants */
106
- .datatable2--striped tbody tr:nth-child(even) {
107
- background-color: var(--background-color-light, #f8f9fa);
1245
+ .datatable2--dark .datatable2__column-item {
1246
+ border-bottom-color: #2d3748;
108
1247
  }
109
1248
 
110
- .datatable2--compact {
111
- font-size: 0.85rem;
1249
+ .datatable2--dark .datatable2__column-label {
1250
+ color: #e2e8f0;
112
1251
  }
113
1252
 
114
- .datatable2--compact th,
115
- .datatable2--compact td {
116
- padding: 0.375rem 0.5rem;
1253
+ .datatable2--dark .datatable2__column-label:hover {
1254
+ color: #f7fafc;
117
1255
  }
118
1256
 
119
- .datatable2--bordered {
120
- border: 1px solid var(--divider-color, #e0e0e0);
1257
+ .datatable2--dark .datatable2__row-number-header {
1258
+ background: #2d3748;
1259
+ border-right-color: #4a5568;
1260
+ color: #a0aec0;
121
1261
  }
122
1262
 
123
- .datatable2--bordered th,
124
- .datatable2--bordered td {
125
- border: 1px solid var(--divider-color, #e0e0e0);
1263
+ .datatable2--dark .datatable2__row-number {
1264
+ background: #1a202c;
1265
+ border-right-color: #4a5568;
1266
+ color: #a0aec0;
126
1267
  }
127
1268
 
128
- .datatable2--no-hover tbody tr:hover {
129
- background-color: inherit !important;
1269
+ /* Selection styles */
1270
+ .datatable2__select-header {
1271
+ width: 50px;
1272
+ min-width: 50px;
1273
+ max-width: 50px;
1274
+ text-align: center;
1275
+ padding: 0.5rem;
1276
+ vertical-align: middle;
130
1277
  }
131
1278
 
132
- /* Row height variants - Clear differences */
133
- .datatable2--small th,
134
- .datatable2--small td {
135
- padding: 0.25rem 0.5rem;
136
- font-size: 0.75rem;
137
- line-height: 1.2;
138
- height: 32px;
1279
+ .datatable2__select-header input[type="checkbox"] {
1280
+ margin: 0;
1281
+ cursor: pointer;
1282
+ vertical-align: middle;
139
1283
  }
140
1284
 
141
- .datatable2--medium th,
142
- .datatable2--medium td {
143
- padding: 0.5rem 0.75rem;
144
- font-size: 0.875rem;
145
- line-height: 1.4;
146
- height: 44px;
1285
+ .datatable2__select-cell {
1286
+ width: 50px;
1287
+ min-width: 50px;
1288
+ max-width: 50px;
1289
+ text-align: center;
1290
+ padding: 0.5rem;
1291
+ vertical-align: middle;
147
1292
  }
148
1293
 
149
- .datatable2--large th,
150
- .datatable2--large td {
151
- padding: 0.75rem 1rem;
152
- font-size: 1rem;
153
- line-height: 1.6;
154
- height: 56px;
1294
+ .datatable2__select-cell input[type="checkbox"] {
1295
+ margin: 0;
1296
+ cursor: pointer;
1297
+ vertical-align: middle;
155
1298
  }
156
1299
 
157
- /* Density variants - Clear differences */
158
- .datatable2--compact {
159
- font-size: 0.8rem;
1300
+ .datatable2__row--selected {
1301
+ background-color: var(--selection-bg, #e3f2fd) !important;
1302
+ border-color: var(--selection-border, #2196f3) !important;
160
1303
  }
161
1304
 
162
- .datatable2--compact th,
163
- .datatable2--compact td {
164
- padding: 0.25rem 0.5rem;
165
- line-height: 1.2;
166
- height: 28px;
1305
+ .datatable2__row--selected:hover {
1306
+ background-color: var(--selection-hover-bg, #bbdefb) !important;
167
1307
  }
168
1308
 
169
- .datatable2--normal {
170
- font-size: 0.9rem;
1309
+ /* Row styles */
1310
+ .datatable2__row {
1311
+ border-bottom: 1px solid var(--divider-color-light, #f0f0f0);
1312
+ transition: background-color 0.2s ease;
171
1313
  }
172
1314
 
173
- .datatable2--normal th,
174
- .datatable2--normal td {
175
- padding: 0.5rem 0.75rem;
176
- line-height: 1.4;
177
- height: 40px;
1315
+ .datatable2__row:last-child {
1316
+ border-bottom: none;
178
1317
  }
179
1318
 
180
- .datatable2--comfortable {
181
- font-size: 1rem;
1319
+ .datatable2__row:hover {
1320
+ background: var(--hover-color, rgba(0, 0, 0, 0.02));
182
1321
  }
183
1322
 
184
- .datatable2--comfortable th,
185
- .datatable2--comfortable td {
186
- padding: 0.875rem 1.25rem;
187
- line-height: 1.6;
188
- height: 52px;
1323
+ .datatable2__row--selected {
1324
+ background: var(--selection-color, rgba(33, 150, 243, 0.08));
1325
+ border-left: 3px solid var(--primary-color, #2196f3);
189
1326
  }
190
1327
 
191
- /* Theme variants */
192
- .datatable2--dark {
193
- background: var(--background-color-dark, #303030);
194
- color: var(--text-color-dark, #ffffff);
1328
+ /* Cell styles */
1329
+ .datatable2__cell {
1330
+ padding: 12px 16px;
1331
+ color: var(--text-color, #333);
1332
+ font-size: 0.875rem;
1333
+ border-right: 1px solid var(--divider-color-light, #f0f0f0);
1334
+ position: relative;
1335
+ vertical-align: middle;
195
1336
  }
196
1337
 
197
- .datatable2--dark th {
198
- background: var(--background-color-light-dark, #424242);
199
- color: var(--text-color-dark, #ffffff);
1338
+ .datatable2__cell:last-child {
1339
+ border-right: none;
200
1340
  }
201
1341
 
202
- .datatable2--dark tbody tr:hover {
203
- background-color: var(--hover-color-dark, rgba(255, 255, 255, 0.08));
1342
+ .datatable2__cell--editable {
1343
+ cursor: pointer;
1344
+ transition: background-color 0.2s ease;
204
1345
  }
205
1346
 
206
- .datatable2--minimal {
207
- box-shadow: none;
208
- border: none;
1347
+ .datatable2__cell--editable:hover {
1348
+ background: var(--hover-color, rgba(0, 0, 0, 0.02));
209
1349
  }
210
1350
 
211
- .datatable2--minimal th {
212
- border-bottom: 2px solid var(--primary-color, #2196f3);
213
- background: transparent;
1351
+ .datatable2__cell--editing {
1352
+ padding: 0;
1353
+ background: var(--edit-color, rgba(33, 150, 243, 0.05));
214
1354
  }
215
1355
 
216
- /* Header enhancements */
217
- .datatable2__header--sticky {
218
- position: sticky;
219
- top: 0;
220
- z-index: 10;
221
- background: var(--background-color, #ffffff);
222
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1356
+ /* Editable field styles - seamlessly integrated */
1357
+ .datatable2__edit-field {
1358
+ width: 100% !important;
1359
+ height: 100% !important;
1360
+ border: none !important;
1361
+ outline: none !important;
1362
+ background: transparent !important;
1363
+ margin: 0 !important;
1364
+ padding: 12px 16px !important;
1365
+ font-size: 0.875rem !important;
1366
+ color: inherit !important;
1367
+ box-shadow: none !important;
1368
+ border-radius: 0 !important;
223
1369
  }
224
1370
 
225
- .datatable2__row-number-header {
226
- width: 60px;
1371
+ .datatable2__edit-field:focus {
1372
+ background: var(--edit-focus-color, rgba(33, 150, 243, 0.1)) !important;
1373
+ }
1374
+
1375
+ /* Special cell types */
1376
+ .datatable2__select-cell,
1377
+ .datatable2__actions-cell {
1378
+ width: 48px;
227
1379
  text-align: center;
228
- background: var(--background-color-light, #f8f9fa);
229
- font-weight: 600;
1380
+ padding: 8px;
230
1381
  }
231
1382
 
232
- /* Row numbers */
233
1383
  .datatable2__row-number {
234
1384
  width: 60px;
235
1385
  text-align: center;
236
- background: var(--background-color-light, #f8f9fa);
237
- font-weight: 500;
238
- color: var(--text-color-light, #666);
239
- border-right: 1px solid var(--divider-color, #e0e0e0);
1386
+ color: var(--text-color-secondary, #666);
1387
+ font-size: 0.75rem;
1388
+ background: var(--surface-color, #f8f9fa);
240
1389
  }
241
1390
 
242
- /* Column resizing - Enhanced visibility */
243
- .resizable-column {
244
- position: relative;
245
- user-select: none;
1391
+ /* Expanded row styles */
1392
+ .datatable2__expanded-row {
1393
+ background: var(--expanded-bg, #f8f9fa);
1394
+ border-bottom: 1px solid var(--divider-color-light, #f0f0f0);
246
1395
  }
247
1396
 
248
- .column-resizer {
249
- position: absolute;
250
- top: 0;
251
- right: -2px;
252
- width: 6px;
253
- height: 100%;
254
- cursor: col-resize;
255
- background: transparent;
256
- transition: all 0.2s ease;
257
- z-index: 10;
258
- border-right: 2px solid transparent;
1397
+ .datatable2__expanded-cell {
1398
+ padding: 0;
1399
+ border-right: none;
1400
+ }
1401
+
1402
+ .datatable2__expanded-content {
1403
+ padding: 16px;
1404
+ border-left: 3px solid var(--primary-color, #2196f3);
1405
+ background: var(--expanded-content-bg, #ffffff);
1406
+ margin: 8px;
1407
+ border-radius: 4px;
1408
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
1409
+ }
1410
+
1411
+ /* Filter row styles */
1412
+ .datatable2__filters-row {
1413
+ background: var(--surface-color, #f8f9fa);
1414
+ border-bottom: 1px solid var(--divider-color, #e0e0e0);
259
1415
  }
260
1416
 
261
- .column-resizer:hover {
262
- background: rgba(33, 150, 243, 0.1);
263
- border-right-color: var(--primary-color, #2196f3);
1417
+ .datatable2__filter-cell {
1418
+ padding: 8px 12px;
264
1419
  }
265
1420
 
266
- .column-resizer:active {
267
- background: rgba(33, 150, 243, 0.2);
268
- border-right-color: var(--primary-color, #2196f3);
1421
+ .datatable2__filter-field {
1422
+ width: 100% !important;
1423
+ height: 32px !important;
1424
+ border: 1px solid var(--divider-color, #e0e0e0) !important;
1425
+ border-radius: 4px !important;
1426
+ padding: 4px 8px !important;
1427
+ font-size: 0.75rem !important;
1428
+ background: white !important;
269
1429
  }
270
1430
 
271
- /* Add resize indicator */
272
- .resizable-column:hover .column-resizer::after {
273
- content: '';
274
- position: absolute;
275
- top: 50%;
276
- right: 1px;
277
- transform: translateY(-50%);
278
- width: 2px;
279
- height: 20px;
280
- background: var(--primary-color, #2196f3);
281
- border-radius: 1px;
1431
+ .datatable2__filter-field:focus {
1432
+ border-color: var(--primary-color, #2196f3) !important;
1433
+ box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.2) !important;
1434
+ }
1435
+
1436
+ .datatable2__filter-actions-cell {
1437
+ text-align: center;
1438
+ padding: 8px;
1439
+ }
1440
+
1441
+ /* Empty state */
1442
+ .datatable2__empty-cell {
1443
+ padding: 48px 24px;
1444
+ text-align: center;
1445
+ }
1446
+
1447
+ .datatable2__empty-state {
1448
+ display: flex;
1449
+ flex-direction: column;
1450
+ align-items: center;
1451
+ gap: 16px;
1452
+ color: var(--text-color-secondary, #666);
1453
+ }
1454
+
1455
+ /* Skeleton loading */
1456
+ .datatable2__skeleton-row {
1457
+ animation: pulse 1.5s ease-in-out infinite;
282
1458
  }
283
1459
 
284
- /* Loading states */
285
- .datatable2--loading {
286
- opacity: 0.7;
287
- pointer-events: none;
1460
+ .datatable2__skeleton-cell {
1461
+ padding: 12px 16px;
288
1462
  }
289
1463
 
290
- .datatable2--skeleton .skeleton-text {
1464
+ .datatable2__skeleton-text {
1465
+ height: 16px;
291
1466
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
292
1467
  background-size: 200% 100%;
293
- animation: skeleton-loading 1.5s infinite;
1468
+ animation: shimmer 1.5s infinite;
294
1469
  border-radius: 4px;
295
- height: 1rem;
296
- margin: 0.25rem 0;
297
1470
  }
298
1471
 
299
- .datatable2--skeleton .skeleton-text--header {
300
- height: 1.2rem;
301
- background: linear-gradient(90deg, #e0e0e0 25%, #d0d0d0 50%, #e0e0e0 75%);
302
- background-size: 200% 100%;
1472
+ .datatable2__skeleton-text--short {
1473
+ width: 60%;
303
1474
  }
304
1475
 
305
- /* Row selection */
306
- .datatable2 tbody tr.selected {
307
- background-color: rgba(33, 150, 243, 0.1);
308
- border-left: 3px solid var(--primary-color, #2196f3);
1476
+ @keyframes shimmer {
1477
+ 0% { background-position: -200% 0; }
1478
+ 100% { background-position: 200% 0; }
1479
+ }
1480
+
1481
+ @keyframes pulse {
1482
+ 0%, 100% { opacity: 1; }
1483
+ 50% { opacity: 0.7; }
309
1484
  }
310
1485
 
311
- .datatable2 tbody tr:hover {
312
- background-color: var(--hover-color, rgba(0, 0, 0, 0.04));
1486
+ /* Search */
1487
+ .datatable2__search {
1488
+ padding: 16px;
1489
+ border-bottom: 1px solid var(--divider-color, #e0e0e0);
1490
+ background: var(--surface-color, #f8f9fa);
313
1491
  }
314
1492
 
315
1493
  /* Footer */
316
1494
  .datatable2__footer {
317
- padding: 1rem;
1495
+ padding: 16px;
318
1496
  border-top: 1px solid var(--divider-color, #e0e0e0);
319
- background: var(--background-color-light, #f8f9fa);
1497
+ background: var(--surface-color, #f8f9fa);
320
1498
  display: flex;
321
- justify-content: space-between;
322
- align-items: center;
1499
+ justify-content: flex-end;
323
1500
  }
324
1501
 
325
- /* Pagination */
326
- .datatable2__pagination {
1502
+ .datatable2__export-btn {
327
1503
  display: flex;
328
- justify-content: center;
329
1504
  align-items: center;
330
- gap: 1rem;
331
- padding: 1rem;
332
- border-top: 1px solid var(--divider-color, #e0e0e0);
333
- }
334
-
335
- .datatable2__pagination button {
336
- padding: 0.5rem 1rem;
337
- border: 1px solid var(--divider-color, #e0e0e0);
338
- background: white;
339
- color: var(--text-color, #333);
1505
+ gap: 8px;
1506
+ padding: 8px 16px;
1507
+ border: 1px solid var(--primary-color, #2196f3);
1508
+ background: transparent;
1509
+ color: var(--primary-color, #2196f3);
340
1510
  border-radius: 4px;
341
1511
  cursor: pointer;
1512
+ font-size: 0.875rem;
342
1513
  transition: all 0.2s ease;
343
1514
  }
344
1515
 
345
- .datatable2__pagination button:hover:not(:disabled) {
1516
+ .datatable2__export-btn:hover {
346
1517
  background: var(--primary-color, #2196f3);
347
1518
  color: white;
348
- border-color: var(--primary-color, #2196f3);
349
1519
  }
350
1520
 
351
- .datatable2__pagination button:disabled {
352
- opacity: 0.6;
353
- cursor: not-allowed;
1521
+ /* Size variants */
1522
+ .datatable2--small .datatable2__cell,
1523
+ .datatable2--small .datatable2__header-cell {
1524
+ padding: 8px 12px;
1525
+ font-size: 0.75rem;
354
1526
  }
355
1527
 
356
- /* Enhanced cell viewers */
357
- .image-cell {
358
- display: flex;
359
- align-items: center;
360
- gap: 0.5rem;
1528
+ .datatable2--large .datatable2__cell,
1529
+ .datatable2--large .datatable2__header-cell {
1530
+ padding: 16px 20px;
1531
+ font-size: 1rem;
361
1532
  }
362
1533
 
363
- .image-cell img {
364
- width: 32px;
1534
+ /* Density variants */
1535
+ .datatable2--compact .datatable2__cell,
1536
+ .datatable2--compact .datatable2__header-cell {
1537
+ padding: 6px 12px;
365
1538
  height: 32px;
366
- border-radius: 50%;
367
- object-fit: cover;
368
1539
  }
369
1540
 
370
- .entity-cell {
371
- padding: 0.25rem 0.5rem;
1541
+ .datatable2--compact .datatable2__edit-field {
1542
+ padding: 6px 12px !important;
1543
+ height: 32px !important;
372
1544
  }
373
1545
 
374
- .field-editor {
375
- width: 100%;
1546
+ .datatable2--comfortable .datatable2__cell,
1547
+ .datatable2--comfortable .datatable2__header-cell {
1548
+ padding: 16px 20px;
1549
+ height: 56px;
376
1550
  }
377
1551
 
378
- .string-viewer {
379
- max-width: 200px;
380
- overflow: hidden;
381
- text-overflow: ellipsis;
382
- white-space: nowrap;
1552
+ .datatable2--comfortable .datatable2__edit-field {
1553
+ padding: 16px 20px !important;
1554
+ height: 56px !important;
383
1555
  }
384
1556
 
385
- /* Responsive design */
386
- .datatable2--responsive {
387
- overflow-x: auto;
1557
+ /* Style variants */
1558
+ .datatable2--striped .datatable2__row:nth-child(even) {
1559
+ background: var(--stripe-color, rgba(0, 0, 0, 0.02));
388
1560
  }
389
1561
 
390
- @media (max-width: 768px) {
391
- .datatable2--responsive table {
392
- min-width: 600px;
393
- }
394
-
395
- .datatable2__search {
396
- padding: 0.75rem;
397
- }
398
-
399
- .datatable2__toolbar {
400
- padding: 0.5rem 0.75rem;
401
- flex-direction: column;
402
- gap: 0.5rem;
403
- }
404
-
405
- .datatable2__export-btn {
406
- width: 100%;
407
- justify-content: center;
408
- }
409
-
410
- .datatable2__row-number {
411
- width: 40px;
412
- }
413
-
414
- .datatable2__row-number-header {
415
- width: 40px;
416
- }
417
-
418
- .datatable2--small th,
419
- .datatable2--small td,
420
- .datatable2--medium th,
421
- .datatable2--medium td,
422
- .datatable2--large th,
423
- .datatable2--large td {
424
- padding: 0.375rem 0.5rem;
425
- font-size: 0.8rem;
426
- }
1562
+ .datatable2--bordered {
1563
+ border: 1px solid var(--divider-color, #e0e0e0);
427
1564
  }
428
1565
 
429
- /* Animations */
430
- @keyframes skeleton-loading {
431
- 0% {
432
- background-position: 200% 0;
433
- }
434
- 100% {
435
- background-position: -200% 0;
436
- }
1566
+ .datatable2--bordered .datatable2__cell,
1567
+ .datatable2--bordered .datatable2__header-cell {
1568
+ border: 1px solid var(--divider-color, #e0e0e0);
437
1569
  }
438
1570
 
439
- /* Dark theme support */
440
- @media (prefers-color-scheme: dark) {
441
- .datatable2 {
442
- background: var(--background-color-dark, #303030);
443
- color: var(--text-color-dark, #ffffff);
444
- }
445
-
446
- .datatable2__search,
447
- .datatable2__toolbar,
448
- .datatable2__footer {
449
- background: var(--background-color-light-dark, #424242);
450
- border-color: var(--divider-color-dark, #616161);
451
- }
452
-
453
- .datatable2--striped tbody tr:nth-child(even) {
454
- background-color: var(--background-color-light-dark, #424242);
455
- }
456
-
457
- .datatable2__header--sticky {
458
- background: var(--background-color-dark, #303030);
459
- }
460
-
461
- .datatable2__row-number,
462
- .datatable2__row-number-header {
463
- background: var(--background-color-light-dark, #424242);
464
- color: var(--text-color-light-dark, #cccccc);
465
- border-color: var(--divider-color-dark, #616161);
466
- }
467
-
468
- .datatable2 tbody tr:hover {
469
- background-color: var(--hover-color-dark, rgba(255, 255, 255, 0.08));
470
- }
471
-
472
- .datatable2 tbody tr.selected {
473
- background-color: rgba(100, 181, 246, 0.2);
474
- border-left-color: var(--primary-color-dark, #64b5f6);
475
- }
476
-
477
- .datatable2--skeleton .skeleton-text {
478
- background: linear-gradient(90deg, #424242 25%, #616161 50%, #424242 75%);
479
- background-size: 200% 100%;
480
- }
481
-
482
- .datatable2--skeleton .skeleton-text--header {
483
- background: linear-gradient(90deg, #616161 25%, #757575 50%, #616161 75%);
484
- background-size: 200% 100%;
485
- }
486
-
487
- .datatable2__pagination button {
488
- background: var(--background-color-dark, #303030);
489
- color: var(--text-color-dark, #ffffff);
490
- border-color: var(--divider-color-dark, #616161);
491
- }
492
-
493
- .datatable2__export-btn {
494
- border-color: var(--primary-color-dark, #64b5f6);
495
- color: var(--primary-color-dark, #64b5f6);
496
- }
497
-
498
- .datatable2__export-btn:hover:not(:disabled) {
499
- background: var(--primary-color-dark, #64b5f6);
500
- color: var(--text-color-dark, #000);
501
- }
1571
+ .datatable2--no-hover .datatable2__row:hover {
1572
+ background: transparent;
502
1573
  }
503
1574
 
504
- /* High contrast mode */
505
- @media (prefers-contrast: high) {
506
- .datatable2 {
507
- border: 2px solid currentColor;
508
- }
509
-
510
- .datatable2--bordered th,
511
- .datatable2--bordered td {
512
- border-width: 2px;
513
- }
514
-
515
- .datatable2 tbody tr.selected {
516
- outline: 3px solid var(--primary-color, #2196f3);
517
- outline-offset: -3px;
518
- }
519
-
520
- .datatable2__export-btn {
521
- border-width: 2px;
522
- font-weight: 600;
523
- }
1575
+ /* Theme variants */
1576
+ .datatable2--minimal {
1577
+ box-shadow: none;
1578
+ border: 1px solid var(--divider-color-light, #f0f0f0);
1579
+ background: transparent;
524
1580
  }
525
1581
 
526
- /* Reduced motion */
527
- @media (prefers-reduced-motion: reduce) {
528
- .datatable2,
529
- .datatable2__export-btn,
530
- .datatable2__pagination button,
531
- .column-resizer {
532
- transition: none;
533
- }
534
-
535
- .datatable2--skeleton .skeleton-text,
536
- .datatable2--skeleton .skeleton-text--header {
537
- animation: none;
538
- background: #e0e0e0;
539
- }
1582
+ .datatable2--dark {
1583
+ background: #2c1810;
1584
+ color: #f4e6d7;
1585
+ border-color: #5d4037;
540
1586
  }
541
1587
 
542
- /* Print styles */
543
- @media print {
544
- .datatable2 {
545
- break-inside: avoid;
546
- box-shadow: none !important;
547
- border: 1px solid black !important;
548
- }
549
-
550
- .datatable2__search,
551
- .datatable2__toolbar,
552
- .datatable2__footer,
553
- .datatable2__pagination {
554
- display: none !important;
555
- }
556
-
557
- .datatable2 th,
558
- .datatable2 td {
559
- border: 1px solid black !important;
560
- background: white !important;
561
- color: black !important;
562
- }
563
-
564
- .datatable2 tbody tr:hover {
565
- background: white !important;
566
- }
567
-
568
- .datatable2 tbody tr.selected {
569
- background: #f0f0f0 !important;
570
- border-left: none !important;
1588
+ .datatable2--dark .datatable2__header {
1589
+ background: #3e2723;
1590
+ color: #f4e6d7;
1591
+ border-color: #5d4037;
1592
+ }
1593
+
1594
+ .datatable2--dark .datatable2__cell,
1595
+ .datatable2--dark .datatable2__header-cell {
1596
+ border-color: #5d4037;
1597
+ color: #f4e6d7;
1598
+ }
1599
+
1600
+ .datatable2--dark .datatable2__row:hover {
1601
+ background: #3e2723;
1602
+ }
1603
+
1604
+ .datatable2--dark .datatable2__row--selected {
1605
+ background: #4e342e;
1606
+ border-left-color: #8d6e63;
1607
+ }
1608
+
1609
+ .datatable2--dark .datatable2__edit-field {
1610
+ color: #f4e6d7 !important;
1611
+ }
1612
+
1613
+ .datatable2--dark .datatable2__filter-field {
1614
+ background: #3e2723 !important;
1615
+ border-color: #5d4037 !important;
1616
+ color: #f4e6d7 !important;
1617
+ }
1618
+
1619
+ .datatable2--dark .datatable2__expanded-row {
1620
+ background: #3a251a;
1621
+ }
1622
+
1623
+ .datatable2--dark .datatable2__expanded-content {
1624
+ background: #2c1810;
1625
+ border-left-color: #8d6e63;
1626
+ color: #f4e6d7;
1627
+ }
1628
+
1629
+ /* Responsive */
1630
+ @media (max-width: 768px) {
1631
+ .datatable2__table-container {
1632
+ overflow-x: auto;
571
1633
  }
572
1634
 
573
- .column-resizer {
574
- display: none !important;
1635
+ .datatable2__cell,
1636
+ .datatable2__header-cell {
1637
+ min-width: 120px;
1638
+ white-space: nowrap;
575
1639
  }
576
1640
  }