vitepress-theme-element-plus 1.3.1 → 1.3.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 (42) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +3 -3
  3. package/client/components/A11yTag.vue +29 -29
  4. package/client/components/ApiTyping.vue +54 -54
  5. package/client/components/Backdrop.vue +41 -41
  6. package/client/components/Bili.vue +94 -94
  7. package/client/components/Content.vue +148 -148
  8. package/client/components/DeprecatedTag.vue +19 -19
  9. package/client/components/Doc.vue +185 -185
  10. package/client/components/DocAside.vue +46 -46
  11. package/client/components/DocAsideOutline.vue +145 -145
  12. package/client/components/DocFooter.vue +162 -162
  13. package/client/components/Footer.vue +100 -100
  14. package/client/components/FooterCopyright.vue +27 -27
  15. package/client/components/Layout.vue +156 -156
  16. package/client/components/Link.vue +41 -41
  17. package/client/components/LocalNav.vue +160 -160
  18. package/client/components/Nav.vue +69 -69
  19. package/client/components/NavBar.vue +203 -203
  20. package/client/components/NavBarTitle.vue +89 -89
  21. package/client/components/Sidebar.vue +129 -129
  22. package/client/components/SidebarGroup.vue +51 -51
  23. package/client/components/SidebarItem.vue +304 -304
  24. package/client/components/ThemeToggler.vue +129 -129
  25. package/client/components/VPNavBarSearch.vue +23 -23
  26. package/client/hooks/useBackTop.ts +71 -71
  27. package/client/hooks/useLangs.ts +50 -50
  28. package/client/hooks/useSidebarControl.ts +78 -78
  29. package/client/hooks/useSize.ts +69 -69
  30. package/client/icons/dark.vue +8 -8
  31. package/client/icons/light.vue +8 -8
  32. package/client/utils/client/common.ts +49 -49
  33. package/client/utils/client/outline.ts +116 -116
  34. package/client/utils/common.ts +90 -90
  35. package/index.ts +45 -45
  36. package/package.json +2 -2
  37. package/shared/constants.ts +3 -3
  38. package/styles/base.scss +105 -105
  39. package/styles/code.scss +290 -290
  40. package/styles/doc-content.scss +363 -363
  41. package/styles/index.scss +71 -71
  42. package/styles/tag-content.scss +30 -30
