@rowakit/table 0.2.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -15
- package/dist/index.cjs +675 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +22 -5
- package/dist/index.d.ts +22 -5
- package/dist/index.js +676 -13
- package/dist/index.js.map +1 -1
- package/package.json +5 -1
- package/src/styles/table.css +154 -1
package/src/styles/table.css
CHANGED
|
@@ -28,6 +28,11 @@
|
|
|
28
28
|
background-color: var(--rowakit-table-bg);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
/* PRD-03: Fixed layout mode for resizable columns */
|
|
32
|
+
.rowakit-table.rowakit-layout-fixed table {
|
|
33
|
+
table-layout: fixed;
|
|
34
|
+
}
|
|
35
|
+
|
|
31
36
|
/* ============================================================================
|
|
32
37
|
* TABLE HEADER
|
|
33
38
|
* ============================================================================ */
|
|
@@ -298,7 +303,6 @@
|
|
|
298
303
|
* ============================================================================ */
|
|
299
304
|
|
|
300
305
|
.rowakit-cell-truncate {
|
|
301
|
-
max-width: 0;
|
|
302
306
|
overflow: hidden;
|
|
303
307
|
text-overflow: ellipsis;
|
|
304
308
|
white-space: nowrap;
|
|
@@ -421,3 +425,152 @@
|
|
|
421
425
|
flex: 1;
|
|
422
426
|
min-width: 0;
|
|
423
427
|
}
|
|
428
|
+
|
|
429
|
+
/* Stage C: Number range filter */
|
|
430
|
+
.rowakit-filter-number-range {
|
|
431
|
+
display: flex;
|
|
432
|
+
gap: var(--rowakit-spacing-xs);
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
.rowakit-filter-number-range input {
|
|
436
|
+
flex: 1;
|
|
437
|
+
min-width: 0;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
/* Stage C: Column resizing handle */
|
|
441
|
+
.rowakit-column-resize-handle {
|
|
442
|
+
position: absolute;
|
|
443
|
+
right: -6px;
|
|
444
|
+
top: 0;
|
|
445
|
+
bottom: 0;
|
|
446
|
+
width: 12px;
|
|
447
|
+
z-index: 2;
|
|
448
|
+
cursor: col-resize;
|
|
449
|
+
background: transparent;
|
|
450
|
+
opacity: 0;
|
|
451
|
+
transition: opacity 0.15s ease;
|
|
452
|
+
user-select: none;
|
|
453
|
+
touch-action: none;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.rowakit-column-resize-handle::before {
|
|
457
|
+
content: "";
|
|
458
|
+
position: absolute;
|
|
459
|
+
left: 50%;
|
|
460
|
+
top: 20%;
|
|
461
|
+
bottom: 20%;
|
|
462
|
+
width: 1px;
|
|
463
|
+
transform: translateX(-50%);
|
|
464
|
+
background: var(--rowakit-color-primary-500);
|
|
465
|
+
opacity: 0.6;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.rowakit-table thead th:hover .rowakit-column-resize-handle {
|
|
469
|
+
opacity: 1;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
.rowakit-table thead th.resizing .rowakit-column-resize-handle {
|
|
473
|
+
opacity: 1;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.rowakit-table thead th.resizing .rowakit-column-resize-handle::before {
|
|
477
|
+
background: var(--rowakit-color-primary-600);
|
|
478
|
+
opacity: 1;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/* Prevent text selection during resize */
|
|
482
|
+
.rowakit-resizing,
|
|
483
|
+
.rowakit-resizing * {
|
|
484
|
+
user-select: none !important;
|
|
485
|
+
cursor: col-resize !important;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/* Stage C: Saved views button group */
|
|
489
|
+
.rowakit-saved-views-group {
|
|
490
|
+
display: flex;
|
|
491
|
+
gap: var(--rowakit-spacing-sm);
|
|
492
|
+
margin-bottom: var(--rowakit-spacing-sm);
|
|
493
|
+
flex-wrap: wrap;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
.rowakit-saved-view-button {
|
|
497
|
+
padding: var(--rowakit-spacing-xs) var(--rowakit-spacing-sm);
|
|
498
|
+
font-size: var(--rowakit-font-size-xs);
|
|
499
|
+
background-color: var(--rowakit-color-gray-100);
|
|
500
|
+
border: 1px solid var(--rowakit-color-gray-300);
|
|
501
|
+
border-radius: var(--rowakit-border-radius);
|
|
502
|
+
cursor: pointer;
|
|
503
|
+
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.rowakit-saved-view-button:hover {
|
|
507
|
+
background-color: var(--rowakit-color-gray-200);
|
|
508
|
+
border-color: var(--rowakit-color-gray-400);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
.rowakit-saved-view-button.active {
|
|
512
|
+
background-color: var(--rowakit-color-primary-100);
|
|
513
|
+
border-color: var(--rowakit-color-primary-500);
|
|
514
|
+
color: var(--rowakit-color-primary-700);
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
.rowakit-saved-view-item {
|
|
518
|
+
display: flex;
|
|
519
|
+
gap: 4px;
|
|
520
|
+
align-items: center;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
.rowakit-saved-view-button-delete {
|
|
524
|
+
padding: 2px 6px;
|
|
525
|
+
font-size: 12px;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
/* PRD-04: Save view form styles */
|
|
529
|
+
.rowakit-save-view-form {
|
|
530
|
+
display: flex;
|
|
531
|
+
gap: var(--rowakit-spacing-xs);
|
|
532
|
+
align-items: flex-start;
|
|
533
|
+
padding: var(--rowakit-spacing-xs);
|
|
534
|
+
background-color: var(--rowakit-color-gray-50);
|
|
535
|
+
border: 1px solid var(--rowakit-color-gray-200);
|
|
536
|
+
border-radius: var(--rowakit-border-radius);
|
|
537
|
+
flex-wrap: wrap;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
.rowakit-save-view-input {
|
|
541
|
+
padding: var(--rowakit-spacing-xs) var(--rowakit-spacing-sm);
|
|
542
|
+
font-size: var(--rowakit-font-size-xs);
|
|
543
|
+
border: 1px solid var(--rowakit-color-gray-300);
|
|
544
|
+
border-radius: var(--rowakit-border-radius);
|
|
545
|
+
min-width: 150px;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
.rowakit-save-view-input:focus {
|
|
549
|
+
outline: 2px solid var(--rowakit-color-primary-500);
|
|
550
|
+
outline-offset: -1px;
|
|
551
|
+
border-color: var(--rowakit-color-primary-500);
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
.rowakit-save-view-error {
|
|
555
|
+
color: var(--rowakit-color-error-500);
|
|
556
|
+
font-size: var(--rowakit-font-size-xs);
|
|
557
|
+
padding: 0 var(--rowakit-spacing-xs);
|
|
558
|
+
flex: 0 0 100%;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.rowakit-save-view-confirm {
|
|
562
|
+
display: flex;
|
|
563
|
+
gap: var(--rowakit-spacing-xs);
|
|
564
|
+
align-items: center;
|
|
565
|
+
padding: var(--rowakit-spacing-sm);
|
|
566
|
+
background-color: var(--rowakit-color-yellow-50);
|
|
567
|
+
border: 1px solid var(--rowakit-color-yellow-200);
|
|
568
|
+
border-radius: var(--rowakit-border-radius);
|
|
569
|
+
flex: 0 0 100%;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
.rowakit-save-view-confirm p {
|
|
573
|
+
font-size: var(--rowakit-font-size-xs);
|
|
574
|
+
margin: 0;
|
|
575
|
+
flex: 1;
|
|
576
|
+
}
|