hexo-theme-gnix 7.0.0 → 9.0.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.
Files changed (53) hide show
  1. package/README.md +6 -2
  2. package/include/hexo/encrypt.js +42 -0
  3. package/include/hexo/feed.js +330 -0
  4. package/include/util/common.js +7 -16
  5. package/languages/en.yml +5 -2
  6. package/languages/zh-CN.yml +5 -2
  7. package/layout/archive.jsx +8 -204
  8. package/layout/comment/twikoo.jsx +2 -11
  9. package/layout/common/article.jsx +45 -32
  10. package/layout/common/article_cover.jsx +11 -1
  11. package/layout/common/article_media.jsx +2 -4
  12. package/layout/common/footer.jsx +10 -14
  13. package/layout/common/head.jsx +7 -15
  14. package/layout/common/navbar.jsx +3 -18
  15. package/layout/common/scripts.jsx +6 -5
  16. package/layout/common/theme_selector.jsx +5 -6
  17. package/layout/common/toc.jsx +8 -14
  18. package/layout/index.jsx +2 -4
  19. package/layout/misc/open_graph.jsx +4 -4
  20. package/layout/misc/paginator.jsx +10 -4
  21. package/layout/misc/structured_data.jsx +3 -4
  22. package/layout/plugin/busuanzi.jsx +1 -1
  23. package/layout/plugin/cookie_consent.jsx +40 -31
  24. package/layout/plugin/swup.jsx +2 -22
  25. package/layout/search/insight.jsx +16 -3
  26. package/package.json +12 -8
  27. package/scripts/hot-reload.js +92 -0
  28. package/scripts/index.js +2 -0
  29. package/source/css/archive.css +251 -0
  30. package/source/css/default.css +300 -309
  31. package/source/css/encrypt.css +55 -0
  32. package/source/css/responsive/desktop.css +0 -119
  33. package/source/css/responsive/mobile.css +2 -22
  34. package/source/css/responsive/touch.css +9 -103
  35. package/source/css/twikoo.css +265 -249
  36. package/source/img/og_image.webp +0 -0
  37. package/source/js/archive-breadcrumb.js +1 -5
  38. package/source/js/busuanzi.js +1 -12
  39. package/source/js/components/chat.js +239 -0
  40. package/source/js/components/image-carousel.js +410 -0
  41. package/source/js/components/text-image-section.js +180 -0
  42. package/source/js/components/theme-stacked.js +165 -246
  43. package/source/js/components/tree.js +437 -0
  44. package/source/js/decrypt.js +112 -0
  45. package/source/js/insight.js +75 -65
  46. package/source/js/main.js +48 -31
  47. package/source/js/mdit/mermaid.js +12 -4
  48. package/source/js/swup.bundle.js +1 -0
  49. package/source/js/theme-selector.js +94 -113
  50. package/source/img/og_image.png +0 -0
  51. package/source/js/host/swup/Swup.umd.min.js +0 -1
  52. package/source/js/host/swup/head-plugin.umd.min.js +0 -1
  53. package/source/js/host/swup/scripts-plugin.umd.min.js +0 -2
@@ -3,6 +3,10 @@
3
3
  code {
4
4
  font-family: var(--font-mono);
5
5
  }
6
+
7
+ p {
8
+ color: var(--text);
9
+ }
6
10
  }
7
11
 
