vitepress-theme-element-plus 0.0.1 → 0.0.2

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/client/components/A11yTag.vue +29 -0
  2. package/client/components/ApiTyping.vue +54 -0
  3. package/client/components/Backdrop.vue +41 -0
  4. package/client/components/Bili.vue +94 -0
  5. package/client/components/Content.vue +150 -0
  6. package/client/components/DeprecatedTag.vue +19 -0
  7. package/client/components/Doc.vue +181 -0
  8. package/client/components/DocAside.vue +46 -0
  9. package/client/components/DocAsideOutline.vue +82 -0
  10. package/client/components/DocFooter.vue +159 -0
  11. package/client/components/Footer.vue +77 -0
  12. package/client/components/FooterCopyright.vue +27 -0
  13. package/client/components/Layout.vue +156 -0
  14. package/client/components/Link.vue +41 -0
  15. package/client/components/LocalNav.vue +160 -0
  16. package/client/components/Nav.vue +69 -0
  17. package/client/components/NavBar.vue +203 -0
  18. package/client/components/NavBarTitle.vue +75 -0
  19. package/client/components/Sidebar.vue +129 -0
  20. package/client/components/SidebarGroup.vue +51 -0
  21. package/client/components/SidebarItem.vue +302 -0
  22. package/client/components/Tag.vue +25 -0
  23. package/client/components/VPNavBarSearch.vue +23 -0
  24. package/client/components/VersionTag.vue +18 -0
  25. package/client/hooks/useBackTop.ts +74 -0
  26. package/client/hooks/useLangs.ts +50 -0
  27. package/client/hooks/useSidebar.ts +105 -0
  28. package/client/hooks/useSidebarControl.ts +78 -0
  29. package/client/hooks/useSize.ts +69 -0
  30. package/client/utils/client/common.ts +49 -0
  31. package/client/utils/client/outline.ts +113 -0
  32. package/client/utils/common.ts +86 -0
  33. package/dist/index.d.mts +5 -0
  34. package/dist/index.mjs +6 -0
  35. package/dist/markdown/plugins/external-link-icon.d.mts +6 -0
  36. package/dist/markdown/plugins/external-link-icon.mjs +26 -0
  37. package/dist/markdown/plugins/table-wrapper.d.mts +6 -0
  38. package/dist/markdown/plugins/table-wrapper.mjs +8 -0
  39. package/dist/markdown/plugins/tag.d.mts +6 -0
  40. package/dist/markdown/plugins/tag.mjs +25 -0
  41. package/dist/markdown/plugins/tooltip.d.mts +6 -0
  42. package/dist/markdown/plugins/tooltip.mjs +24 -0
  43. package/package.json +5 -5
  44. package/shared/constants.ts +3 -0
  45. package/styles/base.scss +37 -0
  46. package/styles/code.scss +283 -0
  47. package/styles/doc-content.scss +161 -0
  48. package/styles/index.scss +69 -0
  49. package/styles/tag-content.scss +30 -0
