wenay-react2 1.0.37 → 1.0.39

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 (34) hide show
  1. package/README.md +2 -0
  2. package/lib/common/src/components/Input.d.ts +25 -6
  3. package/lib/common/src/components/Input.js +27 -8
  4. package/lib/common/src/components/Modal/ModalContextProvider.js +1 -1
  5. package/lib/common/src/components/Settings/SettingsDialog.d.ts +12 -2
  6. package/lib/common/src/components/Settings/SettingsDialog.js +412 -16
  7. package/lib/common/src/components/Toolbar/Toolbar.d.ts +21 -2
  8. package/lib/common/src/components/Toolbar/Toolbar.js +84 -14
  9. package/lib/common/src/grid/columnState/CardList.js +5 -2
  10. package/lib/common/src/grid/columnState/ColumnDots.d.ts +1 -1
  11. package/lib/common/src/grid/columnState/ColumnDots.js +9 -19
  12. package/lib/common/src/grid/columnState/ColumnsMenu.js +10 -18
  13. package/lib/common/src/grid/columnState/columnState.d.ts +4 -0
  14. package/lib/common/src/grid/columnState/columnState.js +39 -14
  15. package/lib/common/src/hooks/useReplay.d.ts +54 -0
  16. package/lib/common/src/hooks/useReplay.js +222 -0
  17. package/lib/common/src/logs/logStyles.d.ts +13 -0
  18. package/lib/common/src/logs/logStyles.js +18 -0
  19. package/lib/common/src/logs/logs.js +5 -7
  20. package/lib/common/src/logs/logsContext.js +22 -26
  21. package/lib/common/src/menu/menu.d.ts +2 -1
  22. package/lib/common/src/menu/menu.js +28 -21
  23. package/lib/common/src/menu/menuMouse.d.ts +17 -0
  24. package/lib/common/src/menu/menuMouse.js +70 -3
  25. package/lib/common/src/styles/tokens.d.ts +92 -1
  26. package/lib/common/src/styles/tokens.js +92 -1
  27. package/lib/common/src/utils/index.d.ts +1 -0
  28. package/lib/common/src/utils/index.js +1 -0
  29. package/lib/common/src/utils/searchHistory.d.ts +14 -0
  30. package/lib/common/src/utils/searchHistory.js +59 -0
  31. package/lib/style/menuRight.css +2 -2
  32. package/lib/style/style.css +634 -53
  33. package/lib/style/tokens.css +90 -4
  34. package/package.json +2 -2
@@ -186,12 +186,29 @@ input:invalid {
186
186
  display: block;
187
187
  padding: 8px 10px;
188
188
  }
