valaxy 0.15.5 → 0.15.7
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/client/components/ValaxyCopyright.vue +0 -1
- package/client/components/ValaxyLogo.vue +1 -0
- package/client/components/ValaxyMd.vue +1 -0
- package/client/components/ValaxyOverlay.vue +1 -5
- package/client/components/ValaxyPagination.vue +0 -2
- package/client/styles/common/code.scss +16 -20
- package/client/styles/common/hamburger.scss +4 -1
- package/client/styles/common/markdown.scss +3 -6
- package/client/styles/common/scrollbar.scss +1 -0
- package/client/styles/components/code-group.scss +1 -1
- package/client/styles/components/custom-block.scss +6 -4
- package/client/styles/css-vars.scss +8 -4
- package/client/styles/global/index.scss +0 -1
- package/client/styles/index.scss +0 -1
- package/client/styles/mixins/variable.scss +6 -0
- package/client/styles/palette.scss +12 -21
- package/client/styles/third/katex.scss +6 -0
- package/client/styles/vars.scss +0 -3
- package/client/utils/index.ts +1 -0
- package/client/utils/router.ts +39 -0
- package/dist/{chunk-URU76UTL.mjs → chunk-L6ZWDWRN.mjs} +33 -32
- package/dist/{chunk-APBMT6DR.cjs → chunk-RDHGI62K.cjs} +32 -31
- package/dist/node/cli.cjs +1 -1
- package/dist/node/cli.mjs +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.mjs +1 -1
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.mjs +1 -1
- package/package.json +6 -6
- package/types/default-theme.d.ts +0 -1
- /package/dist/{chunk-M4Y54B6H.mjs → chunk-GY4S4RDR.mjs} +0 -0
- /package/dist/{chunk-MHVZJPKO.cjs → chunk-YDNPXS5U.cjs} +0 -0
|
@@ -63,7 +63,6 @@ const licenseHtml = computed(() => {
|
|
|
63
63
|
|
|
64
64
|
&::after {
|
|
65
65
|
pointer-events: none;
|
|
66
|
-
|
|
67
66
|
position: absolute;
|
|
68
67
|
color: white;
|
|
69
68
|
background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='gray' d='M245.8 214.9l-33.2 17.3c-9.4-19.6-25.2-20-27.4-20-22.2 0-33.3 14.6-33.3 43.9 0 23.5 9.2 43.8 33.3 43.8 14.4 0 24.6-7 30.5-21.3l30.6 15.5a73.2 73.2 0 01-65.1 39c-22.6 0-74-10.3-74-77 0-58.7 43-77 72.6-77 30.8-.1 52.7 11.9 66 35.8zm143 0l-32.7 17.3c-9.5-19.8-25.7-20-27.9-20-22.1 0-33.2 14.6-33.2 43.9 0 23.5 9.2 43.8 33.2 43.8 14.5 0 24.7-7 30.5-21.3l31 15.5c-2 3.8-21.3 39-65 39-22.7 0-74-9.9-74-77 0-58.7 43-77 72.6-77C354 179 376 191 389 214.8zM247.7 8C104.7 8 0 123 0 256c0 138.4 113.6 248 247.6 248C377.5 504 496 403 496 256 496 118 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.5 85.5-203.3 203.8-203.3A201.7 201.7 0 01451.3 256c0 121.7-99.7 202.9-202.9 202.9z'/%3E%3C/svg%3E");
|
|
@@ -14,16 +14,12 @@ withDefaults(defineProps<{
|
|
|
14
14
|
|
|
15
15
|
<style lang="scss">
|
|
16
16
|
@use "sass:map";
|
|
17
|
-
|
|
18
17
|
@use "valaxy/client/styles/mixins/index.scss" as *;
|
|
19
18
|
|
|
20
19
|
.va-overlay {
|
|
21
20
|
background-color: rgba(0, 0, 0, 0.3);
|
|
22
21
|
position: fixed;
|
|
23
|
-
|
|
24
|
-
right: 0;
|
|
25
|
-
bottom: 0;
|
|
26
|
-
left: 0;
|
|
22
|
+
inset: 0;
|
|
27
23
|
z-index: calc(var(--va-z-overlay) - 1);
|
|
28
24
|
transition: opacity 0.4s;
|
|
29
25
|
|
|
@@ -90,7 +90,6 @@ function jumpTo(page: number) {
|
|
|
90
90
|
display: inline-flex;
|
|
91
91
|
justify-content: center;
|
|
92
92
|
align-items: center;
|
|
93
|
-
|
|
94
93
|
width: 2rem;
|
|
95
94
|
height: 2rem;
|
|
96
95
|
margin: 0;
|
|
@@ -99,7 +98,6 @@ function jumpTo(page: number) {
|
|
|
99
98
|
|
|
100
99
|
.prev, .next, .page-number {
|
|
101
100
|
cursor: pointer;
|
|
102
|
-
|
|
103
101
|
color: var(--va-c-text);
|
|
104
102
|
text-decoration: none;
|
|
105
103
|
background-color: var(--page-btn-bg-color);
|
|
@@ -18,14 +18,14 @@ html:not(.dark) .vp-code-dark {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
@media (
|
|
21
|
+
@media (width >= 640px) {
|
|
22
22
|
.markdown-body div[class*="language-"] {
|
|
23
23
|
border-radius: 6px;
|
|
24
24
|
margin: 16px 0;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
@media (
|
|
28
|
+
@media (width <= 639px) {
|
|
29
29
|
.markdown-body li div[class*="language-"] {
|
|
30
30
|
border-radius: 6px 0 0 6px;
|
|
31
31
|
}
|
|
@@ -42,25 +42,19 @@ html:not(.dark) .vp-code-dark {
|
|
|
42
42
|
background-color: var(--va-code-block-bg);
|
|
43
43
|
overflow-x: auto;
|
|
44
44
|
}
|
|
45
|
-
}
|
|
46
45
|
|
|
47
|
-
.markdown-body {
|
|
48
46
|
[class*='language-'] pre,
|
|
49
47
|
[class*='language-'] code {
|
|
50
|
-
/*rtl:ignore*/
|
|
48
|
+
/* rtl:ignore */
|
|
51
49
|
direction: ltr;
|
|
52
|
-
|
|
50
|
+
|
|
51
|
+
/* rtl:ignore */
|
|
53
52
|
text-align: left;
|
|
54
53
|
white-space: pre;
|
|
55
54
|
word-spacing: normal;
|
|
56
55
|
word-break: normal;
|
|
57
56
|
word-wrap: normal;
|
|
58
|
-
-moz-tab-size: 4;
|
|
59
|
-
-o-tab-size: 4;
|
|
60
57
|
tab-size: 4;
|
|
61
|
-
-webkit-hyphens: none;
|
|
62
|
-
-moz-hyphens: none;
|
|
63
|
-
-ms-hyphens: none;
|
|
64
58
|
hyphens: none;
|
|
65
59
|
}
|
|
66
60
|
|
|
@@ -103,11 +97,12 @@ html:not(.dark) .vp-code-dark {
|
|
|
103
97
|
|
|
104
98
|
// copy
|
|
105
99
|
[class*='language-'] > button.copy {
|
|
106
|
-
/*rtl:ignore*/
|
|
100
|
+
/* rtl:ignore */
|
|
107
101
|
direction: ltr;
|
|
108
102
|
position: absolute;
|
|
109
103
|
top: 12px;
|
|
110
|
-
|
|
104
|
+
|
|
105
|
+
/* rtl:ignore */
|
|
111
106
|
right: 12px;
|
|
112
107
|
z-index: 3;
|
|
113
108
|
border: 1px solid var(--va-code-copy-code-border-color);
|
|
@@ -140,7 +135,7 @@ html:not(.dark) .vp-code-dark {
|
|
|
140
135
|
|
|
141
136
|
[class*='language-'] > button.copy.copied,
|
|
142
137
|
[class*='language-'] > button.copy:hover.copied {
|
|
143
|
-
/*rtl:ignore*/
|
|
138
|
+
/* rtl:ignore */
|
|
144
139
|
border-radius: 0 4px 4px 0;
|
|
145
140
|
background-color: var(--va-code-copy-code-hover-bg);
|
|
146
141
|
background-image: var(--va-icon-copied);
|
|
@@ -150,13 +145,15 @@ html:not(.dark) .vp-code-dark {
|
|
|
150
145
|
[class*='language-'] > button.copy:hover.copied::before {
|
|
151
146
|
position: relative;
|
|
152
147
|
top: -1px;
|
|
153
|
-
|
|
148
|
+
|
|
149
|
+
/* rtl:ignore */
|
|
154
150
|
transform: translateX(calc(-100% - 1px));
|
|
155
151
|
display: flex;
|
|
156
152
|
justify-content: center;
|
|
157
153
|
align-items: center;
|
|
158
154
|
border: 1px solid var(--va-code-copy-code-hover-border-color);
|
|
159
|
-
|
|
155
|
+
|
|
156
|
+
/* rtl:ignore */
|
|
160
157
|
border-right: 0;
|
|
161
158
|
border-radius: 4px 0 0 4px;
|
|
162
159
|
padding: 0 10px;
|
|
@@ -174,7 +171,8 @@ html:not(.dark) .vp-code-dark {
|
|
|
174
171
|
[class*='language-'] > span.lang {
|
|
175
172
|
position: absolute;
|
|
176
173
|
top: 2px;
|
|
177
|
-
|
|
174
|
+
|
|
175
|
+
/* rtl:ignore */
|
|
178
176
|
right: 8px;
|
|
179
177
|
z-index: 2;
|
|
180
178
|
font-size: 12px;
|
|
@@ -189,10 +187,8 @@ html:not(.dark) .vp-code-dark {
|
|
|
189
187
|
[class*='language-'] > button.copy:focus + span.lang {
|
|
190
188
|
opacity: 0;
|
|
191
189
|
}
|
|
192
|
-
}
|
|
193
190
|
|
|
194
|
-
// diff
|
|
195
|
-
.markdown-body {
|
|
191
|
+
// diff
|
|
196
192
|
[class*='language-'] code .diff {
|
|
197
193
|
transition: background-color 0.5s;
|
|
198
194
|
margin: 0 -24px;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* stylelint-disable no-descending-specificity */
|
|
2
|
+
/* stylelint-disable declaration-block-single-line-max-declarations */
|
|
1
3
|
@use "sass:math";
|
|
2
4
|
|
|
3
5
|
$hamburger-size: 22px;
|
|
@@ -34,7 +36,6 @@ $hamburger-size: 22px;
|
|
|
34
36
|
.vt-hamburger-middle,
|
|
35
37
|
.vt-hamburger-bottom {
|
|
36
38
|
left: 0;
|
|
37
|
-
|
|
38
39
|
position: absolute;
|
|
39
40
|
width: $hamburger-size;
|
|
40
41
|
height: 2px;
|
|
@@ -46,10 +47,12 @@ $hamburger-size: 22px;
|
|
|
46
47
|
top: 0;
|
|
47
48
|
transform: translateX(0);
|
|
48
49
|
}
|
|
50
|
+
|
|
49
51
|
.vt-hamburger-middle {
|
|
50
52
|
top: math.div($hamburger-size - 4px, 2);
|
|
51
53
|
transform: translateX(math.div(-$hamburger-size, 2));
|
|
52
54
|
}
|
|
55
|
+
|
|
53
56
|
.vt-hamburger-bottom {
|
|
54
57
|
top: $hamburger-size - 4px;
|
|
55
58
|
transform: translateX(math.div(-$hamburger-size, 4));
|
|
@@ -51,11 +51,8 @@
|
|
|
51
51
|
margin: 0;
|
|
52
52
|
border-radius: 8px 8px 0 0;
|
|
53
53
|
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
54
|
|
|
57
|
-
// header-anchor
|
|
58
|
-
.markdown-body {
|
|
55
|
+
// header-anchor
|
|
59
56
|
.header-anchor {
|
|
60
57
|
position: absolute;
|
|
61
58
|
top: 0;
|
|
@@ -70,7 +67,7 @@
|
|
|
70
67
|
opacity 0.25s;
|
|
71
68
|
}
|
|
72
69
|
|
|
73
|
-
.header-anchor
|
|
70
|
+
.header-anchor::before {
|
|
74
71
|
content: var(--va-header-anchor-symbol, '#');
|
|
75
72
|
|
|
76
73
|
&:hover {
|
|
@@ -95,7 +92,7 @@
|
|
|
95
92
|
}
|
|
96
93
|
|
|
97
94
|
|
|
98
|
-
@media (
|
|
95
|
+
@media (width >= 768px) {
|
|
99
96
|
.markdown-body h1 {
|
|
100
97
|
letter-spacing: -0.02em;
|
|
101
98
|
line-height: 40px;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* stylelint-disable no-descending-specificity */
|
|
1
2
|
.custom-block-title {
|
|
2
3
|
margin-bottom: -0.4rem;
|
|
3
4
|
font-weight: 600;
|
|
@@ -19,26 +20,31 @@
|
|
|
19
20
|
--va-custom-block-font-size: 14px;
|
|
20
21
|
--va-custom-block-code-font-size: 13px;
|
|
21
22
|
|
|
23
|
+
// info
|
|
22
24
|
--va-custom-block-info-border: transparent;
|
|
23
25
|
--va-custom-block-info-text: var(--va-c-text-1);
|
|
24
26
|
--va-custom-block-info-bg: var(--va-c-default-soft);
|
|
25
27
|
--va-custom-block-info-code-bg: var(--va-c-default-soft);
|
|
26
28
|
|
|
29
|
+
// tip
|
|
27
30
|
--va-custom-block-tip-border: transparent;
|
|
28
31
|
--va-custom-block-tip-text: var(--va-c-text-1);
|
|
29
32
|
--va-custom-block-tip-bg: var(--va-c-brand-soft);
|
|
30
33
|
--va-custom-block-tip-code-bg: var(--va-c-brand-soft);
|
|
31
34
|
|
|
35
|
+
// warning
|
|
32
36
|
--va-custom-block-warning-border: transparent;
|
|
33
37
|
--va-custom-block-warning-text: var(--va-c-text-1);
|
|
34
38
|
--va-custom-block-warning-bg: var(--va-c-warning-soft);
|
|
35
39
|
--va-custom-block-warning-code-bg: var(--va-c-warning-soft);
|
|
36
40
|
|
|
41
|
+
// danger
|
|
37
42
|
--va-custom-block-danger-border: transparent;
|
|
38
43
|
--va-custom-block-danger-text: var(--va-c-text-1);
|
|
39
44
|
--va-custom-block-danger-bg: var(--va-c-danger-soft);
|
|
40
45
|
--va-custom-block-danger-code-bg: var(--va-c-danger-soft);
|
|
41
46
|
|
|
47
|
+
// details
|
|
42
48
|
--va-custom-block-details-border: var(--va-custom-block-info-border);
|
|
43
49
|
--va-custom-block-details-text: var(--va-custom-block-info-text);
|
|
44
50
|
--va-custom-block-details-bg: var(--va-custom-block-info-bg);
|
|
@@ -149,10 +155,6 @@
|
|
|
149
155
|
background-color: var(--va-custom-block-details-code-bg);
|
|
150
156
|
}
|
|
151
157
|
|
|
152
|
-
.custom-block-title {
|
|
153
|
-
font-weight: 600;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
158
|
.custom-block p + p {
|
|
157
159
|
margin: 8px 0;
|
|
158
160
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* stylelint-disable no-duplicate-selectors */
|
|
1
2
|
@use "sass:map";
|
|
2
3
|
@use "./mixins" as *;
|
|
3
4
|
@use "./vars" as *;
|
|
@@ -9,7 +10,6 @@ $c-primary: #0078e7 !default;
|
|
|
9
10
|
"primary": $c-primary,
|
|
10
11
|
)
|
|
11
12
|
);
|
|
12
|
-
|
|
13
13
|
@use './css-vars/borders.css' as *;
|
|
14
14
|
@use './css-vars/palette.css' as *;
|
|
15
15
|
@use './css-vars/function.css' as *;
|
|
@@ -26,6 +26,7 @@ $c-primary: #0078e7 !default;
|
|
|
26
26
|
:root {
|
|
27
27
|
// palette different with colors
|
|
28
28
|
@include set-css-var-from-map(palette.$palette, "c");
|
|
29
|
+
|
|
29
30
|
// primary
|
|
30
31
|
@include set-css-var-from-map(palette.$colors, "c");
|
|
31
32
|
}
|
|
@@ -33,12 +34,14 @@ $c-primary: #0078e7 !default;
|
|
|
33
34
|
// light
|
|
34
35
|
:root {
|
|
35
36
|
color-scheme: light;
|
|
37
|
+
|
|
36
38
|
@include set-css-var-from-map(palette.$light);
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
// dark
|
|
40
42
|
.dark {
|
|
41
43
|
color-scheme: dark;
|
|
44
|
+
|
|
42
45
|
@include set-css-var-from-map(palette.$dark);
|
|
43
46
|
}
|
|
44
47
|
|
|
@@ -56,6 +59,7 @@ $c-primary: #0078e7 !default;
|
|
|
56
59
|
--va-c-text-2: rgba(60, 60, 67, 0.78);
|
|
57
60
|
--va-c-text-3: rgba(60, 60, 67, 0.56);
|
|
58
61
|
}
|
|
62
|
+
|
|
59
63
|
.dark {
|
|
60
64
|
--va-c-text-1: rgba(255, 255, 245, 0.86);
|
|
61
65
|
--va-c-text-2: rgba(235, 235, 245, 0.6);
|
|
@@ -67,21 +71,21 @@ $c-primary: #0078e7 !default;
|
|
|
67
71
|
--va-code-line-height: 1.7;
|
|
68
72
|
--va-code-font-size: 0.875em;
|
|
69
73
|
|
|
74
|
+
// block
|
|
70
75
|
--va-code-block-color: var(--va-c-text-2);
|
|
71
76
|
--va-code-block-bg: var(--va-c-bg-alt);
|
|
72
77
|
--va-code-block-divider-color: var(--va-c-gutter);
|
|
73
78
|
|
|
79
|
+
// line
|
|
74
80
|
--va-code-lang-color: var(--va-c-text-3);
|
|
75
|
-
|
|
76
81
|
--va-code-line-highlight-color: var(--va-c-default-soft);
|
|
77
82
|
--va-code-line-number-color: var(--va-c-text-3);
|
|
78
83
|
|
|
84
|
+
// diff
|
|
79
85
|
--va-code-line-diff-add-color: var(--va-c-green-soft);
|
|
80
86
|
--va-code-line-diff-add-symbol-color: var(--va-c-green-1);
|
|
81
|
-
|
|
82
87
|
--va-code-line-diff-remove-color: var(--va-c-red-soft);
|
|
83
88
|
--va-code-line-diff-remove-symbol-color: var(--va-c-red-1);
|
|
84
|
-
|
|
85
89
|
--va-code-line-warning-color: var(--va-c-yellow-soft);
|
|
86
90
|
--va-code-line-error-color: var(--va-c-red-soft);
|
|
87
91
|
|
package/client/styles/index.scss
CHANGED
|
@@ -4,12 +4,18 @@
|
|
|
4
4
|
// join-var-name(('button', 'text-color')) => '--#{namespace}-button-text-color'
|
|
5
5
|
@function join-var-name($list) {
|
|
6
6
|
$name: '--' + config.$namespace;
|
|
7
|
+
|
|
7
8
|
@each $item in $list {
|
|
8
9
|
@if $item != '' {
|
|
9
10
|
$name: $name + '-' + $item;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
13
|
+
|
|
12
14
|
@return $name;
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
// get-css-var('button', 'text-color') => var(--el-button-text-color)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
2
|
@use "sass:meta";
|
|
3
|
-
|
|
4
3
|
@use "./mixins" as *;
|
|
4
|
+
@use "sass:color";
|
|
5
5
|
|
|
6
6
|
$palette: () !default;
|
|
7
7
|
$palette: map.merge(
|
|
8
8
|
(
|
|
9
|
-
"white": #
|
|
9
|
+
"white": #fff,
|
|
10
10
|
"black": #1a1a1a,
|
|
11
11
|
"gray": #8e8e8e,
|
|
12
12
|
"danger": #db2828,
|
|
@@ -16,14 +16,13 @@ $palette: map.merge(
|
|
|
16
16
|
"text-light-2": rgba(60, 60, 60, 0.7),
|
|
17
17
|
"text-light-3": rgba(60, 60, 60, 0.33),
|
|
18
18
|
"text-light-4": rgba(60, 60, 60, 0.18),
|
|
19
|
-
"text-dark-1": rgba(255,
|
|
20
|
-
"text-dark-2": rgba(235,
|
|
21
|
-
"text-dark-3": rgba(235,
|
|
22
|
-
"text-dark-4": rgba(235,
|
|
19
|
+
"text-dark-1": rgba(255 ,255 ,255, 0.87),
|
|
20
|
+
"text-dark-2": rgba(235 ,235 ,235, 0.6),
|
|
21
|
+
"text-dark-3": rgba(235 ,235 ,235, 0.38),
|
|
22
|
+
"text-dark-4": rgba(235 ,235 ,235, 0.18),
|
|
23
23
|
),
|
|
24
24
|
$palette
|
|
25
25
|
);
|
|
26
|
-
|
|
27
26
|
$colors: () !default;
|
|
28
27
|
$colors: map.merge(
|
|
29
28
|
(
|
|
@@ -31,18 +30,15 @@ $colors: map.merge(
|
|
|
31
30
|
),
|
|
32
31
|
$colors
|
|
33
32
|
);
|
|
34
|
-
|
|
35
33
|
$c-primary: map.get($colors, "primary") !default;
|
|
36
|
-
|
|
37
34
|
$colors: map.merge(
|
|
38
35
|
(
|
|
39
|
-
"primary-light":
|
|
40
|
-
"primary-lighter":
|
|
41
|
-
"primary-dark":
|
|
36
|
+
"primary-light": color.adjust($c-primary, $lightness: 15%),
|
|
37
|
+
"primary-lighter": color.adjust($c-primary, $lightness: 30%),
|
|
38
|
+
"primary-dark": color.adjust($c-primary, $lightness: -5%),
|
|
42
39
|
),
|
|
43
40
|
$colors
|
|
44
41
|
);
|
|
45
|
-
|
|
46
42
|
$light: () !default;
|
|
47
43
|
$light: map.merge(
|
|
48
44
|
(
|
|
@@ -53,7 +49,7 @@ $light: map.merge(
|
|
|
53
49
|
"c-bg": white,
|
|
54
50
|
"c-bg-light": white,
|
|
55
51
|
"c-bg-dark": #fafafa,
|
|
56
|
-
"c-bg-opacity": rgba(255, 255, 255, 0.8),
|
|
52
|
+
"c-bg-opacity": rgba(255, 255, 255 , 0.8),
|
|
57
53
|
|
|
58
54
|
"c-bg-soft": #f9f9f9,
|
|
59
55
|
"c-bg-alt": #f9f9f9,
|
|
@@ -64,18 +60,13 @@ $light: map.merge(
|
|
|
64
60
|
"c-text-lighter": #666,
|
|
65
61
|
"c-text-dark": #111,
|
|
66
62
|
|
|
67
|
-
"c-primary-rgb": #{red($c-primary),
|
|
68
|
-
green(
|
|
69
|
-
$c-primary,
|
|
70
|
-
),
|
|
71
|
-
blue($c-primary)},
|
|
63
|
+
"c-primary-rgb": #{color.red($c-primary), color.green($c-primary), color.blue($c-primary)},
|
|
72
64
|
|
|
73
65
|
"c-link": get-css-var("c-primary-dark"),
|
|
74
66
|
"c-divider": rgba(60, 60, 60, 0.2),
|
|
75
67
|
),
|
|
76
68
|
$light
|
|
77
69
|
);
|
|
78
|
-
|
|
79
70
|
$dark: () !default;
|
|
80
71
|
$dark: map.merge(
|
|
81
72
|
(
|
|
@@ -84,7 +75,7 @@ $dark: map.merge(
|
|
|
84
75
|
"c-bg": #1b1b1f,
|
|
85
76
|
"c-bg-light": #202127,
|
|
86
77
|
"c-bg-dark": #1a1a1a,
|
|
87
|
-
"c-bg-opacity": rgba(0, 0, 0,
|
|
78
|
+
"c-bg-opacity": rgba(0, 0, 0, 0.8),
|
|
88
79
|
|
|
89
80
|
"c-bg-alt": #161618,
|
|
90
81
|
"c-bg-soft": #202127,
|
package/client/styles/vars.scss
CHANGED
|
@@ -8,7 +8,6 @@ $common: map.merge(
|
|
|
8
8
|
),
|
|
9
9
|
$common
|
|
10
10
|
);
|
|
11
|
-
|
|
12
11
|
$border: () !default;
|
|
13
12
|
$border: map.merge(
|
|
14
13
|
(
|
|
@@ -16,7 +15,6 @@ $border: map.merge(
|
|
|
16
15
|
),
|
|
17
16
|
$border
|
|
18
17
|
);
|
|
19
|
-
|
|
20
18
|
$font: () !default;
|
|
21
19
|
$font: map.merge(
|
|
22
20
|
(
|
|
@@ -27,7 +25,6 @@ $font: map.merge(
|
|
|
27
25
|
),
|
|
28
26
|
$font
|
|
29
27
|
);
|
|
30
|
-
|
|
31
28
|
$transition: () !default;
|
|
32
29
|
$transition: map.merge(
|
|
33
30
|
(
|
package/client/utils/index.ts
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface ScrollToOptions {
|
|
2
|
+
smooth: boolean
|
|
3
|
+
targetPadding: number
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export function scrollTo(el: HTMLElement, hash: string, options: Partial<ScrollToOptions> = {
|
|
7
|
+
smooth: true,
|
|
8
|
+
targetPadding: -64,
|
|
9
|
+
}) {
|
|
10
|
+
let target: Element | null = null
|
|
11
|
+
try {
|
|
12
|
+
target = el.classList.contains('header-anchor')
|
|
13
|
+
? el
|
|
14
|
+
: ((decodeURIComponent(hash) && document.querySelector(decodeURIComponent(hash))) || null)
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
console.warn(e)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (target) {
|
|
21
|
+
const targetPadding = options?.targetPadding || -64
|
|
22
|
+
const targetTop
|
|
23
|
+
= window.scrollY
|
|
24
|
+
+ (target as HTMLElement).getBoundingClientRect().top
|
|
25
|
+
+ targetPadding
|
|
26
|
+
|
|
27
|
+
// only smooth scroll if distance is smaller than screen height.
|
|
28
|
+
if (!options.smooth || Math.abs(targetTop - window.scrollY) > window.innerHeight) {
|
|
29
|
+
window.scrollTo(0, targetTop)
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
window.scrollTo({
|
|
33
|
+
// left: 0,
|
|
34
|
+
top: targetTop,
|
|
35
|
+
behavior: 'smooth',
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|