@@ -0,0 +1,283 @@
1
+ :root {
2
+ --vp-code-block-bg: var(--el-fill-color-light);
3
+ --vp-code-line-height: 1.6;
4
+ }
5
+ pre,
6
+ code,
7
+ kbd,
8
+ samp {
9
+ font-family: var(--code-font-family);
10
+ }
11
+
12
+ :not(pre) > code {
13
+ border-radius: 4px;
14
+ padding: 0.15rem 0.5rem;
15
+ background-color: var(--el-fill-color-light);
16
+ transition: color 0.25s, background-color 0.5s;
17
+ font-size: 14px;
18
+ }
19
+
20
+ .doc-content a > code {
21
+ color: var(--vp-code-link-color);
22
+ }
23
+
24
+ .doc-content a:hover > code {
25
+ color: var(--vp-code-link-hover-color);
26
+ }
27
+
28
+ .doc-content h1 > code,
29
+ .doc-content h2 > code,
30
+ .doc-content h3 > code {
31
+ font-size: 0.9em;
32
+ }
33
+
34
+ .doc-content div[class*='language-'],
35
+ .vp-block {
36
+ position: relative;
37
+ margin: 16px 0;
38
+ background-color: var(--vp-code-block-bg);
39
+ overflow-x: auto;
40
+ transition: background-color 0.5s;
41
+ }
42
+
43
+ @media (min-width: 640px) {
44
+ .doc-content div[class*='language-'],
45
+ .vp-block {
46
+ border-radius: 8px;
47
+ }
48
+ }
49
+
50
+ @media (max-width: 639px) {
51
+ .doc-content li div[class*='language-'] {
52
+ border-radius: 8px 0 0 8px;
53
+ }
54
+ }
55
+
56
+ .doc-content div[class*='language-'] + div[class*='language-'],
57
+ .doc-content div[class$='-api'] + div[class*='language-'],
58
+ .doc-content
59
+ div[class*='language-']
60
+ + div[class$='-api']
61
+ > div[class*='language-'] {
62
+ margin-top: -8px;
63
+ }
64
+
65
+ .doc-content [class*='language-'] pre,
66
+ .doc-content [class*='language-'] code {
67
+ /*rtl:ignore*/
68
+ direction: ltr;
69
+ /*rtl:ignore*/
70
+ text-align: left;
71
+ white-space: pre;
72
+ word-spacing: normal;
73
+ word-break: normal;
74
+ word-wrap: normal;
75
+ -moz-tab-size: 4;
76
+ -o-tab-size: 4;
77
+ tab-size: 4;
78
+ -webkit-hyphens: none;
79
+ -moz-hyphens: none;
80
+ -ms-hyphens: none;
81
+ hyphens: none;
82
+ }
83
+
84
+ .doc-content [class*='language-'] pre {
85
+ position: relative;
86
+ z-index: 1;
87
+ margin: 0;
88
+ padding: 20px 0;
89
+ background: transparent;
90
+ overflow-x: auto;
91
+ }
92
+
93
+ .doc-content [class*='language-'] code {
94
+ display: block;
95
+ padding: 0 24px;
96
+ width: fit-content;
97
+ min-width: 100%;
98
+ line-height: var(--vp-code-line-height);
99
+ font-size: var(--vp-code-font-size);
100
+ color: var(--vp-code-block-color);
101
+ transition: color 0.5s;
102
+ }
103
+
104
+ .doc-content [class*='language-'] code .highlighted {
105
+ background-color: var(--vp-code-line-highlight-color);
106
+ transition: background-color 0.5s;
107
+ margin: 0 -24px;
108
+ padding: 0 24px;
109
+ width: calc(100% + 2 * 24px);
110
+ display: inline-block;
111
+ }
112
+
113
+ .doc-content [class*='language-'] code .highlighted.error {
114
+ background-color: var(--vp-code-line-error-color);
115
+ }
116
+
117
+ .doc-content [class*='language-'] code .highlighted.warning {
118
+ background-color: var(--vp-code-line-warning-color);
119
+ }
120
+
121
+ .doc-content [class*='language-'] code .diff {
122
+ transition: background-color 0.5s;
123
+ margin: 0 -24px;
124
+ padding: 0 24px;
125
+ width: calc(100% + 2 * 24px);
126
+ display: inline-block;
127
+ }
128
+
129
+ .doc-content [class*='language-'] code .diff::before {
130
+ position: absolute;
131
+ left: 10px;
132
+ }
133
+
134
+ .doc-content [class*='language-'] .has-focused-lines .line:not(.has-focus) {
135
+ filter: blur(0.095rem);
136
+ opacity: 0.4;
137
+ transition: filter 0.35s, opacity 0.35s;
138
+ }
139
+
140
+ .doc-content [class*='language-'] .has-focused-lines .line:not(.has-focus) {
141
+ opacity: 0.7;
142
+ transition: filter 0.35s, opacity 0.35s;
143
+ }
144
+
145
+ .doc-content
146
+ [class*='language-']:hover
147
+ .has-focused-lines
148
+ .line:not(.has-focus) {
149
+ filter: blur(0);
150
+ opacity: 1;
151
+ }
152
+
153
+ .doc-content [class*='language-'] code .diff.remove {
154
+ background-color: var(--vp-code-line-diff-remove-color);
155
+ opacity: 0.7;
156
+ }
157
+
158
+ .doc-content [class*='language-'] code .diff.remove::before {
159
+ content: '-';
160
+ color: var(--vp-code-line-diff-remove-symbol-color);
161
+ }
162
+
163
+ .doc-content [class*='language-'] code .diff.add {
164
+ background-color: var(--vp-code-line-diff-add-color);
165
+ }
166
+
167
+ .doc-content [class*='language-'] code .diff.add::before {
168
+ content: '+';
169
+ color: var(--vp-code-line-diff-add-symbol-color);
170
+ }
171
+
172
+ .doc-content div[class*='language-'].line-numbers-mode {
173
+ /*rtl:ignore*/
174
+ padding-left: 32px;
175
+ }
176
+
177
+ .doc-content .line-numbers-wrapper {
178
+ position: absolute;
179
+ top: 0;
180
+ bottom: 0;
181
+ /*rtl:ignore*/
182
+ left: 0;
183
+ z-index: 3;
184
+ /*rtl:ignore*/
185
+ border-right: 1px solid var(--vp-code-block-divider-color);
186
+ padding-top: 20px;
187
+ width: 32px;
188
+ text-align: center;
189
+ font-family: var(--vp-font-family-mono);
190
+ line-height: var(--vp-code-line-height);
191
+ font-size: var(--vp-code-font-size);
192
+ color: var(--vp-code-line-number-color);
193
+ transition: border-color 0.5s, color 0.5s;
194
+ }
195
+
196
+ .doc-content [class*='language-'] > button.copy {
197
+ /*rtl:ignore*/
198
+ direction: ltr;
199
+ position: absolute;
200
+ top: 12px;
201
+ /*rtl:ignore*/
202
+ right: 12px;
203
+ z-index: 3;
204
+ border: 1px solid var(--vp-code-copy-code-border-color);
205
+ border-radius: 4px;
206
+ width: 40px;
207
+ height: 40px;
208
+ background-color: var(--vp-code-copy-code-bg);
209
+ opacity: 0;
210
+ cursor: pointer;
211
+ background-image: var(--vp-icon-copy);
212
+ background-position: 50%;
213
+ background-size: 20px;
214
+ background-repeat: no-repeat;
215
+ transition: border-color 0.25s, background-color 0.25s, opacity 0.25s;
216
+ }
217
+
218
+ .doc-content [class*='language-']:hover > button.copy,
219
+ .doc-content [class*='language-'] > button.copy:focus {
220
+ opacity: 1;
221
+ }
222
+
223
+ .doc-content [class*='language-'] > button.copy:hover,
224
+ .doc-content [class*='language-'] > button.copy.copied {
225
+ border-color: var(--vp-code-copy-code-hover-border-color);
226
+ background-color: var(--vp-code-copy-code-hover-bg);
227
+ }
228
+
229
+ .doc-content [class*='language-'] > button.copy.copied,
230
+ .doc-content [class*='language-'] > button.copy:hover.copied {
231
+ /*rtl:ignore*/
232
+ border-radius: 0 4px 4px 0;
233
+ background-color: var(--vp-code-copy-code-hover-bg);
234
+ background-image: var(--vp-icon-copied);
235
+ }
236
+
237
+ .doc-content [class*='language-'] > button.copy.copied::before,
238
+ .doc-content [class*='language-'] > button.copy:hover.copied::before {
239
+ position: relative;
240
+ top: -1px;
241
+ /*rtl:ignore*/
242
+ transform: translateX(calc(-100% - 1px));
243
+ display: flex;
244
+ justify-content: center;
245
+ align-items: center;
246
+ border: 1px solid var(--vp-code-copy-code-hover-border-color);
247
+ /*rtl:ignore*/
248
+ border-right: 0;
249
+ border-radius: 4px 0 0 4px;
250
+ padding: 0 10px;
251
+ width: fit-content;
252
+ height: 40px;
253
+ text-align: center;
254
+ font-size: 12px;
255
+ font-weight: 500;
256
+ color: var(--vp-code-copy-code-active-text);
257
+ background-color: var(--vp-code-copy-code-hover-bg);
258
+ white-space: nowrap;
259
+ content: var(--vp-code-copy-copied-text-content);
260
+ }
261
+
262
+ .doc-content [class*='language-'] > span.lang {
263
+ position: absolute;
264
+ top: 2px;
265
+ /*rtl:ignore*/
266
+ right: 8px;
267
+ z-index: 2;
268
+ font-size: 12px;
269
+ font-weight: 500;
270
+ color: var(--vp-code-lang-color);
271
+ transition: color 0.4s, opacity 0.4s;
272
+ }
273
+
274
+ .doc-content [class*='language-']:hover > button.copy + span.lang,
275
+ .doc-content [class*='language-'] > button.copy:focus + span.lang {
276
+ opacity: 0;
277
+ }
278
+
279
+ html.dark .shiki,
280
+ html.dark .shiki span {
281
+ color: var(--shiki-dark) !important;
282
+ background-color: var(--shiki-dark-bg) !important;
283
+ }
@@ -0,0 +1,161 @@
1
+ .doc-content {
2
+ h1 {
3
+ margin-bottom: 2rem;
4
+ font-weight: 600;
5
+ font-size: 1.9rem;
6
+ }
7
+
8
+ h2 {
9
+ margin-top: 2.25rem;
10
+ margin-bottom: 1.25rem;
11
+ padding-bottom: .3rem;
12
+ line-height: 1.25;
13
+ font-size: 1.65rem;
14
+ font-weight: 600;
15
+ }
16
+
17
+ h3 {
18
+ font-size: 1.35rem;
19
+ font-weight: 600;
20
+ }
21
+
22
+ h4 {
23
+ font-size: 1.15rem;
24
+ font-weight: 600;
25
+ }
26
+
27
+ h5 {
28
+ font-weight: 600;
29
+ }
30
+
31
+ h2+h3 {
32
+ margin-top: 1.5rem;
33
+ }
34
+
35
+ p {
36
+ margin: 1rem 0;
37
+ line-height: 1.7;
38
+ }
39
+
40
+ a {
41
+ font-weight: 500;
42
+ text-decoration: inherit;
43
+ color: var(--brand-color);
44
+ display: inline-flex;
45
+ align-items: center;
46
+ }
47
+
48
+ a .link-icon {
49
+ margin-left: .25rem;
50
+ height: 1em;
51
+ width: 1em;
52
+ }
53
+
54
+
55
+ h1,
56
+ h2,
57
+ h3,
58
+ h4,
59
+ h5,
60
+ h6 {
61
+ display: flex;
62
+ align-items: center;
63
+ color: var(--el-text-color-regular);
64
+
65
+ // Special case for handling tagged header.
66
+ .el-tag,
67
+ .vp-tag {
68
+ margin-left: 8px;
69
+ }
70
+ }
71
+
72
+ @media screen and (min-width: 480px) {
73
+ h1 {
74
+ font-size: 2.2rem;
75
+ }
76
+ }
77
+
78
+ div .vp-table {
79
+ width: 100%;
80
+ overflow-y: hidden;
81
+ overflow-x: auto;
82
+ margin-bottom: 45px;
83
+
84
+ & > table {
85
+ border-collapse: collapse;
86
+ width: 100%;
87
+ background-color: var(--bg-color);
88
+ font-size: 14px;
89
+ line-height: 1.5em;
90
+
91
+ tr {
92
+ td:nth-child(2) {
93
+ font-family: var(--font-family);
94
+ }
95
+ }
96
+
97
+ th,
98
+ td {
99
+ white-space: nowrap;
100
+ border-top: 1px solid var(--border-color);
101
+ border-bottom: 1px solid var(--border-color);
102
+ padding: 0.6em 1em;
103
+ text-align: left;
104
+ max-width: 250px;
105
+ white-space: pre-wrap;
106
+ }
107
+
108
+ thead tr:first-child th {
109
+ border-top: none;
110
+ }
111
+
112
+ tbody tr td:first-child {
113
+ font-family: var(--font-family-mono);
114
+ }
115
+ }
116
+ }
117
+
118
+ .header-anchor:before {
119
+ content: '#';
120
+ }
121
+
122
+ a.header-anchor {
123
+ position: absolute;
124
+ margin-top: .125em;
125
+ margin-left: -.87em;
126
+ padding-right: .23em;
127
+ font-size: .85em;
128
+ opacity: 0;
129
+ }
130
+
131
+ h1:hover .header-anchor,h1:focus .header-anchor,h2:hover .header-anchor,h2:focus .header-anchor,h3:hover .header-anchor,h3:focus .header-anchor,h4:hover .header-anchor,h4:focus .header-anchor,h5:hover .header-anchor,h5:focus .header-anchor,h6:hover .header-anchor,h6:focus .header-anchor {
132
+ opacity: 1
133
+ }
134
+
135
+
136
+ .custom-block {
137
+ .custom-block-title {
138
+ font-weight: 700;
139
+ }
140
+
141
+ p:not(.custom-block-title) {
142
+ font-size: 0.9rem;
143
+ }
144
+
145
+ &.tip {
146
+ padding: 8px 16px;
147
+ background-color: var(--block-tip-bg-color);
148
+ border-radius: 4px;
149
+ border-left: 5px solid var(--el-color-primary);
150
+ margin: 20px 0;
151
+ }
152
+
153
+ &.warning {
154
+ padding: 8px 16px;
155
+ background-color: var(--block-warning-bg-color);
156
+ border-radius: 4px;
157
+ border-left: 5px solid var(--el-color-danger);
158
+ margin: 20px 0;
159
+ }
160
+ }
161
+ }
@@ -0,0 +1,69 @@
1
+ :root {
2
+ --vp-layout-max-width: 1680px;
3
+ --vp-sidebar-width-small: 266px;
4
+ --vp-sidebar-width-mobile: 320px;
5
+ --text-color: var(--el-text-color-primary);
6
+ --text-color-light: var(--el-text-color-regular);
7
+ --text-color-lighter: var(--el-text-color-secondary);
8
+ --brand-color: var(--el-color-primary);
9
+ --brand-color-light: var(--el-color-primary-light-1);
10
+ --bg-brand-color: var(--el-color-primary-light-9);
11
+ --bg-color: var(--el-bg-color);
12
+ --bg-color-rgb: 255, 255, 255;
13
+ --bg-color-soft: #fafafa;
14
+ --bg-color-mute: #f2f2f2;
15
+ --border-color: var(--el-border-color);
16
+ --border-color-light: var(--el-border-color-lighter);
17
+ --font-family: var(--el-font-family);
18
+ --font-family-mono: "JetBrains Mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
19
+ --success-color: var(--el-color-success);
20
+ --warning-color: var(--el-color-warning);
21
+ --danger-color: var(--el-color-danger);
22
+ --vp-screen-max-width: 1362px;
23
+ --vp-sidebar-width-mobile: 320px;
24
+ --vp-sidebar-width-small: 266px;
25
+ --code-font-family: var(--font-family-mono);
26
+ --code-font-size: var(--el-font-size-base);
27
+ --code-bg-color: var(--el-fill-color-light);
28
+ --code-text-color: var(--text-color);
29
+ --code-tooltip-bg-color: var(--code-bg-color);
30
+ --code-tooltip-color: #0c61c9;
31
+ --block-tip-bg-color: rgba(var(--el-color-primary-rgb), .1);
32
+ --block-warning-bg-color: rgba(var(--el-color-danger-rgb), .1);
33
+ --link-active-bg-color: rgba(var(--el-color-primary-rgb), .1)
34
+
35
+ &.dark {
36
+ --el-color-primary: #a8b1ff;
37
+ }
38
+ }
39
+
40
+ :root:root {
41
+ --vp-nav-height: 55px;
42
+ --vp-nav-logo-height: 28px;
43
+ --vp-c-brand: var(--el-color-primary);
44
+ --vp-c-brand-1: var(--el-color-primary);
45
+ --el-bg-color: var(--vp-c-bg);
46
+ }
47
+ // fix "vitepress-plugin-group-icons"
48
+ .vp-code-block-title-bar.vp-code-block-title-bar {
49
+ margin: 16px 0px 0px;
50
+ }
51
+
52
+ .vp-code-group .tabs.tabs {
53
+ margin-right: 0px;
54
+ margin-left: 0px;
55
+ border-radius: 8px 8px 0px 0px;
56
+ }
57
+
58
+ @media screen and (min-width: 1440px) {
59
+ :root {
60
+ --vp-sidebar-width-small: 234px;
61
+ }
62
+ }
63
+
64
+ @media screen and (min-width: 1680px) {
65
+ :root {
66
+ --vp-screen-max-width: 1482px;
67
+ --vp-sidebar-width-small: 290px;
68
+ }
69
+ }
@@ -0,0 +1,30 @@
1
+ .vp-tag {
2
+ --vp-tag-color: var(--el-color-primary);
3
+ --vp-tag-border-color: var(--el-color-primary);
4
+
5
+ display: inline-block;
6
+ padding: 0 7px;
7
+ border-radius: 10px;
8
+ border: 1px solid var(--vp-tag-border-color);
9
+ font-size: var(--el-font-size-extra-small);
10
+ color: var(--vp-tag-color);
11
+ line-height: 18px;
12
+ white-space: nowrap;
13
+
14
+ &.beta {
15
+ --vp-tag-color: var(--el-color-danger);
16
+ --vp-tag-border-color: var(--el-color-danger);
17
+ }
18
+ &.deprecated {
19
+ --vp-tag-color: var(--el-color-warning);
20
+ --vp-tag-border-color: var(--el-color-warning);
21
+ }
22
+ &.a11y {
23
+ --vp-tag-color: var(--purple-color);
24
+ --vp-tag-border-color: var(--purple-color-light);
25
+ }
26
+ &.required {
27
+ --vp-tag-color: var(--el-color-success);
28
+ --vp-tag-border-color: var(--el-color-success);
29
+ }
30
+ }