189
- .toButtonA:hover {
190
- /* border-color: #ffffff; */
191
- color: #ffffff;
192
- }
193
- .toButtonEasy:hover {
194
- color: var(--color-text-theme);
189
+ .toButtonA:hover {
190
+ color: var(--base-color-hover);
191
+ }
192
+ .toButtonEasy:hover {
193
+ color: var(--color-text-theme);
194
+ }
195
+
196
+ /* Mouse context menu items (Menu/MenuR). Keep legacy class names, but route
197
+ menu-specific colors through the shared --menu-* token contract. */
198
+ .MenuR.toButton,
199
+ .MenuR.toButtonA {
200
+ color: var(--menu-item-color);
201
+ border-bottom: var(--menu-border);
202
+ }
203
+ .MenuR.toButtonA {
204
+ background: var(--menu-active-background);
205
+ }
206
+ .MenuR.toButton:hover,
207
+ .MenuR.toButton:active,
208
+ .MenuR.toButtonA:hover {
209
+ background: var(--menu-item-hover-bg-color);
210
+ color: var(--menu-item-hover-color);
211
+ border-bottom: var(--menu-border);
195
212
  }
196
213
 
197
214
  /* Menu indicator elements */
@@ -386,54 +403,601 @@ body {
386
403
  right: var(--wnd-close-right, -12px);
387
404
  }
388
405
 
389
- /* Settings dialog (SettingsDialog). Themed via --dlg-* (tokens.css), dark defaults. */
390
- .wenayDlgScrim {
391
- position: fixed;
392
- inset: 0;
393
- z-index: var(--wenay-z-modal, 9999);
394
- background: var(--dlg-scrim, rgba(0, 0, 0, 0.5));
395
- display: flex;
396
- align-items: center;
397
- justify-content: center;
398
- }
399
- .wenayDlg {
400
- position: relative;
401
- display: flex;
402
- width: 640px;
403
- height: 420px;
404
- max-width: 92vw;
405
- max-height: 82vh;
406
- background: var(--dlg-bg, var(--color-bg-dark));
407
- border: var(--dlg-border, 1px solid var(--color-border-common));
408
- border-radius: var(--dlg-radius, 10px);
409
- box-shadow: var(--dlg-shadow, 0 12px 40px rgba(0, 0, 0, 0.5));
410
- color: var(--color-text-base);
411
- overflow: hidden;
412
- }
413
- .wenayDlgNav {
414
- width: var(--dlg-nav-width, 168px);
415
- flex: none;
416
- background: var(--dlg-nav-bg, var(--color-bg-light));
417
- padding: 10px 8px;
418
- display: flex;
419
- flex-direction: column;
420
- gap: 4px;
421
- overflow-y: auto;
422
- }
423
- .wenayDlgContent {
424
- position: relative;
425
- flex: 1;
426
- min-width: 0;
427
- padding: 14px 40px 14px 16px;
428
- overflow: auto;
429
- }
430
- /* Positioning of the close button in the dialog's top-right corner (over the content column).
431
- A direct child of .wenayDlg, NOT of the scrollable content, so it does not scroll away. */
432
- .wenayDlgClose {
433
- position: absolute;
434
- top: 8px;
435
- right: 8px;
406
+ /* Settings dialog (SettingsDialog). Themed via --dlg-* (tokens.css), dark defaults. */
407
+ .wenayDlgScrim {
408
+ position: fixed;
409
+ inset: 0;
410
+ z-index: var(--wenay-z-modal, 9999);
411
+ background: var(--dlg-scrim, rgba(0, 0, 0, 0.5));
412
+ }
413
+ .wenayDlgOutside {
414
+ position: absolute;
415
+ top: 50%;
416
+ left: 50%;
417
+ }
418
+ .wenayDlgWindow {
419
+ --wnd-bg: var(--dlg-bg, var(--color-bg-dark));
420
+ --wnd-border: var(--dlg-border, 1px solid var(--color-border-common));
421
+ --wnd-radius: var(--dlg-radius, 10px);
422
+ --wnd-shadow: var(--dlg-shadow, 0 12px 40px rgba(0, 0, 0, 0.5));
423
+ --wnd-header-bg: var(--dlg-nav-bg, var(--color-bg-light));
424
+ --wnd-header-border: 1px solid rgba(255, 255, 255, 0.08);
425
+ --wnd-header-padding: 0;
426
+ --wnd-close-size: 24px;
427
+ --wnd-close-top: 6px;
428
+ --wnd-close-right: 8px;
429
+ --wnd-close-bg: transparent;
430
+ --wnd-close-border: 1px solid transparent;
431
+ --wnd-close-shadow: none;
432
+ max-width: 92vw;
433
+ max-height: 82vh;
434
+ }
435
+ .wenayDlgWindow .wenayWnd {
436
+ color: var(--color-text-base);
437
+ overflow: hidden;
438
+ }
439
+ .wenayDlgWindow .wenayWndHeader {
440
+ cursor: grab;
441
+ }
442
+ .wenayDlgWindow .wenayWndHeader:active {
443
+ cursor: grabbing;
444
+ }
445
+ .wenayDlgHeader {
446
+ height: 36px;
447
+ box-sizing: border-box;
448
+ display: flex;
449
+ align-items: center;
450
+ padding: 0 44px 0 14px;
451
+ font-size: 13px;
452
+ font-weight: 600;
453
+ color: var(--color-text-base);
454
+ }
455
+ .wenayDlgTriggerBar {
456
+ --tb-bg: var(--dlg-nav-bg, var(--color-bg-light));
457
+ padding: 2px;
458
+ vertical-align: middle;
459
+ }
460
+ .wenayDlgTriggerItem {
461
+ width: 24px;
462
+ height: 24px;
463
+ justify-content: center;
464
+ padding: 0;
465
+ }
466
+ .wenayDlg {
467
+ display: flex;
468
+ width: 100%;
469
+ height: 100%;
470
+ min-width: 0;
471
+ min-height: 0;
472
+ background: var(--dlg-bg, var(--color-bg-dark));
473
+ color: var(--color-text-base);
474
+ overflow: hidden;
475
+ }
476
+ .wenayDlgNav {
477
+ width: var(--dlg-nav-width, 220px);
478
+ flex: none;
479
+ min-width: 0;
480
+ background: var(--dlg-nav-bg, var(--color-bg-light));
481
+ padding: 8px 6px;
482
+ display: flex;
483
+ flex-direction: column;
484
+ gap: 5px;
485
+ overflow: hidden;
486
+ }
487
+ .wenayDlgNavTop {
488
+ position: relative;
489
+ flex: none;
490
+ display: flex;
491
+ align-items: center;
492
+ gap: 4px;
493
+ }
494
+ .wenayDlgSearchBox {
495
+ position: relative;
496
+ flex: 1;
497
+ min-width: 0;
498
+ }
499
+ .wenayDlgSearch {
500
+ width: 100%;
501
+ box-sizing: border-box;
502
+ height: 24px;
503
+ padding: 3px 44px 3px 7px;
504
+ border-radius: 6px;
505
+ border: 1px solid rgba(255, 255, 255, 0.14);
506
+ background: rgba(0, 0, 0, 0.16);
507
+ color: inherit;
508
+ outline: none;
509
+ }
510
+ .wenayDlgSearchHistoryBtn,
511
+ .wenayDlgSearchClear {
512
+ position: absolute;
513
+ top: 50%;
514
+ transform: translateY(-50%);
515
+ width: 18px;
516
+ height: 18px;
517
+ display: inline-flex;
518
+ align-items: center;
519
+ justify-content: center;
520
+ padding: 0;
521
+ border: 0;
522
+ border-radius: 4px;
523
+ background: transparent;
524
+ color: rgba(255, 255, 255, 0.68);
525
+ cursor: pointer;
526
+ }
527
+ .wenayDlgSearchHistoryBtn {
528
+ right: 22px;
529
+ }
530
+ .wenayDlgSearchClear {
531
+ right: 4px;
532
+ }
533
+ .wenayDlgSearchHistoryBtn svg {
534
+ fill: none;
535
+ stroke: currentColor;
536
+ stroke-width: 1.5;
537
+ stroke-linecap: round;
538
+ stroke-linejoin: round;
539
+ }
540
+ .wenayDlgSearchHistoryBtn:hover,
541
+ .wenayDlgSearchHistoryBtn:focus-visible,
542
+ .wenayDlgSearchClear:hover,
543
+ .wenayDlgSearchClear:focus-visible {
544
+ background: rgba(255, 255, 255, 0.1);
545
+ color: #fff;
546
+ outline: none;
547
+ }
548
+ .wenayDlgSearch:focus {
549
+ border-color: #0969da;
550
+ box-shadow: 0 0 0 1px rgba(9, 105, 218, 0.35);
551
+ }
552
+ .wenayDlgSearchHistory {
553
+ position: absolute;
554
+ z-index: 3;
555
+ top: calc(100% + 4px);
556
+ left: 0;
557
+ right: 0;
558
+ max-height: 180px;
559
+ overflow: auto;
560
+ padding: 4px;
561
+ border: 1px solid rgba(255, 255, 255, 0.14);
562
+ border-radius: 6px;
563
+ background: var(--dlg-bg, var(--color-bg-dark));
564
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32);
565
+ }
566
+ .wenayDlgSearchHistoryItem,
567
+ .wenayDlgSearchHistoryClear {
568
+ width: 100%;
569
+ min-height: 24px;
570
+ box-sizing: border-box;
571
+ display: block;
572
+ padding: 4px 7px;
573
+ border: 0;
574
+ border-radius: 4px;
575
+ background: transparent;
576
+ color: inherit;
577
+ text-align: left;
578
+ overflow: hidden;
579
+ text-overflow: ellipsis;
580
+ white-space: nowrap;
581
+ cursor: pointer;
582
+ }
583
+ .wenayDlgSearchHistoryClear {
584
+ margin-top: 3px;
585
+ color: rgba(255, 255, 255, 0.58);
586
+ }
587
+ .wenayDlgSearchHistoryItem:hover,
588
+ .wenayDlgSearchHistoryItem:focus-visible,
589
+ .wenayDlgSearchHistoryClear:hover,
590
+ .wenayDlgSearchHistoryClear:focus-visible {
591
+ background: rgba(255, 255, 255, 0.09);
592
+ color: #fff;
593
+ outline: none;
594
+ }
595
+ .wenayDlgTreeTool {
596
+ width: 22px;
597
+ height: 24px;
598
+ flex: none;
599
+ display: inline-flex;
600
+ align-items: center;
601
+ justify-content: center;
602
+ padding: 0;
603
+ border: 1px solid transparent;
604
+ border-radius: 5px;
605
+ background: transparent;
606
+ color: rgba(255, 255, 255, 0.72);
607
+ cursor: pointer;
608
+ }
609
+ .wenayDlgTreeTool:hover,
610
+ .wenayDlgTreeTool:focus-visible {
611
+ background: rgba(255, 255, 255, 0.08);
612
+ color: #fff;
613
+ outline: none;
614
+ }
615
+ .wenayDlgTreeToolDots {
616
+ width: 12px;
617
+ height: 14px;
618
+ display: grid;
619
+ grid-template-rows: repeat(3, 1fr);
620
+ align-items: center;
621
+ justify-items: center;
622
+ }
623
+ .wenayDlgTreeToolDots span {
624
+ width: 3px;
625
+ height: 3px;
626
+ border-radius: 50%;
627
+ background: currentColor;
628
+ opacity: 0.36;
629
+ }
630
+ .wenayDlgTreeTool_expanded .wenayDlgTreeToolDots span,
631
+ .wenayDlgTreeTool_branch .wenayDlgTreeToolDots span:nth-child(-n+2),
632
+ .wenayDlgTreeTool_collapsed .wenayDlgTreeToolDots span:first-child {
633
+ opacity: 1;
634
+ }
635
+ .wenayDlgTree {
636
+ flex: 1;
637
+ min-height: 0;
638
+ display: flex;
639
+ flex-direction: column;
640
+ gap: 1px;
641
+ overflow: auto;
642
+ }
643
+ .wenayDlgTreeRow {
644
+ display: flex;
645
+ align-items: center;
646
+ gap: 3px;
647
+ min-height: 22px;
648
+ box-sizing: border-box;
649
+ outline: none;
650
+ }
651
+ .wenayDlgTreeRow.wenayDlgSection {
652
+ padding: 2px 5px;
653
+ }
654
+ .wenayDlgTreeRow:focus-visible {
655
+ box-shadow: 0 0 0 1px rgba(9, 105, 218, 0.65) inset;
656
+ }
657
+ .wenayDlgTreeToggle {
658
+ position: relative;
659
+ width: 14px;
660
+ height: 16px;
661
+ flex: none;
662
+ padding: 0;
663
+ border: 0;
664
+ border-radius: 4px;
665
+ background: transparent;
666
+ color: inherit;
667
+ cursor: pointer;
668
+ opacity: 0.75;
669
+ }
670
+ .wenayDlgTreeToggle:hover {
671
+ background: rgba(255, 255, 255, 0.08);
672
+ opacity: 1;
673
+ }
674
+ .wenayDlgTreeToggle::before {
675
+ content: "";
676
+ position: absolute;
677
+ left: 5px;
678
+ top: 4px;
679
+ width: 0;
680
+ height: 0;
681
+ border-top: 3px solid transparent;
682
+ border-bottom: 3px solid transparent;
683
+ border-left: 4px solid currentColor;
684
+ transform-origin: 2px 3px;
685
+ transition: transform 120ms ease;
686
+ }
687
+ .wenayDlgTreeToggleOpen::before {
688
+ transform: rotate(90deg);
689
+ }
690
+ .wenayDlgTreeToggleEmpty {
691
+ visibility: hidden;
692
+ pointer-events: none;
693
+ }
694
+ .wenayDlgTreeLabel {
695
+ flex: 1;
696
+ min-width: 0;
697
+ overflow: hidden;
698
+ text-overflow: ellipsis;
699
+ white-space: nowrap;
700
+ }
701
+ .wenayDlgTreeMark {
702
+ border-radius: 3px;
703
+ padding: 0 1px;
704
+ background: rgba(255, 212, 0, 0.34);
705
+ color: inherit;
706
+ font-weight: 700;
707
+ }
708
+ .wenayDlgNoResults {
709
+ padding: 8px 10px;
710
+ color: rgba(255, 255, 255, 0.62);
711
+ font-size: 12px;
712
+ }
713
+ .wenayDlg_resizing {
714
+ cursor: col-resize;
715
+ user-select: none;
716
+ }
717
+ .wenayDlgDivider {
718
+ position: relative;
719
+ width: 7px;
720
+ flex: none;
721
+ cursor: col-resize;
722
+ touch-action: none;
723
+ background: transparent;
724
+ }
725
+ .wenayDlgDivider span {
726
+ position: absolute;
727
+ top: 8px;
728
+ bottom: 8px;
729
+ left: 3px;
730
+ width: 1px;
731
+ background: rgba(255, 255, 255, 0.12);
732
+ }
733
+ .wenayDlgDivider:hover span,
734
+ .wenayDlgDivider:focus-visible span {
735
+ background: #0969da;
736
+ }
737
+ .wenayDlgDivider:focus-visible {
738
+ outline: none;
739
+ }
740
+ .wenayDlgContent {
741
+ position: relative;
742
+ flex: 1;
743
+ min-width: 0;
744
+ padding: 14px 40px 14px 16px;
745
+ overflow: auto;
746
+ }
747
+
748
+ /* Column state compact menu (ColumnsMenu/MenuStrip). Visual defaults moved from
749
+ component inline styles; runtime drag transforms remain inline. */
750
+ .wenayColsMenu,
751
+ .wenayColsMenuList {
752
+ display: flex;
753
+ align-items: center;
754
+ gap: var(--cols-menu-gap, 6px);
755
+ flex-wrap: wrap;
756
+ }
757
+ .wenayColsMenu {
758
+ user-select: none;
759
+ }
760
+ .wenayColsMenuBtn {
761
+ position: relative;
762
+ display: flex;
763
+ align-items: center;
764
+ gap: var(--cols-menu-btn-gap, 4px);
765
+ padding: var(--cols-menu-btn-padding, 3px 9px);
766
+ border-radius: var(--cols-menu-btn-radius, 6px);
767
+ font-size: var(--cols-menu-btn-font-size, 12px);
768
+ line-height: var(--cols-menu-btn-line-height, 16px);
769
+ white-space: nowrap;
770
+ cursor: pointer;
771
+ }
772
+ .wenayColsMenuBtn_on {
773
+ border: var(--cols-menu-on-border, 1px solid #24292f);
774
+ background: var(--cols-menu-on-bg, #24292f);
775
+ color: var(--cols-menu-on-color, #fff);
776
+ }
777
+ .wenayColsMenuBtn_off {
778
+ border: var(--cols-menu-off-border, 1px solid #d0d7de);
779
+ background: var(--cols-menu-off-bg, #fff);
780
+ color: var(--cols-menu-off-color, #8c959f);
781
+ text-decoration: line-through;
782
+ }
783
+ .wenayColsMenuBtn_disabled {
784
+ border: var(--cols-menu-disabled-border, 1px dashed #d0d7de);
785
+ background: var(--cols-menu-disabled-bg, #f6f8fa);
786
+ color: var(--cols-menu-disabled-color, #c4ccd4);
787
+ cursor: default;
788
+ }
789
+ .wenayColsMenuBtn_fixed {
790
+ box-shadow: var(--cols-menu-fixed-shadow, 0 0 0 2px #eaeef2);
791
+ }
792
+ .wenayColsMenuBtn_dragging {
793
+ z-index: 3;
794
+ box-shadow: var(--cols-menu-drag-shadow, 0 3px 10px rgba(0, 0, 0, 0.35));
795
+ }
796
+ .wenayColsMenuBtn_shift {
797
+ transition: transform 0.15s ease;
798
+ }
799
+ .wenayColsMenuIcon {
800
+ display: inline-flex;
801
+ align-items: center;
802
+ }
803
+ .wenayColsMenuAbbr {
804
+ font-size: var(--cols-menu-abbr-font-size, 10px);
805
+ font-weight: var(--cols-menu-abbr-font-weight, 700);
806
+ letter-spacing: var(--cols-menu-abbr-letter-spacing, 0.5px);
807
+ text-transform: uppercase;
808
+ }
809
+ .wenayColsMenuMarks {
810
+ font-size: var(--cols-menu-marks-font-size, 9px);
811
+ opacity: var(--cols-menu-marks-opacity, 0.9);
812
+ }
813
+ .wenayColsMenuDivider {
814
+ width: 1px;
815
+ align-self: stretch;
816
+ margin: 1px 2px;
817
+ background: var(--cols-menu-divider, #d0d7de);
818
+ }
819
+ /* Column state mobile primitives (ColumnDots/CardList). Visual defaults mirror the
820
+ restored stand-29 look and are tokenized through --cols-dots-* / --cols-card-*. */
821
+ .wenayColDots {
822
+ user-select: none;
823
+ color: var(--cols-dots-text, #24292f);
824
+ }
825
+ .wenayColDotsHead {
826
+ display: flex;
827
+ align-items: center;
828
+ gap: var(--cols-dots-head-gap, 10px);
829
+ margin-bottom: var(--cols-dots-head-margin-bottom, 6px);
830
+ font-size: var(--cols-dots-head-font-size, 12px);
831
+ }
832
+ .wenayColDotsMeta {
833
+ color: var(--cols-dots-meta-color, #57606a);
834
+ }
835
+ .wenayColDotsSpacer {
836
+ flex: 1;
837
+ }
838
+ .wenayColDotsSort {
839
+ border: var(--cols-dots-sort-border, 1px solid #6e7781);
840
+ border-radius: var(--cols-dots-sort-radius, 6px);
841
+ padding: var(--cols-dots-sort-padding, 2px 8px);
842
+ font-size: var(--cols-dots-sort-font-size, 12px);
843
+ cursor: pointer;
844
+ background: var(--cols-dots-sort-bg, #fff);
845
+ }
846
+ .wenayColDotsSort:disabled {
847
+ cursor: default;
848
+ opacity: 0.5;
849
+ }
850
+ .wenayColDotsTrack {
851
+ position: relative;
852
+ height: var(--cols-dots-track-height, 56px);
853
+ margin: var(--cols-dots-track-margin, 0 14px);
854
+ touch-action: none;
855
+ }
856
+ .wenayColDotsRail {
857
+ position: absolute;
858
+ left: -8px;
859
+ right: -8px;
860
+ top: 27px;
861
+ height: 2px;
862
+ border-radius: 1px;
863
+ background: var(--cols-dots-rail, #d0d7de);
864
+ }
865
+ .wenayColDotsMark {
866
+ position: absolute;
867
+ top: 0;
868
+ width: var(--cols-dots-mark-width, 44px);
869
+ height: var(--cols-dots-mark-height, 56px);
870
+ margin-left: var(--cols-dots-mark-margin-left, -22px);
871
+ }
872
+ .wenayColDotsSortMark {
873
+ position: absolute;
874
+ left: 0;
875
+ right: 0;
876
+ top: 0;
877
+ text-align: center;
878
+ font-size: var(--cols-dots-sort-mark-font-size, 11px);
879
+ color: var(--cols-dots-sort-mark-color, #0969da);
880
+ font-weight: 700;
881
+ }
882
+ .wenayColDotsMarkPin {
883
+ position: absolute;
884
+ left: 50%;
885
+ top: 24px;
886
+ width: 8px;
887
+ height: 8px;
888
+ margin-left: -4px;
889
+ border-radius: 4px;
890
+ background: var(--cols-dots-pin, #afb8c1);
891
+ }
892
+ .wenayColDotsMark_on .wenayColDotsMarkPin {
893
+ background: transparent;
894
+ }
895
+ .wenayColDotsMarkLabel {
896
+ position: absolute;
897
+ left: 0;
898
+ right: 0;
899
+ top: 40px;
900
+ text-align: center;
901
+ font-size: var(--cols-dots-label-font-size, 10px);
902
+ color: var(--cols-dots-label-color, #8c959f);
903
+ overflow: hidden;
904
+ text-overflow: ellipsis;
905
+ white-space: nowrap;
906
+ }
907
+ .wenayColDotsMark_on .wenayColDotsMarkLabel {
908
+ color: var(--cols-dots-label-active-color, #24292f);
909
+ }
910
+ .wenayColDotsDotWrap {
911
+ position: absolute;
912
+ left: 0;
913
+ top: 28px;
914
+ width: 44px;
915
+ height: 44px;
916
+ margin: -22px 0 0 -22px;
917
+ display: flex;
918
+ align-items: center;
919
+ justify-content: center;
920
+ touch-action: none;
921
+ cursor: grab;
922
+ z-index: 2;
923
+ transition: transform 0.15s ease;
924
+ }
925
+ .wenayColDotsDotWrap_dragging {
926
+ z-index: 3;
927
+ cursor: grabbing;
928
+ transition: none;
929
+ }
930
+ .wenayColDotsDotWrap_removing {
931
+ opacity: 0.4;
932
+ }
933
+ .wenayColDotsDot {
934
+ width: var(--cols-dots-dot-size, 18px);
935
+ height: var(--cols-dots-dot-size, 18px);
936
+ border-radius: var(--cols-dots-dot-radius, 9px);
937
+ background: var(--cols-dots-dot-bg, #24292f);
938
+ border: 2px solid transparent;
939
+ }
940
+ .wenayColDotsDotWrap_dragging .wenayColDotsDot {
941
+ box-shadow: var(--cols-dots-dot-shadow, 0 3px 10px rgba(0, 0, 0, 0.35));
942
+ }
943
+ .wenayColDotsDot_selected {
944
+ background: var(--cols-dots-selected-bg, #0969da);
945
+ border-color: var(--cols-dots-selected-border, #b6d4fe);
946
+ }
947
+ .wenayColDotsDot_fixed {
948
+ border-color: var(--cols-dots-fixed-border, #afb8c1);
949
+ }
950
+ .wenayCardList {
951
+ display: grid;
952
+ gap: var(--cols-card-gap, 8px);
953
+ }
954
+ .wenayCardListItem {
955
+ border: var(--cols-card-border, 1px solid #d0d7de);
956
+ border-radius: var(--cols-card-radius, 8px);
957
+ padding: var(--cols-card-padding, 8px 10px);
958
+ background: var(--cols-card-bg, #fff);
959
+ }
960
+ .wenayCardListHeader {
961
+ display: flex;
962
+ align-items: center;
963
+ gap: var(--cols-card-header-gap, 8px);
964
+ margin-bottom: var(--cols-card-header-margin-bottom, 6px);
965
+ }
966
+ .wenayCardListHeader_compact {
967
+ margin-bottom: 0;
968
+ }
969
+ .wenayCardListTitle {
970
+ flex: 1;
971
+ overflow: hidden;
972
+ text-overflow: ellipsis;
973
+ white-space: nowrap;
974
+ font-size: var(--cols-card-title-font-size, 14px);
975
+ }
976
+ .wenayCardListAccent {
977
+ font-size: var(--cols-card-accent-font-size, 11px);
978
+ padding: var(--cols-card-accent-padding, 1px 8px);
979
+ border-radius: var(--cols-card-accent-radius, 10px);
980
+ background: var(--cols-card-accent-bg, #ddf4ff);
981
+ color: var(--cols-card-accent-color, #0969da);
982
+ white-space: nowrap;
983
+ }
984
+ .wenayCardListField {
985
+ display: flex;
986
+ gap: var(--cols-card-field-gap, 10px);
987
+ font-size: var(--cols-card-field-font-size, 12px);
988
+ line-height: var(--cols-card-field-line-height, 1.7);
989
+ }
990
+ .wenayCardListLabel {
991
+ color: var(--cols-card-label-color, #57606a);
992
+ min-width: var(--cols-card-label-min-width, 72px);
993
+ }
994
+ .wenayCardListValue {
995
+ flex: 1;
996
+ text-align: right;
997
+ overflow: hidden;
998
+ text-overflow: ellipsis;
436
999
  }
1000
+
437
1001
  /* Toolbar (createToolbar). Themed via --tb-* (tokens.css), dark defaults. */
438
1002
  .wenayTb {
439
1003
  display: inline-flex;
@@ -561,6 +1125,23 @@ body {
561
1125
  outline: none;
562
1126
  color: #fff;
563
1127
  }
1128
+ .wenayTbMetaAction {
1129
+ display: inline-flex;
1130
+ align-items: center;
1131
+ justify-content: center;
1132
+ width: 24px;
1133
+ height: 24px;
1134
+ padding: 0;
1135
+ border: 1px solid rgba(255, 255, 255, 0.16);
1136
+ border-radius: 6px;
1137
+ background: transparent;
1138
+ color: inherit;
1139
+ cursor: pointer;
1140
+ }
1141
+ .wenayTbMetaAction:hover {
1142
+ background: rgba(255, 255, 255, 0.08);
1143
+ color: #fff;
1144
+ }
564
1145
 
565
1146
  /* Minimal default section/segment buttons; apps override via sectionClassName /
566
1147
  sectionActiveClassName (SettingsDialog) and className / activeClassName (PlacementSetting) */