lexgui 0.1.44 → 0.1.46

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/build/lexgui.css CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  @font-face {
5
5
  font-family: "GoogleSans";
6
- src: url("../data/GoogleSans.ttf");
6
+ src: url("https://raw.githubusercontent.com/jxarco/lexgui.js/master/data/GoogleSans.ttf");
7
7
  }
8
8
 
9
9
  :root {
@@ -16,7 +16,9 @@
16
16
  --global-font-size-big: 14px;
17
17
  --global-color-primary: light-dark(#f9f9f9, #1c1c1c);
18
18
  --global-color-secondary: light-dark(#ececec, #2c2c2c);
19
- --global-color-terciary: light-dark(#dadada, #444);
19
+ --global-color-terciary: light-dark(#e0e0e0, #444);
20
+ --global-color-quaternary: light-dark(#c8c8c8, #555);
21
+ --global-color-quinary: light-dark(#b0b0b0, #666);
20
22
  --global-selected: #2d69da;
21
23
  --global-selected-light: #0d99ff;
22
24
  --global-selected-dark: #304b86;
@@ -38,6 +40,10 @@
38
40
  --graphnode-background: 17, 17, 17;
39
41
  }
40
42
 
43
+ :root[data-theme="light"] {
44
+ color-scheme: light;
45
+ }
46
+
41
47
  /* Some global colors */
42
48
  .orange {
43
49
  color: orange
@@ -276,6 +282,105 @@ body.noevents * {
276
282
  color: #f5f5f5;
277
283
  }
278
284
 
285
+ /* Footer */
286
+
287
+ .lexfooter {
288
+ min-height: 96px;
289
+ background-color: var(--global-color-primary);
290
+ padding: 15px;
291
+ width: 100%;
292
+ font-size: .875rem;
293
+ line-height: 1.25rem;
294
+ }
295
+
296
+ .lexfooter .wrapper {
297
+ width: calc(100% - 30px);
298
+ }
299
+
300
+ .lexfooter .columns {
301
+ display: grid;
302
+ text-align: center;
303
+ }
304
+
305
+ .lexfooter ul {
306
+ list-style-type: none;
307
+ padding: 0;
308
+ margin: 0;
309
+ margin-bottom: 12px;
310
+ }
311
+
312
+ .lexfooter ul li {
313
+ margin-bottom: 8px;
314
+ font-size: 14px;
315
+ }
316
+
317
+ .lexfooter a {
318
+ text-decoration: none;
319
+ color: var(--global-text-secondary);
320
+ transition: all 0.15s ease-in-out;
321
+ }
322
+
323
+ .lexfooter .credits-and-socials {
324
+ display: grid;
325
+ align-items: center;
326
+ grid-template-columns: 1fr 1fr;
327
+ padding-inline: 36px;
328
+ }
329
+
330
+ .lexfooter p {
331
+ font-size: var(--global-font-size);
332
+ }
333
+
334
+ .lexfooter .social {
335
+ text-align: right;
336
+ margin-block-start: 1em;
337
+ margin-block-end: 1em;
338
+ }
339
+
340
+ @media (max-width: 768px) {
341
+ .lexfooter .credits-and-socials {
342
+ display: block;
343
+ text-align: center;
344
+ }
345
+
346
+ .lexfooter .social {
347
+ text-align: center;
348
+ }
349
+ }
350
+
351
+ .lexfooter .social svg {
352
+ max-width: 28px;
353
+ max-height: 28px;
354
+ transition: all .2s ease-in-out;
355
+ fill: var(--global-text-secondary);
356
+ }
357
+
358
+ .lexfooter .social a {
359
+ max-width: 28px;
360
+ max-height: 28px;
361
+ color: var(--global-text-secondary);
362
+ margin-right: 6px;
363
+ vertical-align: -webkit-baseline-middle;
364
+ vertical-align: middle;
365
+ }
366
+
367
+ .lexfooter .social a a {
368
+ font-size: 24px;
369
+ }
370
+
371
+ .lexfooter a:hover {
372
+ color: var(--global-selected-light);
373
+ }
374
+
375
+ .lexfooter svg:hover {
376
+ fill: var(--global-selected-light);
377
+ }
378
+
379
+ .lexfooter hr {
380
+ border: none;
381
+ border-top: 1px solid #2c2c2c;
382
+ }
383
+
279
384
  /* Dialogs and alerts */
280
385
 
281
386
  .lexdialog {
@@ -434,7 +539,7 @@ body.noevents * {
434
539
  opacity: 0;
435
540
  }
436
541
 
437
- @media (prefers-color-scheme: light) {
542
+ :root[data-theme="light"] {
438
543
  .lexdialog {
439
544
  box-shadow: 0px 2px 6px #30303083;
440
545
  }
@@ -596,13 +701,13 @@ body.noevents * {
596
701
  transform: rotate(180deg);
597
702
  }
598
703
 
599
- @media (prefers-color-scheme: light) {
704
+ :root[data-theme="light"] {
600
705
  .lexbranchtitle {
601
706
  color: var(--global-text-secondary);
602
707
  background-color: var(--global-color-secondary);
603
708
  text-shadow: 0px 1px 6px #afafaf7c;
604
709
  }
605
-
710
+
606
711
  .lexbranch.closed .lexbranchtitle {
607
712
  background-color: inherit;
608
713
  }
@@ -734,6 +839,14 @@ body.noevents * {
734
839
  padding: 5px;
735
840
  }
736
841
 
842
+ .lexwidget .lextext input:focus {
843
+ border: 2px solid var(--global-selected);
844
+ }
845
+
846
+ .lexwidget .lextext input:invalid:focus {
847
+ border: 2px solid var(--global-color-error);
848
+ }
849
+
737
850
  .lexwidget .lextext div {
738
851
  color: var(--global-text-secondary);
739
852
  padding-left: 6px;
@@ -749,10 +862,6 @@ body.noevents * {
749
862
  margin-right: 16px;
750
863
  }
751
864
 
752
- .lexwidget .lextext input:focus {
753
- border: 2px solid var(--global-selected);
754
- }
755
-
756
865
  .lexwidget .inputicon {
757
866
  padding: 6px;
758
867
  font-size: 10px;
@@ -792,12 +901,6 @@ body.noevents * {
792
901
  color: var(--global-text-terciary);
793
902
  }
794
903
 
795
- @media (prefers-color-scheme: light) {
796
- .lexwidget .lextext {
797
- border: 1px solid var(--global-color-terciary) !important;
798
- }
799
- }
800
-
801
904
  .lexseparator {
802
905
  border-bottom: 1px solid var(--global-button-color);
803
906
  margin: 5px 0 5px 10px;
@@ -812,6 +915,17 @@ body.noevents * {
812
915
  margin: 5px 0 5px 4px;
813
916
  }
814
917
 
918
+ :root[data-theme="light"] {
919
+ .lexwidget .lextext {
920
+ border: 1px solid var(--global-color-terciary) !important;
921
+ }
922
+
923
+ .lexbranch .lexseparator {
924
+ border-top: 1px solid #e7e7e7;
925
+ border-bottom: 1px solid #c1c1c1;
926
+ }
927
+ }
928
+
815
929
  .lexfilter input {
816
930
  font-family: var(--global-font);
817
931
  }
@@ -867,9 +981,10 @@ body.noevents * {
867
981
  .lexbutton {
868
982
  display: grid;
869
983
  align-content: center;
870
- background-color: var(--global-button-color);
984
+ --button-color: var(--global-button-color);
985
+ background-color: var(--button-color);
871
986
  border-radius: 6px;
872
- border: none;
987
+ border: 1px solid transparent;
873
988
  margin-top: 2px;
874
989
  min-height: 22px !important;
875
990
  color: var(--global-text-primary);
@@ -880,8 +995,32 @@ body.noevents * {
880
995
  cursor: pointer;
881
996
  font-family: var(--global-font);
882
997
  transition: 0.1s linear;
998
+ padding: 0.25rem;
883
999
  }
884
1000
 
1001
+ :root[data-theme="light"] {
1002
+ .lexbutton {
1003
+ --button-color: var(--global-button-color);
1004
+ color: var(--global-text-primary);
1005
+ border: 1px solid var(--global-color-terciary) !important;
1006
+ }
1007
+
1008
+ .lexbutton.selected {
1009
+ background: #3c4145;
1010
+ color: #DDD;
1011
+ }
1012
+ }
1013
+
1014
+ /* Colors */
1015
+ .lexbutton.primary { --button-color: var(--global-selected) !important; color: #f9f9f9 !important; }
1016
+ .lexbutton.secondary { --button-color: var(--global-selected-light) !important; color: #f9f9f9 !important; }
1017
+ .lexbutton.accent { --button-color: var(--global-color-accent) !important; color: #f9f9f9 !important; }
1018
+ .lexbutton.warning { --button-color: var(--global-color-warning) !important; color: #793205 !important; }
1019
+ .lexbutton.error { --button-color: var(--global-color-error) !important; color: #52020d !important; }
1020
+ /* Few Sizes */
1021
+ .lexbutton.xs { width: 25% !important; margin: 0 auto; }
1022
+ .lexbutton.sm { width: 45% !important; margin: 0 auto; }
1023
+
885
1024
  .lexbutton span:has(.lexbadge) {
886
1025
  display: inline-flex;
887
1026
  flex-wrap: nowrap;
@@ -891,10 +1030,6 @@ body.noevents * {
891
1030
  gap: 0.4rem;
892
1031
  }
893
1032
 
894
- .lexbutton.accept {
895
- background-color: var(--global-selected);
896
- }
897
-
898
1033
  .lexbutton.foldback {
899
1034
  padding: 11px 10px;
900
1035
  padding-bottom: 14px;
@@ -914,23 +1049,18 @@ body.noevents * {
914
1049
  }
915
1050
 
916
1051
  .lexbutton:hover {
917
- background-color: var(--global-button-color-hovered);
1052
+ background-color: color-mix(in srgb, var(--button-color), #000 7%);
918
1053
  color: var(--global-text-primary);
919
1054
  }
920
1055
 
921
- .lexbutton.accept:hover {
922
- background-color: #3b6790;
923
- }
924
-
925
1056
  .lexbutton:active:not(.lexbutton.combo) {
926
- background-color: var(--global-color-terciary);
1057
+ background-color: color-mix(in srgb, var(--button-color), #ffffff 4%);
927
1058
  color: var(--global-text-secondary);
928
1059
  transform: scale(0.99);
929
1060
  }
930
1061
 
931
1062
  .lexbutton.selected {
932
1063
  background: #3c4145;
933
- outline: 1px solid #8c9bc7;
934
1064
  color: #DDD;
935
1065
  }
936
1066
 
@@ -939,33 +1069,6 @@ body.noevents * {
939
1069
  margin-top: 0px;
940
1070
  }
941
1071
 
942
- @media (prefers-color-scheme: light) {
943
- .lexbutton {
944
- background-color: var(--global-button-color);
945
- color: var(--global-text-primary);
946
- border: 1px solid var(--global-color-terciary) !important;
947
- }
948
-
949
- .lexbutton.accept {
950
- background-color: var(--global-selected);
951
- }
952
-
953
- .lexbutton:hover {
954
- background-color: var(--global-button-color-hovered);
955
- color: var(--global-text-primary);
956
- }
957
-
958
- .lexbutton.accept:hover {
959
- background-color: #3b6790;
960
- }
961
-
962
- .lexbutton.selected {
963
- background: #3c4145;
964
- outline: 1px solid #8c9bc7;
965
- color: #DDD;
966
- }
967
- }
968
-
969
1072
  /* Combo Buttons */
970
1073
 
971
1074
  .lexcombobuttons {
@@ -1073,16 +1176,25 @@ body.noevents * {
1073
1176
  padding: 0px;
1074
1177
  transform: translateY(-4px);
1075
1178
  z-index: 10;
1179
+ margin: 0;
1076
1180
  margin-top: 5px;
1077
1181
  width: 100%;
1078
1182
  box-shadow: 0 0px 12px rgba(0, 0, 0, 0.788);
1079
- border-bottom-left-radius: 10px;
1080
- border-bottom-right-radius: 10px;
1183
+ border-bottom-left-radius: 8px;
1184
+ border-bottom-right-radius: 8px;
1081
1185
  max-height: -webkit-fill-available;
1082
1186
  overflow-y: auto;
1083
1187
  overflow-x: hidden;
1084
1188
  }
1085
1189
 
1190
+ .lexdropdown ul.place-above {
1191
+ max-height: unset;
1192
+ border-bottom-left-radius: 0px;
1193
+ border-bottom-right-radius: 0px;
1194
+ border-top-left-radius: 8px;
1195
+ border-top-right-radius: 8px;
1196
+ }
1197
+
1086
1198
  .lexdropdown .lexdropdownitem {
1087
1199
  width: 100%;
1088
1200
  cursor: pointer;
@@ -1126,7 +1238,7 @@ body.noevents * {
1126
1238
  margin-top: 8px;
1127
1239
  }
1128
1240
 
1129
- @media (prefers-color-scheme: light) {
1241
+ :root[data-theme="light"] {
1130
1242
 
1131
1243
  .lexdropdown .lexfilter {
1132
1244
  background-color: var(--global-color-primary);
@@ -1222,9 +1334,10 @@ body.noevents * {
1222
1334
  /* Toggle Widget */
1223
1335
 
1224
1336
  .lextoggle {
1225
- /* --toggle-color: var(--global-selected); */
1226
- border: 1px solid currentColor;
1227
- color: var(--global-text-secondary);
1337
+ --toggle-color: var(--global-button-color);
1338
+ border: 1px solid transparent;
1339
+ color: #f9f9f9;
1340
+ background-color: var(--global-color-quaternary);
1228
1341
  cursor: pointer;
1229
1342
  -webkit-appearance: none;
1230
1343
  -moz-appearance: none;
@@ -1233,9 +1346,9 @@ body.noevents * {
1233
1346
  -webkit-user-select: none;
1234
1347
  user-select: none;
1235
1348
  border-radius: 12px;
1236
- padding: 0.16rem;
1237
- width: 2rem;
1238
- height: 1.22rem;
1349
+ padding: 3px;
1350
+ width: 36px;
1351
+ height: 22px;
1239
1352
  flex-shrink: 0;
1240
1353
  grid-template-columns: 0fr 1fr 1fr;
1241
1354
  place-content: center;
@@ -1244,12 +1357,16 @@ body.noevents * {
1244
1357
  position: relative
1245
1358
  }
1246
1359
 
1360
+ .lextoggle.outline {
1361
+ border: 1px solid transparent;
1362
+ }
1363
+
1247
1364
  /* Colors */
1248
- .lextoggle.primary { --toggle-color: var(--global-selected); color: var(--toggle-color); }
1249
- .lextoggle.secondary { --toggle-color: var(--global-selected-light); color: var(--toggle-color); }
1250
- .lextoggle.accent { --toggle-color: var(--global-color-accent); color: var(--toggle-color); }
1251
- .lextoggle.warning { --toggle-color: var(--global-color-warning); color: var(--toggle-color); }
1252
- .lextoggle.error { --toggle-color: var(--global-color-error); color: var(--toggle-color); }
1365
+ .lextoggle.primary { --toggle-color: var(--global-selected); }
1366
+ .lextoggle.secondary { --toggle-color: var(--global-selected-light); }
1367
+ .lextoggle.accent { --toggle-color: var(--global-color-accent); }
1368
+ .lextoggle.warning { --toggle-color: var(--global-color-warning); }
1369
+ .lextoggle.error { --toggle-color: var(--global-color-error); }
1253
1370
 
1254
1371
  .lextoggle > * {
1255
1372
  z-index: 1;
@@ -1266,7 +1383,7 @@ body.noevents * {
1266
1383
  transition: opacity .2s,rotate .4s
1267
1384
  }
1268
1385
 
1269
- .lextoggle>:focus {
1386
+ .lextoggle > :focus {
1270
1387
  outline-style: none
1271
1388
  }
1272
1389
 
@@ -1311,8 +1428,15 @@ body.noevents * {
1311
1428
  }
1312
1429
 
1313
1430
  .lextoggle:checked, .lextoggle[aria-checked=true], .lextoggle:has(>input:checked) {
1314
- background-color: #1f1f1f;
1315
- grid-template-columns: 1fr 1fr 0fr
1431
+ border: 1px solid var(--global-color-secondary);
1432
+ background-color: var(--toggle-color);
1433
+ grid-template-columns: 1fr 1fr 0fr;
1434
+ }
1435
+
1436
+ .lextoggle.outline:checked, .lextoggle.outline[aria-checked=true], .lextoggle.outline:has(>input:checked) {
1437
+ color: var(--toggle-color);
1438
+ border: 1px solid currentColor;
1439
+ background-color: var(--global-color-primary);
1316
1440
  }
1317
1441
 
1318
1442
  :is(.lextoggle:checked, .lextoggle[aria-checked=true], .lextoggle:has(>input:checked)):before {
@@ -1859,29 +1983,6 @@ input[type="range"] {
1859
1983
 
1860
1984
  /* File Input */
1861
1985
 
1862
- /* .lexfileinput {
1863
- cursor: pointer;
1864
- border: 1px solid #0000;
1865
- -webkit-appearance: none;
1866
- -moz-appearance: none;
1867
- appearance: none;
1868
- background-color: #121212;
1869
- vertical-align: middle;
1870
- webkit-user-select: none;
1871
- -webkit-user-select: none;
1872
- user-select: none;
1873
- width: clamp(3rem,20rem,100%);
1874
- height: var(--size);
1875
- border-color: var(--input-color);
1876
- --size: calc(var(--size-field,.25rem)*10);
1877
- --input-color: color-mix(in oklab,#121212 20%,#0000);
1878
- border-radius: 8px;
1879
- align-items: center;
1880
- padding-inline-end:.75rem;font-size: .875rem;
1881
- line-height: 2;
1882
- display: inline-flex
1883
- } */
1884
-
1885
1986
  .lexfileinput::file-selector-button {
1886
1987
  align-content: center;
1887
1988
  background-color: var(--global-button-color);
@@ -1924,7 +2025,7 @@ input[type="range"] {
1924
2025
  }
1925
2026
 
1926
2027
  .lexprogress span {
1927
- width: 5%;
2028
+ width: 10%;
1928
2029
  }
1929
2030
 
1930
2031
  .lexprogressbar {
@@ -1935,15 +2036,19 @@ input[type="range"] {
1935
2036
  -webkit-transition: .2s;
1936
2037
  transition: opacity .2s;
1937
2038
  margin-top: 2px;
2039
+ -webkit-user-select: none;
2040
+ -moz-user-select: none;
2041
+ -ms-user-select: none;
2042
+ user-select: none;
1938
2043
  }
1939
2044
 
1940
2045
  .lexprogressbar.editable:hover {
1941
- cursor: grab;
2046
+ cursor: pointer;
1942
2047
  }
1943
2048
 
1944
- .lexprogressbar.editable:active {
2049
+ /* .lexprogressbar.editable.grabbing {
1945
2050
  cursor: grabbing;
1946
- }
2051
+ } */
1947
2052
 
1948
2053
  /* The gray background in Chrome, etc. */
1949
2054
  .lexprogressbar::-webkit-meter-bar {
@@ -2194,8 +2299,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2194
2299
  margin-top: 10px;
2195
2300
  margin-bottom: 8px;
2196
2301
  border-radius: 6px;
2197
- padding-left: 4px;
2198
- padding-right: 4px;
2302
+ padding-inline: 4px;
2199
2303
  }
2200
2304
 
2201
2305
  .lexmenubar .lexmenubuttons.center {
@@ -2210,7 +2314,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2210
2314
  }
2211
2315
 
2212
2316
  .lexmenubar .lexmenubutton {
2213
- display: flex;
2317
+ /* display: flex; */
2214
2318
  justify-content: center;
2215
2319
  padding: 8px;
2216
2320
  padding-top: 0.6em;
@@ -2506,6 +2610,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2506
2610
  justify-content: center;
2507
2611
  background: none;
2508
2612
  color: var(--global-text-secondary);
2613
+ height: 100%;
2509
2614
  }
2510
2615
 
2511
2616
  .lexoverlaybuttons .lexbutton span {
@@ -2513,7 +2618,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2513
2618
  }
2514
2619
 
2515
2620
  .lexoverlaybuttons .lexbutton a {
2516
- line-height: 12px;
2621
+ line-height: 10px;
2517
2622
  font-size: var(--global-font-size-big);
2518
2623
  }
2519
2624
 
@@ -2522,7 +2627,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2522
2627
  margin-left: 4px;
2523
2628
  }
2524
2629
 
2525
- @media (prefers-color-scheme: light) {
2630
+ :root[data-theme="light"] {
2526
2631
  .lexoverlaybuttons .lexbutton img {
2527
2632
  filter: invert(1);
2528
2633
  }
@@ -2565,7 +2670,6 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2565
2670
  background: none;
2566
2671
  -webkit-backdrop-filter: none;
2567
2672
  backdrop-filter: none;
2568
- height: 100%;
2569
2673
  }
2570
2674
 
2571
2675
  .lexoverlaybuttonscontainer.vertical .lexoverlaygroup {
@@ -2593,7 +2697,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2593
2697
  }
2594
2698
 
2595
2699
  .lexoverlaybuttons .lexwidget:last-child {
2596
- margin-right: 0px;
2700
+ margin-right: 0px;
2597
2701
  }
2598
2702
 
2599
2703
  /* Area Tabs */
@@ -2777,7 +2881,8 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2777
2881
  }
2778
2882
 
2779
2883
  .lexlayer {
2780
- background-color: var(--global-color-primary);
2884
+ --layer-color: var(--global-color-primary);
2885
+ background-color: var(--layer-color);
2781
2886
  color: var(--global-text-primary);
2782
2887
  text-align: center;
2783
2888
  line-height: 19px;
@@ -2789,16 +2894,17 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2789
2894
  }
2790
2895
 
2791
2896
  .lexlayer.selected {
2792
- background: light-dark(var(--global-selected-light), var(--global-selected));
2793
- color: white;
2897
+ --layer-color: light-dark(var(--global-selected-light), var(--global-selected));
2898
+ color: #fff;
2794
2899
  }
2795
2900
 
2796
2901
  .lexlayer:hover {
2797
- background-color: #497baad4;
2902
+ background-color: color-mix(in srgb, var(--layer-color), #000 7%);
2798
2903
  }
2799
2904
 
2800
2905
  .lexlayer:active {
2801
- background-color: #497baab3;
2906
+ background-color: color-mix(in srgb, var(--layer-color), #ffffff 4%);
2907
+ transform: scale(0.99);
2802
2908
  }
2803
2909
 
2804
2910
  /* List Widget */
@@ -2886,36 +2992,63 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
2886
2992
  .lextags {
2887
2993
  display: inline-flex;
2888
2994
  flex-wrap: wrap;
2889
- justify-content: center;
2890
2995
  line-height: 12px;
2996
+ background-color: light-dark(var(--global-color-terciary), var(--global-button-color));
2997
+ border-radius: 8px;
2998
+ padding: 4px;
2891
2999
  }
2892
3000
 
2893
3001
  .lextags input {
2894
- width: 100%;
2895
- margin-bottom: 0.5em;
2896
- text-align: center;
3002
+ width: 60%;
2897
3003
  }
2898
3004
 
2899
3005
  .lextags .lextag {
2900
3006
  padding: 6px;
2901
3007
  background-color: var(--global-color-primary);
2902
3008
  margin: 2px;
2903
- border-radius: 12px;
3009
+ border-radius: 6px;
2904
3010
  min-width: 16px;
2905
3011
  justify-content: center;
2906
3012
  color: var(--global-text-primary);
2907
3013
  display: inherit;
2908
3014
  font-size: var(--global-font-size);
3015
+ cursor: default;
3016
+ -webkit-user-select: none;
3017
+ -moz-user-select: none;
3018
+ user-select: none;
2909
3019
  }
2910
3020
 
2911
- .lextags .lextag:hover {
2912
- background-color: var(--global-selected);
2913
- color: #f5f5f5;
3021
+ .lextags .lextag a:hover {
3022
+ color: light-dark(var(--global-text-terciary), var(--global-text-secondary));
2914
3023
  cursor: pointer;
2915
3024
  }
2916
3025
 
2917
- .lextags .lextag:hover::after {
2918
- content: "⊗";
3026
+ /* Counter Widget */
3027
+
3028
+ .lexcounter {
3029
+ display: flex;
3030
+ margin: 0 auto;
3031
+ }
3032
+
3033
+ .lexcounterbox {
3034
+ display: grid;
3035
+ text-align: -webkit-center;
3036
+ text-align: center;
3037
+ margin-left: 16px;
3038
+ margin-right: 16px;
3039
+ }
3040
+
3041
+ .lexcounterbox .lexcountervalue {
3042
+ width: 100%;
3043
+ font-size: 32px;
3044
+ font-weight: 700;
3045
+
3046
+ }
3047
+
3048
+ .lexcounterbox .lexcounterlabel {
3049
+ width: 100%;
3050
+ margin-top: -22px;
3051
+ color: var(--global-text-secondary);
2919
3052
  }
2920
3053
 
2921
3054
  /* Custom Widgets Widget */
@@ -3056,7 +3189,7 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3056
3189
  margin-top: 8px;
3057
3190
  }
3058
3191
 
3059
- @media (prefers-color-scheme: light) {
3192
+ :root[data-theme="light"] {
3060
3193
 
3061
3194
  .lexknob .knobcircle {
3062
3195
  background: rgb(182, 182, 182);
@@ -3090,6 +3223,54 @@ meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
3090
3223
  }
3091
3224
  }
3092
3225
 
3226
+ /* Icon swap */
3227
+
3228
+ .swap {
3229
+ cursor: pointer;
3230
+ vertical-align: middle;
3231
+ -webkit-user-select: none;
3232
+ -moz-user-select: none;
3233
+ user-select: none;
3234
+ place-content: center;
3235
+ display: inline-grid;
3236
+ position: relative;
3237
+ }
3238
+
3239
+ .swap input {
3240
+ -webkit-appearance: none;
3241
+ -moz-appearance: none;
3242
+ appearance: none;
3243
+ border: none;
3244
+ }
3245
+
3246
+ .swap > * {
3247
+ grid-row-start: 1;
3248
+ grid-column-start: 1;
3249
+ transition-property: transform,rotate,opacity;
3250
+ transition-duration: .2s;
3251
+ transition-timing-function: cubic-bezier(0,0,.2,1);
3252
+ }
3253
+
3254
+ .swap .swap-on,.swap .swap-indeterminate,.swap input:indeterminate~.swap-on,.swap input:is(:checked,:indeterminate)~.swap-off {
3255
+ opacity: 0;
3256
+ }
3257
+
3258
+ .swap input:checked~.swap-on,.swap input:indeterminate~.swap-indeterminate {
3259
+ opacity: 1;
3260
+ }
3261
+
3262
+ .swap .swap-on,.swap .swap-indeterminate, .swap input:indeterminate~.swap-on {
3263
+ rotate: 45deg;
3264
+ }
3265
+
3266
+ .swap input:is(:checked,:indeterminate)~.swap-on, .swap.swap-active .swap-on {
3267
+ rotate: none;
3268
+ }
3269
+
3270
+ .swap input:is(:checked,:indeterminate)~.swap-off, .swap.swap-active .swap-off {
3271
+ rotate: -45deg;
3272
+ }
3273
+
3093
3274
  /** Timeline */
3094
3275
 
3095
3276
  .lextimeline {
@@ -3749,6 +3930,22 @@ ul.lexassetscontent {
3749
3930
  background-color: #333437a9;
3750
3931
  }
3751
3932
 
3933
+ .lexcodeeditor pre.added {
3934
+ background-color: #40db212f;
3935
+ }
3936
+
3937
+ .lexcodeeditor pre.removed {
3938
+ background-color: #db21212f;
3939
+ }
3940
+
3941
+ .lexcodeeditor.disabled pre.active-line {
3942
+ background: none;
3943
+ }
3944
+
3945
+ .lexcodeeditor.disabled .lexareatab {
3946
+ cursor: default;
3947
+ }
3948
+
3752
3949
  .lexcodeeditor span {
3753
3950
  -webkit-text-size-adjust: 100%;
3754
3951
  cursor: text;
@@ -3977,6 +4174,30 @@ pre .line-gutter {
3977
4174
  color: #95a0e1;
3978
4175
  }
3979
4176
 
4177
+ .lexcodesnippet {
4178
+ position: relative;
4179
+ border-radius: 12px;
4180
+ overflow: hidden;
4181
+ box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.6);
4182
+ border: 2px solid var(--global-color-primary);
4183
+ }
4184
+
4185
+ .lexcodesnippet .lexwindowbuttons {
4186
+ width: 100px;
4187
+ padding-inline: 16px;
4188
+ display: inline-flex;
4189
+ gap: 6px;
4190
+ align-items: center;
4191
+ justify-content: center;
4192
+ }
4193
+
4194
+ .lexcodesnippet .lexwindowbuttons span {
4195
+ width: 11px;
4196
+ height: 11px;
4197
+ border-radius: 50%;
4198
+ cursor: default;
4199
+ }
4200
+
3980
4201
  /* Common */
3981
4202
 
3982
4203
  .cm-str { color: #ca7d59; } /* string */
@@ -4048,11 +4269,16 @@ pre .line-gutter {
4048
4269
 
4049
4270
  .cm-bln.markdown { color: #a1d2f0; } /* builtin */
4050
4271
 
4051
- @media (prefers-color-scheme: light) {
4272
+ :root[data-theme="light"] {
4273
+
4052
4274
  .lexcodeeditor pre.active-line {
4053
4275
  background-color: #c5c4c4ab;
4054
4276
  }
4055
4277
 
4278
+ .lexcodeeditor.disabled pre.active-line {
4279
+ background: none;
4280
+ }
4281
+
4056
4282
  .lexcodescrollbar div {
4057
4283
  /* thumb */
4058
4284
  background-color: #8383839d !important;