8
12
  .tk-avatar {
@@ -33,15 +37,19 @@
33
37
 
34
38
  .tk-avatar.tk-clickable {
35
39
  cursor: pointer;
40
+ transition: opacity 0.2s ease-out;
41
+ &:hover {
42
+ opacity: 0.8;
43
+ }
36
44
  }
37
45
 
38
46
  .tk-meta-input {
39
47
  display: flex;
48
+ margin-bottom: 0.5rem;
40
49
  }
41
50
 
42
51
  .tk-meta-input .el-input {
43
52
  width: calc((100% - 1rem) / 3);
44
- /* Fix Safari */
45
53
  flex: 1;
46
54
  }
47
55
 
@@ -76,11 +84,7 @@
76
84
  .tk-submit {
77
85
  display: flex;
78
86
  flex-direction: column;
79
- }
80
-
81
- .tk-row {
82
- display: flex;
83
- flex-direction: row;
87
+ margin-top: 1rem;
84
88
  }
85
89
 
86
90
  .tk-col {
@@ -89,10 +93,6 @@
89
93
  flex-direction: column;
90
94
  }
91
95
 
92
- .tk-meta-input {
93
- margin-bottom: 0.5rem;
94
- }
95
-
96
96
  .tk-row.actions {
97
97
  position: relative;
98
98
  margin-top: 1rem;
@@ -116,6 +116,7 @@
116
116
  margin-right: 10px;
117
117
  cursor: pointer;
118
118
  flex-shrink: 0;
119
+ transition: opacity 0.15s ease-out;
119
120
  }
120
121
 
121
122
  .tk-submit-action-icon.__markdown {
@@ -137,9 +138,9 @@
137
138
  box-sizing: border-box;
138
139
  width: 100%;
139
140
  font-size: inherit;
140
- color: #606266;
141
+ color: var(--text);
141
142
  background-color: var(--base);
142
- border: 1px solid #dcdfe6;
143
+ border: 1px solid hsl(from var(--surface1) h s l / 0.31);
143
144
  border-radius: 4px;
144
145
  transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
145
146
  &::placeholder {
@@ -225,10 +226,7 @@
225
226
  color: var(--blue);
226
227
  }
227
228
 
228
- .tk-action-link .tk-action-icon-solid {
229
- display: none;
230
- }
231
-
229
+ .tk-action-link .tk-action-icon-solid,
232
230
  .tk-action-link.tk-liked .tk-action-icon,
233
231
  .tk-action-link:hover .tk-action-icon {
234
232
  display: none;
@@ -251,6 +249,13 @@
251
249
  width: 0;
252
250
  }
253
251
 
252
+ .tk-meta {
253
+ display: flex;
254
+ align-items: baseline;
255
+ gap: 0.5rem;
256
+ flex-wrap: wrap;
257
+ }
258
+
254
259
  .tk-row {
255
260
  flex: 1;
256
261
  display: flex;
@@ -261,6 +266,7 @@
261
266
  .tk-nick-link {
262
267
  color: inherit;
263
268
  text-decoration: none;
269
+ transition: color 0.15s ease-out;
264
270
  }
265
271
 
266
272
  .tk-replies .tk-nick-link {
@@ -281,48 +287,66 @@
281
287
  }
282
288
 
283
289
  .tk-extras {
284
- color: var(--text);
285
- font-size: 0.875em;
286
290
  display: flex;
287
291
  flex-wrap: wrap;
292
+ gap: 12px;
293
+ align-items: center;
294
+ margin: 4px 0;
288
295
  }
289
296
 
290
297
  .tk-extra {
291
- margin-top: 0.5rem;
292
- margin-right: 0.75rem;
293
298
  display: flex;
294
299
  align-items: center;
300
+ gap: 6px;
301
+ padding: 4px;
302
+ color: var(--subtext1);
303
+ font-size: 0.75rem;
304
+ border-radius: 3px;
305
+ transition: background-color 0.15s ease-out;
295
306
  }
296
307
 
297
- .tk-icon.__comment {
298
- height: 1em;
299
- width: 1em;
300
- line-height: 1;
308
+ .tk-extra:hover {
309
+ background: hsl(from var(--text) h s l / 0.06);
301
310
  }
302
311
 
303
- .tk-extra-text {
304
- line-height: 1;
312
+ .tk-icon {
313
+ display: inline-flex;
314
+ align-items: center;
315
+ justify-content: center;
316
+ width: 0.8rem;
317
+ height: 0.8rem;
318
+ flex-shrink: 0;
305
319
  }
306
320
 
307
321
  .tk-tag {
308
322
  display: inline-block;
309
323
  padding: 0 0.5em;
310
324
  font-size: 0.75em;
311
- background-color: #f2f6fc;
325
+ background-color: hsl(from var(--blue) h s l / 0.1);
326
+ border-radius: 3px;
312
327
  }
313
328
 
314
329
  .tk-tag-green {
315
330
  background-color: hsl(from var(--green) h s l / 0.1);
316
331
  border: 1px solid hsl(from var(--green) h s l / 0.8);
317
- border-radius: 2px;
332
+ border-radius: 3px;
318
333
  color: var(--green);
319
334
  }
320
335
 
336
+ .tk-time {
337
+ color: var(--subtext0);
338
+ }
339
+
321
340
  .tk-comment {
322
341
  margin-top: 1rem;
342
+ padding-bottom: 1rem;
323
343
  display: flex;
324
344
  flex-direction: row;
325
- word-break: break-all;
345
+ word-break: break-word;
346
+ }
347
+
348
+ .tk-comment:last-child {
349
+ padding-bottom: 0;
326
350
  }
327
351
 
328
352
  .tk-content {
@@ -330,6 +354,7 @@
330
354
  overflow: hidden;
331
355
  max-height: 500px;
332
356
  position: relative;
357
+ line-height: 1.75;
333
358
  }
334
359
 
335
360
  .tk-content-expand {
@@ -349,6 +374,18 @@
349
374
  max-height: 200px;
350
375
  overflow: hidden;
351
376
  position: relative;
377
+ margin-top: 0.65rem;
378
+ padding-left: 1rem;
379
+ border-left: 1px dashed var(--surface0);
380
+ }
381
+
382
+ .tk-replies .tk-comment {
383
+ margin-top: 0.75rem;
384
+ padding-bottom: 0;
385
+ }
386
+
387
+ .tk-replies .tk-comment:first-child {
388
+ margin-top: 0;
352
389
  }
353
390
 
354
391
  .tk-replies-expand {
@@ -356,23 +393,19 @@
356
393
  overflow: unset;
357
394
  }
358
395
 
359
- .tk-submit {
360
- margin-top: 1rem;
361
- }
362
-
363
- .tk-expand {
364
- font-size: 0.75em;
396
+ .tk-ruser {
397
+ color: var(--blue);
398
+ text-decoration: none;
399
+ transition: opacity 0.15s ease-out;
365
400
  }
366
401
 
367
402
  .tk-lightbox {
368
403
  display: block;
369
404
  position: fixed;
370
- background-color: rgba(0, 0, 0, 0.3);
371
- top: 0;
372
- left: 0;
373
- right: 0;
374
- bottom: 0;
405
+ background-color: hsl(from var(--crust) h s l / 0.5);
406
+ inset: 0;
375
407
  z-index: 999;
408
+ cursor: zoom-out;
376
409
  }
377
410
 
378
411
  .tk-lightbox-image {
@@ -386,13 +419,13 @@
386
419
  top: 50%;
387
420
  left: 50%;
388
421
  transform: translate(-50%, -50%);
389
- background: linear-gradient(90deg, #eeeeee 50%, #e3e3e3 0);
422
+ background: linear-gradient(90deg, var(--surface0) 50%, var(--surface1) 0);
390
423
  background-size: 40px 100%;
391
424
  }
392
425
 
393
426
  .tk-comments-title {
394
427
  font-size: 1.25rem;
395
- font-weight: bold;
428
+ font-weight: 700;
396
429
  margin-bottom: 1rem;
397
430
  display: flex;
398
431
  align-items: baseline;
@@ -433,46 +466,43 @@
433
466
  line-height: 0;
434
467
  cursor: pointer;
435
468
  color: var(--blue);
469
+ transition: opacity 0.15s ease-out;
436
470
  }
437
471
 
438
472
  .twikoo div.code-toolbar {
439
473
  position: relative;
440
474
  border-radius: 0.3em;
441
- }
442
-
443
- .twikoo div.code-toolbar > .toolbar {
444
- position: absolute;
445
- right: 4px;
446
- top: 4px;
447
- font-size: 0.8125rem;
448
- font-weight: 500;
449
- display: flex;
450
- }
451
-
452
- .twikoo div.code-toolbar > .toolbar > .toolbar-item {
453
- margin-left: 0.3em;
454
- }
455
-
456
- .twikoo div.code-toolbar > .toolbar > .toolbar-item > a,
457
- .twikoo div.code-toolbar > .toolbar > .toolbar-item > button,
458
- .twikoo div.code-toolbar > .toolbar > .toolbar-item > span {
459
- padding: 2px 4px;
460
- border-radius: 0.3em;
461
- }
462
-
463
- .twikoo div.code-toolbar > .toolbar > .toolbar-item > button {
464
- border: 1px solid rgba(128, 128, 128, 0.31);
465
- }
475
+ > .toolbar {
476
+ position: absolute;
477
+ right: 4px;
478
+ top: 4px;
479
+ font-size: 0.8125rem;
480
+ font-weight: 500;
481
+ display: flex;
482
+ > .toolbar-item {
483
+ margin-left: 0.3em;
484
+ > a,
485
+ > button,
486
+ > span {
487
+ padding: 2px 4px;
488
+ border-radius: 0.3em;
489
+ }
466
490
 
467
- .twikoo div.code-toolbar > .toolbar > .toolbar-item > button:hover {
468
- cursor: pointer;
491
+ > button {
492
+ border: 1px solid hsl(from var(--surface1) h s l / 0.31);
493
+ &:hover {
494
+ cursor: pointer;
495
+ }
496
+ }
497
+ }
498
+ }
469
499
  }
470
500
 
471
501
  .tk-footer {
472
502
  width: 100%;
473
503
  text-align: end;
474
504
  font-size: 0.75em;
475
- color: #999999;
505
+ color: var(--subtext0);
476
506
  margin-top: 1em;
477
507
  }
478
508
 
@@ -500,10 +530,13 @@
500
530
  align-items: center;
501
531
  justify-content: center;
502
532
  cursor: pointer;
533
+ border-radius: 4px;
534
+ transition: background-color 0.15s ease-out;
503
535
  }
504
536
 
505
537
  .tk-pagination-pager.__current {
506
538
  background-color: var(--blue);
539
+ color: var(--base);
507
540
  pointer-events: none;
508
541
  }
509
542
 
@@ -593,7 +626,7 @@
593
626
  .tk-admin-actions {
594
627
  display: flex;
595
628
  margin-bottom: 1em;
596
- border-bottom: 1px solid rgba(255, 255, 255, 0.5);
629
+ border-bottom: 1px solid hsl(from var(--surface0) h s l / 0.5);
597
630
  button {
598
631
  font-size: 1em;
599
632
  padding: 0.25em 1em;
@@ -609,7 +642,7 @@
609
642
  .tk-admin-config-group-title {
610
643
  margin-top: 1em;
611
644
  font-size: 1.25rem;
612
- font-weight: bold;
645
+ font-weight: 700;
613
646
  }
614
647
 
615
648
  .tk-admin-config-groups .tk-admin-config-group,
@@ -662,7 +695,7 @@
662
695
  .tk-admin-import-label {
663
696
  margin-top: 1em;
664
697
  font-size: 1.25rem;
665
- font-weight: bold;
698
+ font-weight: 700;
666
699
  }
667
700
 
668
701
  .tk-admin-import select,
@@ -702,7 +735,7 @@
702
735
  }
703
736
 
704
737
  .tk-admin::-webkit-scrollbar-thumb {
705
- background-color: rgba(255, 255, 255, 0.31);
738
+ background-color: var(--overlay0);
706
739
  }
707
740
 
708
741
  .tk-admin.__show {
@@ -721,6 +754,8 @@
721
754
  padding: 1rem;
722
755
  box-sizing: content-box;
723
756
  color: var(--base);
757
+ cursor: pointer;
758
+ transition: opacity 0.15s ease-out;
724
759
  }
725
760
 
726
761
  .tk-login,
@@ -788,6 +823,10 @@
788
823
  line-height: 2em;
789
824
  margin-right: 2em;
790
825
  margin-bottom: -2px;
826
+ transition: color 0.15s ease-out;
827
+ &:hover {
828
+ color: var(--text);
829
+ }
791
830
  }
792
831
 
793
832
  .tk-panel .tk-tab.__active {
@@ -799,32 +838,24 @@
799
838
  }
800
839
 
801
840
  .twikoo svg {
802
- width: 100%;
803
- height: 100%;
804
- fill: var(--lavender);
841
+ fill: var(--subtext1);
805
842
  }
806
843
 
807
- /* 全局 CSS */
808
844
  .tk-expand {
809
- width: 100%;
810
845
  cursor: pointer;
811
846
  padding: 0.75em;
812
847
  text-align: center;
813
- transition: all 0.5s;
814
- }
815
-
816
- .tk-expand:hover {
817
- background-color: rgba(0, 0, 0, 0.13);
818
- }
819
-
820
- .tk-expand:active {
821
- background-color: rgba(0, 0, 0, 0.19);
848
+ &:hover,
849
+ &:active {
850
+ background-color: var(--surfacevar(--surface0) 0);
851
+ }
822
852
  }
823
853
 
824
854
  .tk-content img {
825
855
  max-width: 300px;
826
856
  max-height: 300px;
827
857
  vertical-align: middle;
858
+ cursor: zoom-in;
828
859
  }
829
860
 
830
861
  .tk-owo-emotion,
@@ -833,19 +864,19 @@
833
864
  height: auto;
834
865
  }
835
866
 
836
- /* element-ui overwrite */
837
867
  .twikoo .el-input__inner,
838
868
  .twikoo .el-textarea__inner {
839
869
  color: currentColor;
840
870
  background-color: transparent;
841
871
  border-color: hsl(from var(--surface1) h s l / 0.31);
842
872
 
843
- &:hover {
844
- border-color: hsl(from var(--surface1) h s l / 0.5);
845
- }
846
873
  &:focus {
847
874
  border-color: var(--blue);
848
875
  }
876
+
877
+ &:focus-visible {
878
+ box-shadow: 0 0 0 2px hsl(from var(--blue) h s l / 0.25);
879
+ }
849
880
  }
850
881
 
851
882
  .twikoo .el-button:not(.el-button--primary):not(.el-button--text) {
@@ -896,107 +927,89 @@
896
927
  * Modified by: iMaeGoo
897
928
  * Released under the MIT License.
898
929
  */
899
-
900
930
  .OwO {
901
931
  user-select: none;
902
-
903
932
  .OwO-logo {
904
933
  width: 1.125em;
905
934
  display: flex;
906
935
  }
907
936
 
908
- .OwO-body {
909
- display: none;
910
- position: absolute;
911
- left: 0;
912
- right: 0;
913
- max-width: 500px;
914
- color: #4a4a4a;
915
- background-color: var(--base);
916
- border: 1px solid rgba(144, 147, 153, 0.31);
917
- top: 2em;
918
- border-radius: 0 4px 4px;
919
- z-index: 1000;
920
-
921
- .OwO-items {
922
- user-select: none;
923
- display: none;
924
- padding: 10px;
925
- padding-right: 0;
926
- margin: 0;
927
- overflow: auto;
928
- font-size: 0;
937
+ &.OwO-open .OwO-body {
938
+ display: block;
939
+ }
940
+ }
929
941
 
930
- .OwO-item {
931
- list-style-type: none;
932
- padding: 5px 10px;
933
- display: inline-block;
934
- font-size: 16px;
935
- cursor: pointer;
936
- transition: 0.3s;
937
- text-align: center;
942
+ .OwO-body {
943
+ display: none;
944
+ position: absolute;
945
+ left: 0;
946
+ right: 0;
947
+ max-width: 500px;
948
+ color: var(--text);
949
+ background-color: var(--base);
950
+ border: 1px solid var(--surface0);
951
+ top: 2em;
952
+ border-radius: var(--radius);
953
+ z-index: 200;
954
+
955
+ .OwO-items {
956
+ padding: 10px 0 10px 10px;
957
+ margin: 0;
958
+ overflow: auto;
959
+ font-size: 0;
960
+ }
938
961
 
939
- &:hover {
940
- background-color: var(--surface0);
941
- }
942
- }
962
+ .OwO-item {
963
+ list-style-type: none;
964
+ padding: 5px 10px;
965
+ display: inline-block;
966
+ font-size: 16px;
967
+ cursor: pointer;
968
+ text-align: center;
969
+ &:hover {
970
+ background-color: var(--surface0);
943
971
  }
944
972
 
945
- .OwO-items-image {
946
- .OwO-item {
947
- img {
948
- max-width: 100%;
949
- }
950
- }
973
+ &:focus-visible {
974
+ background-color: var(--surface0);
975
+ outline: none;
951
976
  }
977
+ }
952
978
 
953
- .OwO-items-show {
954
- display: block;
979
+ .OwO-items-image {
980
+ .OwO-item {
981
+ img {
982
+ max-width: 100%;
983
+ }
955
984
  }
985
+ }
956
986
 
957
- .OwO-bar {
958
- width: 100%;
959
- border-top: 1px solid rgba(144, 147, 153, 0.31);
960
- border-radius: 0 0 4px 4px;
961
-
962
- .OwO-packages {
963
- margin: 0;
964
- padding: 0;
965
- font-size: 0;
966
-
967
- li {
968
- list-style-type: none;
969
- display: inline-block;
970
- line-height: 30px;
971
- font-size: 14px;
972
- padding: 0 10px;
973
- cursor: pointer;
974
- margin-right: 3px;
975
-
976
- &:nth-child(1) {
977
- border-radius: 0 0 0 3px;
978
- }
979
-
980
- &:hover {
981
- background-color: var(--surface0);
982
- }
987
+ .OwO-bar {
988
+ width: 100%;
989
+ border-top: 1px solid var(--surface0);
990
+ .OwO-packages {
991
+ margin: 0;
992
+ padding: 0;
993
+ font-size: 0;
994
+ li {
995
+ list-style-type: none;
996
+ display: inline-block;
997
+ line-height: 30px;
998
+ font-size: 14px;
999
+ padding: 0 10px;
1000
+ cursor: pointer;
1001
+ margin-right: 3px;
1002
+ &:nth-child(1) {
1003
+ border-radius: 0 0 0 3px;
983
1004
  }
1005
+ }
984
1006
 
985
- .OwO-package-active {
986
- background-color: var(--surface0);
987
- }
1007
+ .OwO-package-active,
1008
+ .OwO-packages:hover {
1009
+ color: var(--lavender);
988
1010
  }
989
1011
  }
990
1012
  }
991
-
992
- &.OwO-open .OwO-body {
993
- display: block;
994
- }
995
- }
996
-
997
- .night .OwO .OwO-body {
998
- color: var(--text);
999
- background-color: var(--mantle);
1000
1013
  }
1001
1014
 
1002
1015
  @media screen and (max-width: 600px) {
@@ -1031,17 +1044,23 @@
1031
1044
  background: var(--base);
1032
1045
  border: 1px solid var(--surface0);
1033
1046
  color: var(--subtext1);
1034
-
1035
1047
  text-align: center;
1036
1048
  box-sizing: border-box;
1037
1049
  outline: 0;
1038
1050
  margin: 0;
1039
- transition: 0.1s;
1051
+ transition:
1052
+ color 0.15s ease-out,
1053
+ background-color 0.15s ease-out,
1054
+ border-color 0.15s ease-out;
1040
1055
  font-weight: 500;
1041
1056
  user-select: none;
1042
1057
  padding: 12px 20px;
1043
1058
  font-size: 14px;
1044
1059
  border-radius: 4px;
1060
+ &:focus-visible {
1061
+ border-color: var(--blue);
1062
+ box-shadow: 0 0 0 2px hsl(from var(--blue) h s l / 0.25);
1063
+ }
1045
1064
  }
1046
1065
 
1047
1066
  .el-button + .el-button {
@@ -1089,7 +1108,7 @@
1089
1108
  }
1090
1109
 
1091
1110
  .el-textarea .el-input__count {
1092
- color: #909399;
1111
+ color: var(--subtext0);
1093
1112
  background: var(--base);
1094
1113
  position: absolute;
1095
1114
  font-size: 12px;
@@ -1098,34 +1117,21 @@
1098
1117
  }
1099
1118
 
1100
1119
  .el-textarea.is-disabled .el-textarea__inner {
1101
- background-color: #f5f7fa;
1102
- border-color: #e4e7ed;
1120
+ background-color: var(--mantle);
1121
+ border-color: var(--surface0);
1103
1122
  color: var(--subtext0);
1104
1123
  cursor: not-allowed;
1105
- }
1106
-
1107
- .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder {
1108
- color: var(--subtext0);
1109
- }
1110
-
1111
- .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder {
1112
- color: var(--subtext0);
1113
- }
1114
-
1115
- .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder {
1116
- color: var(--subtext0);
1117
- }
1118
-
1119
- .el-textarea.is-disabled .el-textarea__inner::placeholder {
1120
- color: var(--subtext0);
1124
+ &::placeholder {
1125
+ color: var(--subtext0);
1126
+ }
1121
1127
  }
1122
1128
 
1123
1129
  .el-textarea.is-exceed .el-textarea__inner {
1124
- border-color: #f56c6c;
1130
+ border-color: var(--red);
1125
1131
  }
1126
1132
 
1127
1133
  .el-textarea.is-exceed .el-input__count {
1128
- color: #f56c6c;
1134
+ color: var(--red);
1129
1135
  }
1130
1136
 
1131
1137
  .el-input {
@@ -1147,7 +1153,7 @@
1147
1153
  .el-input::-webkit-scrollbar-thumb {
1148
1154
  border-radius: 5px;
1149
1155
  width: 6px;
1150
- background: #b4bccc;
1156
+ background: var(--overlay0);
1151
1157
  }
1152
1158
 
1153
1159
  .el-input::-webkit-scrollbar-corner {
@@ -1171,15 +1177,14 @@
1171
1177
  }
1172
1178
 
1173
1179
  .el-input .el-input__clear:hover {
1174
- color: #909399;
1180
+ color: var(--text);
1175
1181
  }
1176
1182
 
1177
1183
  .el-input .el-input__count {
1178
1184
  height: 100%;
1179
1185
  display: inline-flex;
1180
- -ms-flex-align: center;
1181
1186
  align-items: center;
1182
- color: #909399;
1187
+ color: var(--subtext0);
1183
1188
  font-size: 12px;
1184
1189
  }
1185
1190
 
@@ -1201,9 +1206,9 @@
1201
1206
  .el-input__inner {
1202
1207
  background-color: var(--base);
1203
1208
  border-radius: 4px;
1204
- border: 1px solid #dcdfe6;
1209
+ border: 1px solid hsl(from var(--surface1) h s l / 0.31);
1205
1210
  box-sizing: border-box;
1206
- color: #606266;
1211
+ color: var(--text);
1207
1212
  display: inline-block;
1208
1213
  height: 40px;
1209
1214
  line-height: 40px;
@@ -1223,10 +1228,6 @@
1223
1228
  color: var(--subtext0);
1224
1229
  }
1225
1230
 
1226
- .el-input__inner::-ms-reveal {
1227
- display: none;
1228
- }
1229
-
1230
1231
  .el-input__inner::placeholder {
1231
1232
  color: var(--subtext0);
1232
1233
  }
@@ -1272,8 +1273,8 @@
1272
1273
  }
1273
1274
 
1274
1275
  .el-input.is-disabled .el-input__inner {
1275
- background-color: #f5f7fa;
1276
- border-color: #e4e7ed;
1276
+ background-color: var(--mantle);
1277
+ border-color: var(--surface0);
1277
1278
  color: var(--subtext0);
1278
1279
  cursor: not-allowed;
1279
1280
  }
@@ -1416,12 +1417,6 @@
1416
1417
  border-color: transparent;
1417
1418
  }
1418
1419
 
1419
- .el-input__inner::-ms-clear {
1420
- display: none;
1421
- width: 0;
1422
- height: 0;
1423
- }
1424
-
1425
1420
  .el-loading-parent--relative {
1426
1421
  position: relative !important;
1427
1422
  }
@@ -1433,12 +1428,9 @@
1433
1428
  .el-loading-mask {
1434
1429
  position: absolute;
1435
1430
  z-index: 2000;
1436
- background-color: rgba(255, 255, 255, 0.9);
1431
+ background-color: hsl(from var(--base) h s l / 0.9);
1437
1432
  margin: 0;
1438
- top: 0;
1439
- right: 0;
1440
- bottom: 0;
1441
- left: 0;
1433
+ inset: 0;
1442
1434
  transition: opacity 0.3s;
1443
1435
  }
1444
1436
 
@@ -1446,46 +1438,45 @@
1446
1438
  position: fixed;
1447
1439
  }
1448
1440
 
1449
- .el-loading-mask.is-fullscreen .el-loading-spinner {
1450
- margin-top: -25px;
1451
- }
1452
-
1453
- .el-loading-mask.is-fullscreen .el-loading-spinner .circular {
1454
- height: 50px;
1455
- width: 50px;
1456
- }
1457
-
1458
1441
  .el-loading-spinner {
1459
1442
  top: 50%;
1460
1443
  margin-top: -21px;
1461
1444
  width: 100%;
1462
1445
  text-align: center;
1463
1446
  position: absolute;
1464
- }
1447
+ .el-loading-text {
1448
+ color: var(--blue);
1449
+ margin: 3px 0;
1450
+ font-size: 14px;
1451
+ }
1465
1452
 
1466
- .el-loading-spinner .el-loading-text {
1467
- color: var(--blue);
1468
- margin: 3px 0;
1469
- font-size: 14px;
1470
- }
1453
+ .circular {
1454
+ height: 42px;
1455
+ width: 42px;
1456
+ animation: loading-rotate 2s linear infinite;
1457
+ }
1471
1458
 
1472
- .el-loading-spinner .circular {
1473
- height: 42px;
1474
- width: 42px;
1475
- animation: loading-rotate 2s linear infinite;
1459
+ .path {
1460
+ animation: loading-dash 1.5s ease-in-out infinite;
1461
+ stroke-dasharray: 90, 150;
1462
+ stroke-dashoffset: 0;
1463
+ stroke-width: 2;
1464
+ stroke: var(--blue);
1465
+ stroke-linecap: round;
1466
+ }
1467
+
1468
+ i {
1469
+ color: var(--blue);
1470
+ }
1476
1471
  }
1477
1472
 
1478
- .el-loading-spinner .path {
1479
- animation: loading-dash 1.5s ease-in-out infinite;
1480
- stroke-dasharray: 90, 150;
1481
- stroke-dashoffset: 0;
1482
- stroke-width: 2;
1483
- stroke: var(--blue);
1484
- stroke-linecap: round;
1473
+ .el-loading-mask.is-fullscreen .el-loading-spinner {
1474
+ margin-top: -25px;
1485
1475
  }
1486
1476
 
1487
- .el-loading-spinner i {
1488
- color: var(--blue);
1477
+ .el-loading-mask.is-fullscreen .el-loading-spinner .circular {
1478
+ height: 50px;
1479
+ width: 50px;
1489
1480
  }
1490
1481
 
1491
1482
  .el-loading-fade-enter,
@@ -1494,7 +1485,7 @@
1494
1485
  }
1495
1486
 
1496
1487
  @keyframes loading-rotate {
1497
- 100% {
1488
+ to {
1498
1489
  transform: rotate(360deg);
1499
1490
  }
1500
1491
  }
@@ -1510,8 +1501,33 @@
1510
1501
  stroke-dashoffset: -40px;
1511
1502
  }
1512
1503
 
1513
- 100% {
1504
+ to {
1514
1505
  stroke-dasharray: 90, 150;
1515
1506
  stroke-dashoffset: -120px;
1516
1507
  }
1517
1508
  }
1509
+
1510
+ @media (prefers-reduced-motion: reduce) {
1511
+ .tk-fade-in,
1512
+ .tk-expand,
1513
+ .tk-extra,
1514
+ .tk-nick-link,
1515
+ .tk-avatar.tk-clickable,
1516
+ .tk-ruser,
1517
+ .tk-admin-close,
1518
+ .tk-panel-logout,
1519
+ .el-button,
1520
+ .el-textarea__inner,
1521
+ .el-input__inner,
1522
+ .el-input .el-input__clear,
1523
+ .el-input__prefix,
1524
+ .el-input__suffix,
1525
+ .el-input__icon,
1526
+ .tk-submit-action-icon.OwO .OwO-logo {
1527
+ transition: none;
1528
+ }
1529
+
1530
+ .tk-fade-in {
1531
+ animation: none;
1532
+ }
1533
+ }