dumi 2.0.18 → 2.1.1

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 (49) hide show
  1. package/dist/client/theme-api/context.d.ts +1 -1
  2. package/dist/client/theme-api/index.d.ts +1 -0
  3. package/dist/client/theme-api/index.js +1 -0
  4. package/dist/client/theme-api/types.d.ts +4 -0
  5. package/dist/client/theme-api/usePrefersColor.d.ts +7 -0
  6. package/dist/client/theme-api/usePrefersColor.js +199 -0
  7. package/dist/constants.d.ts +2 -0
  8. package/dist/constants.js +6 -0
  9. package/dist/features/configPlugins/index.js +2 -1
  10. package/dist/features/derivative.js +7 -5
  11. package/dist/features/routes.js +6 -3
  12. package/dist/features/sitemap.js +1 -1
  13. package/dist/features/theme/index.js +20 -0
  14. package/dist/loaders/markdown/transformer/rehypeDemo.js +1 -1
  15. package/dist/types.d.ts +15 -7
  16. package/package.json +1 -1
  17. package/theme-default/builtins/Badge/index.less +20 -0
  18. package/theme-default/builtins/Container/index.less +29 -28
  19. package/theme-default/builtins/Previewer/index.less +48 -1
  20. package/theme-default/builtins/SourceCode/index.less +40 -1
  21. package/theme-default/builtins/Table/index.less +2 -2
  22. package/theme-default/layouts/DocLayout/index.less +26 -0
  23. package/theme-default/locales/en-US.json +3 -1
  24. package/theme-default/locales/zh-CN.json +3 -1
  25. package/theme-default/slots/ColorSwitch/index.d.ts +4 -0
  26. package/theme-default/slots/ColorSwitch/index.js +86 -0
  27. package/theme-default/slots/ColorSwitch/index.less +58 -0
  28. package/theme-default/slots/Content/index.less +45 -0
  29. package/theme-default/slots/ContentTabs/index.less +20 -0
  30. package/theme-default/slots/Features/index.less +18 -0
  31. package/theme-default/slots/Footer/index.less +9 -0
  32. package/theme-default/slots/Header/index.js +6 -2
  33. package/theme-default/slots/Header/index.less +21 -0
  34. package/theme-default/slots/Hero/index.less +17 -0
  35. package/theme-default/slots/HeroTitle/index.less +4 -0
  36. package/theme-default/slots/LangSwitch/index.js +3 -1
  37. package/theme-default/slots/LangSwitch/index.less +17 -1
  38. package/theme-default/slots/Logo/index.less +4 -0
  39. package/theme-default/slots/Navbar/index.less +12 -0
  40. package/theme-default/slots/NotFound/index.less +9 -0
  41. package/theme-default/slots/PreviewerActions/index.less +45 -1
  42. package/theme-default/slots/RtlSwitch/index.js +24 -4
  43. package/theme-default/slots/RtlSwitch/index.less +29 -3
  44. package/theme-default/slots/SearchBar/index.less +43 -0
  45. package/theme-default/slots/SearchResult/index.less +48 -2
  46. package/theme-default/slots/Sidebar/index.less +25 -0
  47. package/theme-default/slots/Toc/index.less +17 -0
  48. package/theme-default/styles/utils.less +14 -2
  49. package/theme-default/styles/variables.less +17 -0
@@ -6,6 +6,10 @@
6
6
  padding: 4px 0;
7
7
  border-inline-start: 1px solid @c-border;
8
8
 
9
+ @{dark-selector} & {
10
+ border-inline-start-color: @c-border-dark;
11
+ }
12
+
9
13
  &:empty {
10
14
  display: none;
11
15
  }
@@ -23,14 +27,27 @@
23
27
  overflow: hidden;
24
28
  text-overflow: ellipsis;
25
29
 
30
+ @{dark-selector} & {
31
+ color: @c-text-secondary-dark;
32
+ }
33
+
26
34
  &:hover {
27
35
  color: @c-text;
36
+
37
+ @{dark-selector} & {
38
+ color: @c-text-dark;
39
+ }
28
40
  }
29
41
 
30
42
  &.active {
31
43
  margin-inline-start: -1px;
32
44
  color: @c-text;
33
45
  border-inline-start: 1px solid @c-primary;
46
+
47
+ @{dark-selector} & {
48
+ color: @c-text-dark;
49
+ border-inline-start-color: @c-primary-dark;
50
+ }
34
51
  }
35
52
  }
36
53
 
@@ -17,15 +17,19 @@
17
17
  content: attr(data-dumi-tooltip);
18
18
  min-width: 30px;
19
19
  margin-bottom: 8px;
20
- padding: 6px 12px;
20
+ padding: 5px 8px;
21
21
  color: #fff;
22
22
  font-size: 13px;
23
- line-height: 1.2;
23
+ line-height: 1.1;
24
24
  white-space: nowrap;
25
25
  background-color: #000;
26
26
  border-radius: 2px;
27
27
  box-shadow: 0 4px 10px rgba(0, 0, 0, 10%);
28
28
  box-sizing: border-box;
29
+
30
+ @{dark-selector} & {
31
+ background-color: #222;
32
+ }
29
33
  }
30
34
 
31
35
  &::after {
@@ -34,6 +38,10 @@
34
38
  height: 0;
35
39
  border: 4px solid transparent;
36
40
  border-top-color: #000;
41
+
42
+ @{dark-selector} & {
43
+ border-top-color: #222;
44
+ }
37
45
  }
38
46
 
39
47
  &:not(:hover) {
@@ -59,6 +67,10 @@
59
67
  &::after {
60
68
  border-top-color: transparent;
61
69
  border-bottom-color: #000;
70
+
71
+ @{dark-selector} & {
72
+ border-bottom-color: #222;
73
+ }
62
74
  }
63
75
  }
64
76
  }
@@ -6,6 +6,7 @@
6
6
  @s-header-height: 76px;
7
7
  @s-header-height-m: 52px;
8
8
 
9
+ // default theme colors
9
10
  @c-primary: #1677ff;
10
11
  @c-warning: #d59200;
11
12
  @c-success: #208a41;
@@ -17,6 +18,22 @@
17
18
  @c-border-light: #e4e9ec;
18
19
  @c-site-bg: #f7f9fb;
19
20
 
21
+ // dark theme colors
22
+ // @dark-selector be injected by less-loader in feature/theme/index.ts
23
+ @dark-solid-amount: 15%;
24
+ @dark-light-amount: 22%;
25
+ @dark-border-amount: 73%;
26
+ @c-primary-dark: darken(@c-primary, @dark-solid-amount);
27
+ @c-warning-dark: darken(@c-warning, @dark-solid-amount);
28
+ @c-success-dark: darken(@c-success, @dark-solid-amount);
29
+ @c-error-dark: darken(@c-error, @dark-solid-amount);
30
+ @c-text-dark: lighten(@c-text-note, @dark-light-amount);
31
+ @c-text-secondary-dark: lighten(@c-text-secondary, @dark-light-amount);
32
+ @c-text-note-dark: lighten(@c-text, @dark-light-amount);
33
+ @c-border-dark: darken(@c-border, @dark-border-amount);
34
+ @c-border-less-dark: darken(@c-border-light, @dark-border-amount);
35
+ @c-site-bg-dark: darken(@c-site-bg, 95%);
36
+
20
37
  @mobile: ~'only screen and (max-width: 767px)';
21
38
  @tablet: ~'only screen and (min-width: 768px) and (max-width: 1024px)';
22
39
  @desktop: ~'only screen and (min-width: 1025px)';