@@ -1,185 +1,185 @@
1
- <script setup lang="ts">
2
- import { useData, useRoute } from 'vitepress'
3
- import { computed } from 'vue'
4
- import { useSidebar } from '../hooks/useSidebar'
5
- import VPDocAside from './DocAside.vue'
6
- import VPDocFooter from './DocFooter.vue'
7
-
8
- const { theme } = useData()
9
-
10
- const route = useRoute()
11
- const { hasAside, leftAside, hasSidebar } = useSidebar()
12
-
13
- const pageName = computed(() =>
14
- route.path.replace(/[./]+/g, '_').replace(/_html$/, ''),
15
- )
16
- </script>
17
-
18
- <template>
19
- <div class="VPDoc" :class="{ 'has-sidebar': hasSidebar, 'has-aside': hasAside }">
20
- <slot name="doc-top" />
21
- <div class="container">
22
- <div v-if="hasAside" class="aside" :class="{ 'left-aside': leftAside }">
23
- <div class="aside-container">
24
- <div class="aside-content">
25
- <VPDocAside>
26
- <template #aside-top>
27
- <slot name="aside-top" />
28
- </template>
29
- <template #aside-bottom>
30
- <slot name="aside-bottom" />
31
- </template>
32
- <template #aside-outline-before>
33
- <slot name="aside-outline-before" />
34
- </template>
35
- <template #aside-outline-after>
36
- <slot name="aside-outline-after" />
37
- </template>
38
- <template #aside-ads-before>
39
- <slot name="aside-ads-before" />
40
- </template>
41
- <template #aside-ads-after>
42
- <slot name="aside-ads-after" />
43
- </template>
44
- </VPDocAside>
45
- </div>
46
- </div>
47
- </div>
48
-
49
- <div class="content">
50
- <div class="content-container">
51
- <slot name="doc-before" />
52
- <main class="main">
53
- <Content
54
- class="doc-content" :class="[
55
- pageName,
56
- theme.externalLinkIcon && 'external-link-icon-enabled',
57
- ]"
58
- />
59
- </main>
60
- <VPDocFooter>
61
- <template #doc-footer-before>
62
- <slot name="doc-footer-before" />
63
- </template>
64
- </VPDocFooter>
65
- <slot name="doc-after" />
66
- </div>
67
- </div>
68
- </div>
69
- <slot name="doc-bottom" />
70
- </div>
71
- </template>
72
-
73
- <style scoped lang="scss">
74
- .VPDoc {
75
- padding: 32px 24px 96px;
76
- width: 100%;
77
- }
78
-
79
- @media (min-width: 768px) {
80
- .VPDoc {
81
- padding: 48px 32px;
82
- }
83
- }
84
-
85
- @media (min-width: 960px) {
86
- .VPDoc {
87
- padding: 48px 32px;
88
- }
89
-
90
- .VPDoc:not(.has-sidebar) .container {
91
- display: flex;
92
- justify-content: center;
93
- max-width: 992px;
94
- }
95
-
96
- .VPDoc:not(.has-sidebar) .content {
97
- max-width: 752px;
98
- }
99
- }
100
-
101
- @media (min-width: 1440px) {
102
- .VPDoc.has-aside {
103
- padding: 64px 48px 48px 64px;
104
- }
105
-
106
- .VPDoc.has-aside {
107
- padding: 64px 0 48px 64px;
108
- }
109
-
110
- .VPDoc .container {
111
- display: flex;
112
- justify-content: center;
113
- }
114
-
115
- .VPDoc .aside {
116
- display: block;
117
- }
118
- }
119
-
120
- @media (min-width: 1440px) {
121
- .VPDoc:not(.has-sidebar) .content {
122
- max-width: 784px;
123
- }
124
-
125
- .VPDoc:not(.has-sidebar) .container {
126
- max-width: 1104px;
127
- }
128
- }
129
-
130
- .container {
131
- margin: 0 auto;
132
- width: 100%;
133
- }
134
-
135
- .aside {
136
- position: relative;
137
- display: none;
138
- order: 2;
139
- flex-grow: 1;
140
- padding-left: 64px;
141
- padding-right: 32px;
142
- }
143
-
144
- .left-aside {
145
- order: 1;
146
- padding-left: unset;
147
- padding-right: 32px;
148
- padding-left: 16px;
149
- }
150
-
151
- .aside-container {
152
- position: sticky;
153
- top: calc(var(--vp-nav-height) + 32px);
154
- margin-top: 0;
155
- margin-bottom: 32px;
156
- width: 200px;
157
- height: calc(100vh - var(--vp-nav-height) - 32px);
158
- overflow-y: auto;
159
- scrollbar-width: none;
160
- }
161
-
162
- .aside-content {
163
- display: flex;
164
- flex-direction: column;
165
- padding-bottom: 32px;
166
- }
167
-
168
- .content {
169
- position: relative;
170
- margin: 0 auto;
171
- width: 100%;
172
- }
173
-
174
- @media (min-width: 1440px) {
175
- .content {
176
- order: 1;
177
- margin: 0;
178
- min-width: 640px;
179
- }
180
- }
181
-
182
- .content-container {
183
- margin: 0 auto;
184
- }
185
- </style>
1
+ <script setup lang="ts">
2
+ import { useData, useRoute } from 'vitepress'
3
+ import { computed } from 'vue'
4
+ import { useSidebar } from '../hooks/useSidebar'
5
+ import VPDocAside from './DocAside.vue'
6
+ import VPDocFooter from './DocFooter.vue'
7
+
8
+ const { theme } = useData()
9
+
10
+ const route = useRoute()
11
+ const { hasAside, leftAside, hasSidebar } = useSidebar()
12
+
13
+ const pageName = computed(() =>
14
+ route.path.replace(/[./]+/g, '_').replace(/_html$/, ''),
15
+ )
16
+ </script>
17
+
18
+ <template>
19
+ <div class="VPDoc" :class="{ 'has-sidebar': hasSidebar, 'has-aside': hasAside }">
20
+ <slot name="doc-top" />
21
+ <div class="container">
22
+ <div v-if="hasAside" class="aside" :class="{ 'left-aside': leftAside }">
23
+ <div class="aside-container">
24
+ <div class="aside-content">
25
+ <VPDocAside>
26
+ <template #aside-top>
27
+ <slot name="aside-top" />
28
+ </template>
29
+ <template #aside-bottom>
30
+ <slot name="aside-bottom" />
31
+ </template>
32
+ <template #aside-outline-before>
33
+ <slot name="aside-outline-before" />
34
+ </template>
35
+ <template #aside-outline-after>
36
+ <slot name="aside-outline-after" />
37
+ </template>
38
+ <template #aside-ads-before>
39
+ <slot name="aside-ads-before" />
40
+ </template>
41
+ <template #aside-ads-after>
42
+ <slot name="aside-ads-after" />
43
+ </template>
44
+ </VPDocAside>
45
+ </div>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="content">
50
+ <div class="content-container">
51
+ <slot name="doc-before" />
52
+ <main class="main">
53
+ <Content
54
+ class="doc-content" :class="[
55
+ pageName,
56
+ theme.externalLinkIcon && 'external-link-icon-enabled',
57
+ ]"
58
+ />
59
+ </main>
60
+ <VPDocFooter>
61
+ <template #doc-footer-before>
62
+ <slot name="doc-footer-before" />
63
+ </template>
64
+ </VPDocFooter>
65
+ <slot name="doc-after" />
66
+ </div>
67
+ </div>
68
+ </div>
69
+ <slot name="doc-bottom" />
70
+ </div>
71
+ </template>
72
+
73
+ <style scoped lang="scss">
74
+ .VPDoc {
75
+ padding: 32px 24px 96px;
76
+ width: 100%;
77
+ }
78
+
79
+ @media (min-width: 768px) {
80
+ .VPDoc {
81
+ padding: 48px 32px;
82
+ }
83
+ }
84
+
85
+ @media (min-width: 960px) {
86
+ .VPDoc {
87
+ padding: 48px 32px;
88
+ }
89
+
90
+ .VPDoc:not(.has-sidebar) .container {
91
+ display: flex;
92
+ justify-content: center;
93
+ max-width: 992px;
94
+ }
95
+
96
+ .VPDoc:not(.has-sidebar) .content {
97
+ max-width: 752px;
98
+ }
99
+ }
100
+
101
+ @media (min-width: 1440px) {
102
+ .VPDoc.has-aside {
103
+ padding: 64px 48px 48px 64px;
104
+ }
105
+
106
+ .VPDoc.has-aside {
107
+ padding: 64px 0 48px 64px;
108
+ }
109
+
110
+ .VPDoc .container {
111
+ display: flex;
112
+ justify-content: center;
113
+ }
114
+
115
+ .VPDoc .aside {
116
+ display: block;
117
+ }
118
+ }
119
+
120
+ @media (min-width: 1440px) {
121
+ .VPDoc:not(.has-sidebar) .content {
122
+ max-width: 784px;
123
+ }
124
+
125
+ .VPDoc:not(.has-sidebar) .container {
126
+ max-width: 1104px;
127
+ }
128
+ }
129
+
130
+ .container {
131
+ margin: 0 auto;
132
+ width: 100%;
133
+ }
134
+
135
+ .aside {
136
+ position: relative;
137
+ display: none;
138
+ order: 2;
139
+ flex-grow: 1;
140
+ padding-left: 64px;
141
+ padding-right: 32px;
142
+ }
143
+
144
+ .left-aside {
145
+ order: 1;
146
+ padding-left: unset;
147
+ padding-right: 32px;
148
+ padding-left: 16px;
149
+ }
150
+
151
+ .aside-container {
152
+ position: sticky;
153
+ top: calc(var(--vp-nav-height) + 32px);
154
+ margin-top: 0;
155
+ margin-bottom: 32px;
156
+ width: 200px;
157
+ height: calc(100vh - var(--vp-nav-height) - 32px);
158
+ overflow-y: auto;
159
+ scrollbar-width: none;
160
+ }
161
+
162
+ .aside-content {
163
+ display: flex;
164
+ flex-direction: column;
165
+ padding-bottom: 32px;
166
+ }
167
+
168
+ .content {
169
+ position: relative;
170
+ margin: 0 auto;
171
+ width: 100%;
172
+ }
173
+
174
+ @media (min-width: 1440px) {
175
+ .content {
176
+ order: 1;
177
+ margin: 0;
178
+ min-width: 640px;
179
+ }
180
+ }
181
+
182
+ .content-container {
183
+ margin: 0 auto;
184
+ }
185
+ </style>
@@ -1,46 +1,46 @@
1
- <script setup lang="ts">
2
- import { useData } from 'vitepress'
3
- import VPDocAsideCarbonAds from 'vitepress/dist/client/theme-default/components/VPDocAsideCarbonAds.vue'
4
- import VPDocAsideOutline from './DocAsideOutline.vue'
5
-
6
- const { theme } = useData()
7
- </script>
8
-
9
- <template>
10
- <div class="VPDocAside">
11
- <slot name="aside-top" />
12
-
13
- <slot name="aside-outline-before" />
14
- <VPDocAsideOutline />
15
- <slot name="aside-outline-after" />
16
-
17
- <div class="spacer" />
18
-
19
- <slot name="aside-ads-before" />
20
- <VPDocAsideCarbonAds v-if="theme.carbonAds" :carbon-ads="theme.carbonAds" />
21
- <slot name="aside-ads-after" />
22
-
23
- <slot name="aside-bottom" />
24
- </div>
25
- </template>
26
-
27
- <style scoped lang="scss">
28
- .VPDocAside {
29
- display: flex;
30
- flex-direction: column;
31
- flex-grow: 1;
32
- }
33
-
34
- .spacer {
35
- flex-grow: 1;
36
- }
37
-
38
- .VPDocAside :deep(.spacer + .VPDocAsideSponsors),
39
- .VPDocAside :deep(.spacer + .VPDocAsideCarbonAds) {
40
- margin-top: 24px;
41
- }
42
-
43
- .VPDocAside :deep(.VPDocAsideSponsors + .VPDocAsideCarbonAds) {
44
- margin-top: 16px;
45
- }
46
- </style>
1
+ <script setup lang="ts">
2
+ import { useData } from 'vitepress'
3
+ import VPDocAsideCarbonAds from 'vitepress/dist/client/theme-default/components/VPDocAsideCarbonAds.vue'
4
+ import VPDocAsideOutline from './DocAsideOutline.vue'
5
+
6
+ const { theme } = useData()
7
+ </script>
8
+
9
+ <template>
10
+ <div class="VPDocAside">
11
+ <slot name="aside-top" />
12
+
13
+ <slot name="aside-outline-before" />
14
+ <VPDocAsideOutline />
15
+ <slot name="aside-outline-after" />
16
+
17
+ <div class="spacer" />
18
+
19
+ <slot name="aside-ads-before" />
20
+ <VPDocAsideCarbonAds v-if="theme.carbonAds" :carbon-ads="theme.carbonAds" />
21
+ <slot name="aside-ads-after" />
22
+
23
+ <slot name="aside-bottom" />
24
+ </div>
25
+ </template>
26
+
27
+ <style scoped lang="scss">
28
+ .VPDocAside {
29
+ display: flex;
30
+ flex-direction: column;
31
+ flex-grow: 1;
32
+ }
33
+
34
+ .spacer {
35
+ flex-grow: 1;
36
+ }
37
+
38
+ .VPDocAside :deep(.spacer + .VPDocAsideSponsors),
39
+ .VPDocAside :deep(.spacer + .VPDocAsideCarbonAds) {
40
+ margin-top: 24px;
41
+ }
42
+
43
+ .VPDocAside :deep(.VPDocAsideSponsors + .VPDocAsideCarbonAds) {
44
+ margin-top: 16px;
45
+ }
46
+ </style>