@matdata/yasgui 5.3.0 → 5.5.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.
@@ -49,7 +49,7 @@
49
49
  left: 0;
50
50
  right: 0;
51
51
  bottom: 0;
52
- background: rgba(0, 0, 0, 0.5);
52
+ background: var(--yasgui-overlay-bg, rgba(0, 0, 0, 0.5));
53
53
  z-index: 10000;
54
54
  align-items: center;
55
55
  justify-content: center;
@@ -104,36 +104,49 @@
104
104
 
105
105
  .modalBody {
106
106
  flex: 1;
107
- overflow-y: auto;
108
- padding: 20px;
107
+ display: flex;
108
+ overflow: hidden;
109
109
  }
110
110
 
111
- .modalTabs {
111
+ .modalSidebar {
112
+ width: 200px;
113
+ min-width: 200px;
114
+ border-right: 1px solid var(--yasgui-border-color, #e0e0e0);
115
+ background: var(--yasgui-bg-secondary, #f8f9fa);
112
116
  display: flex;
113
- gap: 10px;
114
- margin-bottom: 20px;
115
- border-bottom: 2px solid var(--yasgui-border-color, #e0e0e0);
117
+ flex-direction: column;
118
+ overflow-y: auto;
116
119
  }
117
120
 
118
- .modalTabButton {
121
+ .modalContentArea {
122
+ flex: 1;
123
+ overflow-y: auto;
124
+ padding: 20px;
125
+ }
126
+
127
+ .modalNavButton {
119
128
  background: none;
120
129
  border: none;
121
- padding: 10px 20px;
130
+ padding: 12px 20px;
122
131
  font-size: 14px;
123
- font-weight: 600;
132
+ font-weight: 500;
124
133
  cursor: pointer;
125
134
  color: var(--yasgui-text-secondary, #666);
126
- border-bottom: 3px solid transparent;
127
- margin-bottom: -2px;
135
+ text-align: left;
136
+ border-left: 3px solid transparent;
128
137
  transition: all 0.2s;
138
+ white-space: nowrap;
129
139
 
130
140
  &:hover {
141
+ background: var(--yasgui-bg-primary, white);
131
142
  color: var(--yasgui-accent-color, #337ab7);
132
143
  }
133
144
 
134
145
  &.active {
135
146
  color: var(--yasgui-accent-color, #337ab7);
136
- border-bottom-color: var(--yasgui-accent-color, #337ab7);
147
+ background: var(--yasgui-bg-primary, white);
148
+ border-left-color: var(--yasgui-accent-color, #337ab7);
149
+ font-weight: 600;
137
150
  }
138
151
  }
139
152
 
@@ -185,7 +198,7 @@
185
198
  padding: 10px;
186
199
  border: 1px solid var(--yasgui-input-border, #ccc);
187
200
  border-radius: 4px;
188
- font-family: monospace;
201
+ font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
189
202
  font-size: 13px;
190
203
  resize: vertical;
191
204
  box-sizing: border-box;
@@ -221,6 +234,60 @@
221
234
  }
222
235
  }
223
236
 
237
+ .settingsInput {
238
+ width: 100%;
239
+ padding: 8px 12px;
240
+ border: 1px solid var(--yasgui-input-border, #ccc);
241
+ border-radius: 4px;
242
+ font-size: 14px;
243
+ background-color: var(--yasgui-bg-secondary, white);
244
+ color: var(--yasgui-text-primary, #000);
245
+ box-sizing: border-box;
246
+
247
+ &:focus {
248
+ outline: none;
249
+ border-color: var(--yasgui-input-focus, #337ab7);
250
+ box-shadow: 0 0 0 2px rgba(51, 122, 183, 0.1);
251
+ }
252
+
253
+ &:disabled {
254
+ background-color: var(--yasgui-bg-tertiary, #f5f5f5);
255
+ color: var(--yasgui-text-muted, #999);
256
+ cursor: not-allowed;
257
+ }
258
+
259
+ &::placeholder {
260
+ color: var(--yasgui-text-muted, #999);
261
+ }
262
+ }
263
+
264
+ .settingsSection.disabled {
265
+ opacity: 0.6;
266
+ pointer-events: none;
267
+ }
268
+
269
+ .securityNotice {
270
+ background: var(--yasgui-warning-bg, #fff3cd);
271
+ color: var(--yasgui-warning-text, #856404);
272
+ padding: 12px;
273
+ border-radius: 4px;
274
+ border: 1px solid var(--yasgui-warning-border, #ffeaa7);
275
+
276
+ strong {
277
+ display: block;
278
+ margin-bottom: 8px;
279
+ }
280
+
281
+ ul {
282
+ margin: 8px 0 0 20px;
283
+ padding: 0;
284
+ }
285
+
286
+ li {
287
+ margin: 4px 0;
288
+ }
289
+ }
290
+
224
291
  .modalFooter {
225
292
  padding: 15px 20px;
226
293
  border-top: 1px solid var(--yasgui-border-color, #e0e0e0);
@@ -436,3 +503,487 @@
436
503
  opacity: 1;
437
504
  }
438
505
  }
506
+
507
+ // Keyboard Shortcuts styles
508
+ .shortcutsSection {
509
+ margin-bottom: 30px;
510
+ }
511
+
512
+ .shortcutsCategory {
513
+ font-size: 16px;
514
+ font-weight: 600;
515
+ color: var(--yasgui-text-primary, #000);
516
+ margin-bottom: 15px;
517
+ padding-bottom: 8px;
518
+ border-bottom: 2px solid var(--yasgui-border-color, #e0e0e0);
519
+ }
520
+
521
+ .shortcutsTable {
522
+ width: 100%;
523
+ border-collapse: collapse;
524
+
525
+ thead {
526
+ th {
527
+ padding: 10px 8px;
528
+ text-align: left;
529
+ font-weight: 600;
530
+ font-size: 13px;
531
+ color: var(--yasgui-text-primary, #333);
532
+ background-color: var(--yasgui-bg-secondary, #f5f5f5);
533
+ border-bottom: 2px solid var(--yasgui-border-color, #e0e0e0);
534
+ }
535
+ }
536
+
537
+ tbody {
538
+ tr {
539
+ border-bottom: 1px solid var(--yasgui-border-color, #e8e8e8);
540
+
541
+ &:last-child {
542
+ border-bottom: none;
543
+ }
544
+
545
+ &:hover {
546
+ background-color: var(--yasgui-bg-secondary, #f9f9f9);
547
+ }
548
+ }
549
+ }
550
+
551
+ td {
552
+ padding: 12px 8px;
553
+ vertical-align: middle;
554
+ }
555
+ }
556
+
557
+ .shortcutsKeys {
558
+ width: 40%;
559
+ font-weight: 500;
560
+
561
+ kbd {
562
+ display: inline-block;
563
+ padding: 4px 8px;
564
+ font-size: 12px;
565
+ font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
566
+ line-height: 1.4;
567
+ color: var(--yasgui-text-primary, #333);
568
+ background-color: var(--yasgui-bg-secondary, #f7f7f7);
569
+ border: 1px solid var(--yasgui-border-color, #ccc);
570
+ border-radius: 4px;
571
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
572
+ white-space: nowrap;
573
+ }
574
+ }
575
+
576
+ .shortcutsSeparator {
577
+ color: var(--yasgui-text-secondary, #999);
578
+ margin: 0 4px;
579
+ font-weight: normal;
580
+ }
581
+
582
+ .shortcutsDescription {
583
+ width: 60%;
584
+ color: var(--yasgui-text-primary, #333);
585
+ font-size: 14px;
586
+ }
587
+
588
+ // About tab styles
589
+ .aboutSection {
590
+ text-align: center;
591
+ padding: 20px;
592
+ }
593
+
594
+ .aboutTitle {
595
+ display: flex;
596
+ align-items: center;
597
+ justify-content: center;
598
+ gap: 15px;
599
+ margin-bottom: 10px;
600
+ }
601
+
602
+ .aboutMainTitle {
603
+ font-size: 28px;
604
+ font-weight: 700;
605
+ color: var(--yasgui-accent-color, #337ab7);
606
+ margin: 0;
607
+ }
608
+
609
+ .versionBadge {
610
+ background: var(--yasgui-accent-color, #337ab7);
611
+ color: white;
612
+ padding: 4px 12px;
613
+ border-radius: 12px;
614
+ font-size: 14px;
615
+ font-weight: 600;
616
+ }
617
+
618
+ .aboutSubtitle {
619
+ font-size: 16px;
620
+ color: var(--yasgui-text-secondary, #666);
621
+ margin: 0 0 30px 0;
622
+ font-style: italic;
623
+ }
624
+
625
+ .aboutLinks {
626
+ margin: 30px 0;
627
+ display: flex;
628
+ flex-direction: column;
629
+ gap: 20px;
630
+ text-align: left;
631
+ }
632
+
633
+ .aboutLinkItem {
634
+ padding: 15px;
635
+ border: 1px solid var(--yasgui-border-color, #ddd);
636
+ border-radius: 6px;
637
+ background: var(--yasgui-bg-secondary, #f9f9f9);
638
+ transition: all 0.2s;
639
+
640
+ &:hover {
641
+ border-color: var(--yasgui-accent-color, #337ab7);
642
+ background: var(--yasgui-bg-primary, #fff);
643
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
644
+ }
645
+ }
646
+
647
+ .aboutLink {
648
+ font-size: 16px;
649
+ font-weight: 600;
650
+ color: var(--yasgui-accent-color, #337ab7);
651
+ text-decoration: none;
652
+ display: block;
653
+ margin-bottom: 5px;
654
+
655
+ &:hover {
656
+ text-decoration: underline;
657
+ }
658
+ }
659
+
660
+ .aboutLinkDescription {
661
+ font-size: 14px;
662
+ color: var(--yasgui-text-secondary, #666);
663
+ margin: 0;
664
+ }
665
+
666
+ .aboutFooter {
667
+ margin-top: 40px;
668
+ padding-top: 20px;
669
+ border-top: 1px solid var(--yasgui-border-color, #e0e0e0);
670
+ font-size: 14px;
671
+ color: var(--yasgui-text-secondary, #666);
672
+
673
+ p {
674
+ margin: 5px 0;
675
+ }
676
+
677
+ a {
678
+ color: var(--yasgui-accent-color, #337ab7);
679
+ text-decoration: none;
680
+
681
+ &:hover {
682
+ text-decoration: underline;
683
+ }
684
+ }
685
+ }
686
+
687
+ // Endpoints table styling
688
+ .endpointsTable {
689
+ margin-top: 20px;
690
+ }
691
+
692
+ .endpointsTableElement {
693
+ width: 100%;
694
+ border-collapse: collapse;
695
+ font-size: 14px;
696
+
697
+ th,
698
+ td {
699
+ padding: 10px;
700
+ text-align: left;
701
+ border-bottom: 1px solid var(--yasgui-border-color, #e0e0e0);
702
+ }
703
+
704
+ th {
705
+ font-weight: 600;
706
+ color: var(--yasgui-text-primary, #000);
707
+ background: var(--yasgui-bg-secondary, #f9f9f9);
708
+ }
709
+
710
+ td {
711
+ color: var(--yasgui-text-primary, #333);
712
+ }
713
+
714
+ .endpointCell {
715
+ max-width: 300px;
716
+ overflow: hidden;
717
+ text-overflow: ellipsis;
718
+ white-space: nowrap;
719
+ }
720
+
721
+ .centerCell {
722
+ text-align: center;
723
+ }
724
+
725
+ .endpointLabelInput {
726
+ width: 100%;
727
+ padding: 6px 8px;
728
+ border: 1px solid var(--yasgui-input-border, #ddd);
729
+ border-radius: 4px;
730
+ background: var(--yasgui-bg-primary, white);
731
+ color: var(--yasgui-text-primary, #333);
732
+ font-size: 14px;
733
+
734
+ &:focus {
735
+ outline: none;
736
+ border-color: var(--yasgui-accent-color, #337ab7);
737
+ }
738
+ }
739
+
740
+ .configureAuthButton {
741
+ padding: 6px 12px;
742
+ border: 1px solid var(--yasgui-border-color, #ddd);
743
+ border-radius: 4px;
744
+ background: var(--yasgui-bg-primary, white);
745
+ color: var(--yasgui-text-primary, #333);
746
+ font-size: 13px;
747
+ cursor: pointer;
748
+ transition: all 0.2s;
749
+
750
+ &:hover {
751
+ background: var(--yasgui-bg-secondary, #f5f5f5);
752
+ }
753
+
754
+ &.authenticated {
755
+ background: var(--yasgui-success-bg, #d4edda);
756
+ color: var(--yasgui-success-text, #155724);
757
+ border-color: var(--yasgui-success-border, #c3e6cb);
758
+ }
759
+ }
760
+
761
+ .deleteEndpointButton {
762
+ padding: 6px 12px;
763
+ border: 1px solid var(--yasgui-error-border, #f5c6cb);
764
+ border-radius: 4px;
765
+ background: var(--yasgui-error-bg, #f8d7da);
766
+ color: var(--yasgui-error-text, #721c24);
767
+ font-size: 13px;
768
+ cursor: pointer;
769
+ transition: all 0.2s;
770
+
771
+ &:hover {
772
+ background: var(--yasgui-error-hover, #f1b0b7);
773
+ }
774
+ }
775
+ }
776
+
777
+ // Authentication modal styling
778
+ .authModalOverlay {
779
+ position: fixed;
780
+ top: 0;
781
+ left: 0;
782
+ right: 0;
783
+ bottom: 0;
784
+ background: rgba(0, 0, 0, 0.6);
785
+ z-index: 10001;
786
+ display: flex;
787
+ align-items: center;
788
+ justify-content: center;
789
+ }
790
+
791
+ .authModal {
792
+ background: var(--yasgui-bg-primary, white);
793
+ border-radius: 8px;
794
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
795
+ max-width: 500px;
796
+ width: 90%;
797
+ max-height: 90vh;
798
+ overflow: auto;
799
+ }
800
+
801
+ .authModalHeader {
802
+ padding: 20px;
803
+ border-bottom: 1px solid var(--yasgui-border-color, #e0e0e0);
804
+
805
+ h3 {
806
+ margin: 0 0 8px 0;
807
+ font-size: 18px;
808
+ font-weight: 600;
809
+ color: var(--yasgui-text-primary, #000);
810
+ }
811
+ }
812
+
813
+ .authModalSubtitle {
814
+ font-size: 13px;
815
+ color: var(--yasgui-text-secondary, #666);
816
+ word-break: break-all;
817
+ }
818
+
819
+ .authModalBody {
820
+ padding: 20px;
821
+ }
822
+
823
+ .authModalSection {
824
+ margin-bottom: 20px;
825
+
826
+ label {
827
+ display: block;
828
+ font-size: 14px;
829
+ font-weight: 500;
830
+ color: var(--yasgui-text-primary, #333);
831
+ margin-bottom: 8px;
832
+ }
833
+
834
+ input,
835
+ select {
836
+ width: 90%;
837
+ padding: 8px 10px;
838
+ border: 1px solid var(--yasgui-input-border, #ddd);
839
+ border-radius: 4px;
840
+ background: var(--yasgui-bg-primary, white);
841
+ color: var(--yasgui-text-primary, #333);
842
+ font-size: 14px;
843
+
844
+ &:focus {
845
+ outline: none;
846
+ border-color: var(--yasgui-accent-color, #337ab7);
847
+ box-shadow: 0 0 0 3px var(--yasgui-accent-light, rgba(51, 122, 183, 0.1));
848
+ }
849
+ }
850
+ }
851
+
852
+ .authSecurityNotice {
853
+ padding: 12px;
854
+ background: var(--yasgui-warning-bg, #fff3cd);
855
+ border: 1px solid var(--yasgui-warning-border, #ffeaa7);
856
+ border-radius: 4px;
857
+ font-size: 13px;
858
+ color: var(--yasgui-warning-text, #856404);
859
+
860
+ strong {
861
+ display: block;
862
+ margin-bottom: 8px;
863
+ }
864
+
865
+ ul {
866
+ margin: 0;
867
+ padding-left: 20px;
868
+
869
+ li {
870
+ margin: 4px 0;
871
+ }
872
+ }
873
+ }
874
+
875
+ .authModalFooter {
876
+ display: flex;
877
+ gap: 10px;
878
+ padding: 20px;
879
+ border-top: 1px solid var(--yasgui-border-color, #e0e0e0);
880
+ justify-content: flex-end;
881
+
882
+ button {
883
+ padding: 8px 16px;
884
+ border-radius: 4px;
885
+ font-size: 14px;
886
+ font-weight: 500;
887
+ cursor: pointer;
888
+ transition: all 0.2s;
889
+ border: none;
890
+
891
+ &.authRemoveButton {
892
+ background: transparent;
893
+ color: var(--yasgui-error-text, #dc3545);
894
+ border: 1px solid var(--yasgui-error-border, #dc3545);
895
+ margin-right: auto;
896
+
897
+ &:hover:not(:disabled) {
898
+ background: var(--yasgui-error-bg, #f8d7da);
899
+ }
900
+
901
+ &:disabled {
902
+ opacity: 0.4;
903
+ cursor: not-allowed;
904
+ }
905
+ }
906
+
907
+ &.authCancelButton {
908
+ background: var(--yasgui-bg-secondary, #f5f5f5);
909
+ color: var(--yasgui-text-primary, #333);
910
+ border: 1px solid var(--yasgui-border-color, #ddd);
911
+
912
+ &:hover {
913
+ background: var(--yasgui-bg-tertiary, #e0e0e0);
914
+ }
915
+ }
916
+
917
+ &.authSaveButton {
918
+ background: var(--yasgui-accent-color, #337ab7);
919
+ color: white;
920
+
921
+ &:hover {
922
+ background: var(--yasgui-accent-dark, #2563a1);
923
+ }
924
+ }
925
+ }
926
+ }
927
+
928
+ // Add endpoint form styling
929
+ .addEndpointForm {
930
+ margin-top: 20px;
931
+ padding: 20px;
932
+ background: var(--yasgui-bg-secondary, #f9f9f9);
933
+ border-radius: 4px;
934
+ border: 1px solid var(--yasgui-border-color, #e0e0e0);
935
+ }
936
+
937
+ .addFormTitle {
938
+ font-size: 14px;
939
+ font-weight: 600;
940
+ color: var(--yasgui-text-primary, #333);
941
+ margin-bottom: 12px;
942
+ }
943
+
944
+ .addFormInputs {
945
+ display: flex;
946
+ gap: 10px;
947
+ align-items: center;
948
+ }
949
+
950
+ .addEndpointInput {
951
+ flex: 1;
952
+ padding: 8px 12px;
953
+ border: 1px solid var(--yasgui-input-border, #ddd);
954
+ border-radius: 4px;
955
+ background: var(--yasgui-bg-primary, white);
956
+ color: var(--yasgui-text-primary, #333);
957
+ font-size: 14px;
958
+
959
+ &:focus {
960
+ outline: none;
961
+ border-color: var(--yasgui-accent-color, #337ab7);
962
+ box-shadow: 0 0 0 3px var(--yasgui-accent-light, rgba(51, 122, 183, 0.1));
963
+ }
964
+
965
+ &::placeholder {
966
+ color: var(--yasgui-text-secondary, #999);
967
+ }
968
+ }
969
+
970
+ .addEndpointButton {
971
+ padding: 8px 16px;
972
+ border: none;
973
+ border-radius: 4px;
974
+ background: var(--yasgui-accent-color, #337ab7);
975
+ color: white;
976
+ font-size: 14px;
977
+ font-weight: 500;
978
+ cursor: pointer;
979
+ transition: all 0.2s;
980
+ white-space: nowrap;
981
+
982
+ &:hover {
983
+ background: var(--yasgui-accent-dark, #2563a1);
984
+ }
985
+
986
+ &:active {
987
+ transform: translateY(1px);
988
+ }
989
+ }