@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.
@@ -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
+ }