vitepress-theme-trito 1.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 (273) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +127 -0
  3. package/dist/Layout.d.vue.ts +73 -0
  4. package/dist/Layout.vue +75 -0
  5. package/dist/Layout.vue.d.ts +73 -0
  6. package/dist/NotFound.d.vue.ts +3 -0
  7. package/dist/NotFound.vue +32 -0
  8. package/dist/NotFound.vue.d.ts +3 -0
  9. package/dist/components/VPAlgoliaSearchBox.d.vue.ts +7 -0
  10. package/dist/components/VPAlgoliaSearchBox.vue +72 -0
  11. package/dist/components/VPAlgoliaSearchBox.vue.d.ts +7 -0
  12. package/dist/components/VPBackdrop.d.vue.ts +6 -0
  13. package/dist/components/VPBackdrop.vue +15 -0
  14. package/dist/components/VPBackdrop.vue.d.ts +6 -0
  15. package/dist/components/VPBackground.d.vue.ts +3 -0
  16. package/dist/components/VPBackground.vue +18 -0
  17. package/dist/components/VPBackground.vue.d.ts +3 -0
  18. package/dist/components/VPBadge.d.vue.ts +19 -0
  19. package/dist/components/VPBadge.vue +16 -0
  20. package/dist/components/VPBadge.vue.d.ts +19 -0
  21. package/dist/components/VPButton.d.vue.ts +25 -0
  22. package/dist/components/VPButton.vue +35 -0
  23. package/dist/components/VPButton.vue.d.ts +25 -0
  24. package/dist/components/VPContent.d.vue.ts +53 -0
  25. package/dist/components/VPContent.vue +107 -0
  26. package/dist/components/VPContent.vue.d.ts +53 -0
  27. package/dist/components/VPContextMenu.d.vue.ts +3 -0
  28. package/dist/components/VPContextMenu.vue +294 -0
  29. package/dist/components/VPContextMenu.vue.d.ts +3 -0
  30. package/dist/components/VPDoc.d.vue.ts +29 -0
  31. package/dist/components/VPDoc.vue +141 -0
  32. package/dist/components/VPDoc.vue.d.ts +29 -0
  33. package/dist/components/VPDocAsideOutline.d.vue.ts +3 -0
  34. package/dist/components/VPDocAsideOutline.vue +141 -0
  35. package/dist/components/VPDocAsideOutline.vue.d.ts +3 -0
  36. package/dist/components/VPDocAsideSidebar.d.vue.ts +3 -0
  37. package/dist/components/VPDocAsideSidebar.vue +106 -0
  38. package/dist/components/VPDocAsideSidebar.vue.d.ts +3 -0
  39. package/dist/components/VPDocFooter.d.vue.ts +13 -0
  40. package/dist/components/VPDocFooter.vue +56 -0
  41. package/dist/components/VPDocFooter.vue.d.ts +13 -0
  42. package/dist/components/VPDocFooterLastUpdated.d.vue.ts +3 -0
  43. package/dist/components/VPDocFooterLastUpdated.vue +40 -0
  44. package/dist/components/VPDocFooterLastUpdated.vue.d.ts +3 -0
  45. package/dist/components/VPDocOutlineItem.d.vue.ts +8 -0
  46. package/dist/components/VPDocOutlineItem.vue +62 -0
  47. package/dist/components/VPDocOutlineItem.vue.d.ts +8 -0
  48. package/dist/components/VPFeature.d.vue.ts +13 -0
  49. package/dist/components/VPFeature.vue +116 -0
  50. package/dist/components/VPFeature.vue.d.ts +13 -0
  51. package/dist/components/VPFeatures.d.vue.ts +16 -0
  52. package/dist/components/VPFeatures.vue +45 -0
  53. package/dist/components/VPFeatures.vue.d.ts +16 -0
  54. package/dist/components/VPFlyout.d.vue.ts +29 -0
  55. package/dist/components/VPFlyout.vue +91 -0
  56. package/dist/components/VPFlyout.vue.d.ts +29 -0
  57. package/dist/components/VPFooter.d.vue.ts +3 -0
  58. package/dist/components/VPFooter.vue +64 -0
  59. package/dist/components/VPFooter.vue.d.ts +3 -0
  60. package/dist/components/VPFooterSocialLinks.d.vue.ts +3 -0
  61. package/dist/components/VPFooterSocialLinks.vue +21 -0
  62. package/dist/components/VPFooterSocialLinks.vue.d.ts +3 -0
  63. package/dist/components/VPHero.d.vue.ts +34 -0
  64. package/dist/components/VPHero.vue +255 -0
  65. package/dist/components/VPHero.vue.d.ts +34 -0
  66. package/dist/components/VPHome.d.vue.ts +29 -0
  67. package/dist/components/VPHome.vue +56 -0
  68. package/dist/components/VPHome.vue.d.ts +29 -0
  69. package/dist/components/VPHomeContent.d.vue.ts +13 -0
  70. package/dist/components/VPHomeContent.vue +39 -0
  71. package/dist/components/VPHomeContent.vue.d.ts +13 -0
  72. package/dist/components/VPHomeFeatures.d.vue.ts +3 -0
  73. package/dist/components/VPHomeFeatures.vue +9 -0
  74. package/dist/components/VPHomeFeatures.vue.d.ts +3 -0
  75. package/dist/components/VPHomeHero.d.vue.ts +21 -0
  76. package/dist/components/VPHomeHero.vue +32 -0
  77. package/dist/components/VPHomeHero.vue.d.ts +21 -0
  78. package/dist/components/VPImage.d.vue.ts +8 -0
  79. package/dist/components/VPImage.vue +28 -0
  80. package/dist/components/VPImage.vue.d.ts +8 -0
  81. package/dist/components/VPLink.d.vue.ts +20 -0
  82. package/dist/components/VPLink.vue +32 -0
  83. package/dist/components/VPLink.vue.d.ts +20 -0
  84. package/dist/components/VPLoadingView.d.vue.ts +3 -0
  85. package/dist/components/VPLoadingView.vue +69 -0
  86. package/dist/components/VPLoadingView.vue.d.ts +3 -0
  87. package/dist/components/VPLocalNav.d.vue.ts +3 -0
  88. package/dist/components/VPLocalNav.vue +94 -0
  89. package/dist/components/VPLocalNav.vue.d.ts +3 -0
  90. package/dist/components/VPLocalNavOutlineDropdown.d.vue.ts +7 -0
  91. package/dist/components/VPLocalNavOutlineDropdown.vue +78 -0
  92. package/dist/components/VPLocalNavOutlineDropdown.vue.d.ts +7 -0
  93. package/dist/components/VPLocalSearchBox.d.vue.ts +7 -0
  94. package/dist/components/VPLocalSearchBox.vue +751 -0
  95. package/dist/components/VPLocalSearchBox.vue.d.ts +7 -0
  96. package/dist/components/VPMenu.d.vue.ts +23 -0
  97. package/dist/components/VPMenu.vue +68 -0
  98. package/dist/components/VPMenu.vue.d.ts +23 -0
  99. package/dist/components/VPMenuGroup.d.vue.ts +22 -0
  100. package/dist/components/VPMenuGroup.vue +21 -0
  101. package/dist/components/VPMenuGroup.vue.d.ts +22 -0
  102. package/dist/components/VPMenuLink.d.vue.ts +21 -0
  103. package/dist/components/VPMenuLink.vue +40 -0
  104. package/dist/components/VPMenuLink.vue.d.ts +21 -0
  105. package/dist/components/VPNav.d.vue.ts +23 -0
  106. package/dist/components/VPNav.vue +57 -0
  107. package/dist/components/VPNav.vue.d.ts +23 -0
  108. package/dist/components/VPNavBar.d.vue.ts +26 -0
  109. package/dist/components/VPNavBar.vue +114 -0
  110. package/dist/components/VPNavBar.vue.d.ts +26 -0
  111. package/dist/components/VPNavBarAppearance.d.vue.ts +3 -0
  112. package/dist/components/VPNavBarAppearance.vue +63 -0
  113. package/dist/components/VPNavBarAppearance.vue.d.ts +3 -0
  114. package/dist/components/VPNavBarHamburger.d.vue.ts +10 -0
  115. package/dist/components/VPNavBarHamburger.vue +118 -0
  116. package/dist/components/VPNavBarHamburger.vue.d.ts +10 -0
  117. package/dist/components/VPNavBarMenu.d.vue.ts +3 -0
  118. package/dist/components/VPNavBarMenu.vue +63 -0
  119. package/dist/components/VPNavBarMenu.vue.d.ts +3 -0
  120. package/dist/components/VPNavBarMenuGroup.d.vue.ts +7 -0
  121. package/dist/components/VPNavBarMenuGroup.vue +38 -0
  122. package/dist/components/VPNavBarMenuGroup.vue.d.ts +7 -0
  123. package/dist/components/VPNavBarMenuLink.d.vue.ts +7 -0
  124. package/dist/components/VPNavBarMenuLink.vue +35 -0
  125. package/dist/components/VPNavBarMenuLink.vue.d.ts +7 -0
  126. package/dist/components/VPNavBarSearch.d.vue.ts +4 -0
  127. package/dist/components/VPNavBarSearch.vue +100 -0
  128. package/dist/components/VPNavBarSearch.vue.d.ts +4 -0
  129. package/dist/components/VPNavBarSearchButton.d.vue.ts +3 -0
  130. package/dist/components/VPNavBarSearchButton.vue +86 -0
  131. package/dist/components/VPNavBarSearchButton.vue.d.ts +3 -0
  132. package/dist/components/VPNavBarTitle.d.vue.ts +15 -0
  133. package/dist/components/VPNavBarTitle.vue +55 -0
  134. package/dist/components/VPNavBarTitle.vue.d.ts +15 -0
  135. package/dist/components/VPNavBarTranslations.d.vue.ts +3 -0
  136. package/dist/components/VPNavBarTranslations.vue +49 -0
  137. package/dist/components/VPNavBarTranslations.vue.d.ts +3 -0
  138. package/dist/components/VPNavScreen.d.vue.ts +18 -0
  139. package/dist/components/VPNavScreen.vue +33 -0
  140. package/dist/components/VPNavScreen.vue.d.ts +18 -0
  141. package/dist/components/VPNavScreenAppearance.d.vue.ts +3 -0
  142. package/dist/components/VPNavScreenAppearance.vue +72 -0
  143. package/dist/components/VPNavScreenAppearance.vue.d.ts +3 -0
  144. package/dist/components/VPNavScreenMenu.d.vue.ts +3 -0
  145. package/dist/components/VPNavScreenMenu.vue +21 -0
  146. package/dist/components/VPNavScreenMenu.vue.d.ts +3 -0
  147. package/dist/components/VPNavScreenMenuGroup.d.vue.ts +7 -0
  148. package/dist/components/VPNavScreenMenuGroup.vue +94 -0
  149. package/dist/components/VPNavScreenMenuGroup.vue.d.ts +7 -0
  150. package/dist/components/VPNavScreenMenuGroupLink.d.vue.ts +7 -0
  151. package/dist/components/VPNavScreenMenuGroupLink.vue +50 -0
  152. package/dist/components/VPNavScreenMenuGroupLink.vue.d.ts +7 -0
  153. package/dist/components/VPNavScreenMenuGroupSection.d.vue.ts +8 -0
  154. package/dist/components/VPNavScreenMenuGroupSection.vue +18 -0
  155. package/dist/components/VPNavScreenMenuGroupSection.vue.d.ts +8 -0
  156. package/dist/components/VPNavScreenMenuLink.d.vue.ts +7 -0
  157. package/dist/components/VPNavScreenMenuLink.vue +51 -0
  158. package/dist/components/VPNavScreenMenuLink.vue.d.ts +7 -0
  159. package/dist/components/VPNavScreenSocialLinks.d.vue.ts +3 -0
  160. package/dist/components/VPNavScreenSocialLinks.vue +13 -0
  161. package/dist/components/VPNavScreenSocialLinks.vue.d.ts +3 -0
  162. package/dist/components/VPNavScreenTranslations.d.vue.ts +3 -0
  163. package/dist/components/VPNavScreenTranslations.vue +36 -0
  164. package/dist/components/VPNavScreenTranslations.vue.d.ts +3 -0
  165. package/dist/components/VPPage.d.vue.ts +15 -0
  166. package/dist/components/VPPage.vue +7 -0
  167. package/dist/components/VPPage.vue.d.ts +15 -0
  168. package/dist/components/VPSidebar.d.vue.ts +15 -0
  169. package/dist/components/VPSidebar.vue +77 -0
  170. package/dist/components/VPSidebar.vue.d.ts +15 -0
  171. package/dist/components/VPSidebarGroup.d.vue.ts +7 -0
  172. package/dist/components/VPSidebarGroup.vue +36 -0
  173. package/dist/components/VPSidebarGroup.vue.d.ts +7 -0
  174. package/dist/components/VPSidebarItem.d.vue.ts +8 -0
  175. package/dist/components/VPSidebarItem.vue +79 -0
  176. package/dist/components/VPSidebarItem.vue.d.ts +8 -0
  177. package/dist/components/VPSocialLink.d.vue.ts +10 -0
  178. package/dist/components/VPSocialLink.vue +63 -0
  179. package/dist/components/VPSocialLink.vue.d.ts +10 -0
  180. package/dist/components/VPSocialLinks.d.vue.ts +10 -0
  181. package/dist/components/VPSocialLinks.vue +24 -0
  182. package/dist/components/VPSocialLinks.vue.d.ts +10 -0
  183. package/dist/components/VPSwitch.d.vue.ts +13 -0
  184. package/dist/components/VPSwitch.vue +61 -0
  185. package/dist/components/VPSwitch.vue.d.ts +13 -0
  186. package/dist/components/VPTeamMembers.d.vue.ts +10 -0
  187. package/dist/components/VPTeamMembers.vue +23 -0
  188. package/dist/components/VPTeamMembers.vue.d.ts +10 -0
  189. package/dist/components/VPTeamMembersItem.d.vue.ts +10 -0
  190. package/dist/components/VPTeamMembersItem.vue +216 -0
  191. package/dist/components/VPTeamMembersItem.vue.d.ts +10 -0
  192. package/dist/components/VPTeamPage.d.vue.ts +13 -0
  193. package/dist/components/VPTeamPage.vue +54 -0
  194. package/dist/components/VPTeamPage.vue.d.ts +13 -0
  195. package/dist/components/VPTeamPageSection.d.vue.ts +17 -0
  196. package/dist/components/VPTeamPageSection.vue +20 -0
  197. package/dist/components/VPTeamPageSection.vue.d.ts +17 -0
  198. package/dist/components/VPTeamPageTitle.d.vue.ts +15 -0
  199. package/dist/components/VPTeamPageTitle.vue +14 -0
  200. package/dist/components/VPTeamPageTitle.vue.d.ts +15 -0
  201. package/dist/composables/aside.d.ts +3 -0
  202. package/dist/composables/aside.js +14 -0
  203. package/dist/composables/context-menu-actions.d.ts +8 -0
  204. package/dist/composables/context-menu-actions.js +52 -0
  205. package/dist/composables/data.d.ts +3 -0
  206. package/dist/composables/data.js +2 -0
  207. package/dist/composables/edit-link.d.ts +4 -0
  208. package/dist/composables/edit-link.js +14 -0
  209. package/dist/composables/i18n.d.ts +163 -0
  210. package/dist/composables/i18n.js +178 -0
  211. package/dist/composables/langs.d.ts +14 -0
  212. package/dist/composables/langs.js +31 -0
  213. package/dist/composables/layout.d.ts +19 -0
  214. package/dist/composables/layout.js +110 -0
  215. package/dist/composables/nav.d.ts +11 -0
  216. package/dist/composables/nav.js +29 -0
  217. package/dist/composables/outline.d.ts +5 -0
  218. package/dist/composables/outline.js +142 -0
  219. package/dist/composables/prev-next.d.ts +10 -0
  220. package/dist/composables/prev-next.js +19 -0
  221. package/dist/composables/route-change.d.ts +8 -0
  222. package/dist/composables/route-change.js +20 -0
  223. package/dist/composables/sidebar.d.ts +22 -0
  224. package/dist/composables/sidebar.js +96 -0
  225. package/dist/composables/theme-toggle-transition.d.ts +2 -0
  226. package/dist/composables/theme-toggle-transition.js +23 -0
  227. package/dist/fonts/inter-italic-cyrillic-ext.woff2 +0 -0
  228. package/dist/fonts/inter-italic-cyrillic.woff2 +0 -0
  229. package/dist/fonts/inter-italic-greek-ext.woff2 +0 -0
  230. package/dist/fonts/inter-italic-greek.woff2 +0 -0
  231. package/dist/fonts/inter-italic-latin-ext.woff2 +0 -0
  232. package/dist/fonts/inter-italic-latin.woff2 +0 -0
  233. package/dist/fonts/inter-italic-vietnamese.woff2 +0 -0
  234. package/dist/fonts/inter-roman-cyrillic-ext.woff2 +0 -0
  235. package/dist/fonts/inter-roman-cyrillic.woff2 +0 -0
  236. package/dist/fonts/inter-roman-greek-ext.woff2 +0 -0
  237. package/dist/fonts/inter-roman-greek.woff2 +0 -0
  238. package/dist/fonts/inter-roman-latin-ext.woff2 +0 -0
  239. package/dist/fonts/inter-roman-latin.woff2 +0 -0
  240. package/dist/fonts/inter-roman-vietnamese.woff2 +0 -0
  241. package/dist/index.d.ts +29 -0
  242. package/dist/index.js +32 -0
  243. package/dist/shared/declarations.d.ts +36 -0
  244. package/dist/shared/docsearch.d.ts +191 -0
  245. package/dist/shared/docsearch.js +0 -0
  246. package/dist/shared/index.d.ts +49 -0
  247. package/dist/shared/index.js +222 -0
  248. package/dist/shared/local-search.d.ts +29 -0
  249. package/dist/shared/local-search.js +0 -0
  250. package/dist/shared/types.d.ts +191 -0
  251. package/dist/shared/types.js +0 -0
  252. package/dist/styles/base.css +242 -0
  253. package/dist/styles/components/custom-block.css +1 -0
  254. package/dist/styles/components/vp-code-group.css +1 -0
  255. package/dist/styles/components/vp-code.css +1 -0
  256. package/dist/styles/components/vp-doc.css +599 -0
  257. package/dist/styles/fonts.css +1 -0
  258. package/dist/styles/icons.css +1 -0
  259. package/dist/styles/main.css +946 -0
  260. package/dist/styles/mixins.css +0 -0
  261. package/dist/styles/transitions.css +146 -0
  262. package/dist/styles/vars.css +465 -0
  263. package/dist/support/lru.d.ts +9 -0
  264. package/dist/support/lru.js +30 -0
  265. package/dist/support/sidebar.d.ts +24 -0
  266. package/dist/support/sidebar.js +62 -0
  267. package/dist/support/translation.d.ts +4 -0
  268. package/dist/support/translation.js +41 -0
  269. package/dist/support/utils.d.ts +3 -0
  270. package/dist/support/utils.js +31 -0
  271. package/dist/theme-config.d.ts +316 -0
  272. package/dist/theme-config.js +0 -0
  273. package/package.json +65 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 Hesprs (Hēsperus)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,127 @@
1
+ <h1 align="center">
2
+ <img src="assets/logo.svg" alt="JSON Canvas Viewer logo" width="280px">
3
+ <br />
4
+ Trito
5
+ <br />
6
+ </h1>
7
+
8
+ <h4 align="center">Visually refurbished VitePress default theme</h4>
9
+
10
+ <p align="center">
11
+ <a href="https://www.npmjs.com/package/json-canvas-viewer">
12
+ <img src="https://img.shields.io/npm/v/vitepress-theme-trito?logo=npm&labelColor=red&logoColor=white&color=333333" alt="npm package">
13
+ </a>
14
+ <a href="https://github.com/hesprs/json-canvas-viewer/actions">
15
+ <img src="https://img.shields.io/github/actions/workflow/status/hesprs/vitepress-theme-trito/ci.yml?style=flat&logo=github&logoColor=white&label=CI&labelColor=d4ab00&color=333333" alt="ci">
16
+ </a>
17
+ <img src="https://img.shields.io/badge/Types-Strict-333333?logo=typescript&labelColor=blue&logoColor=white" alt="TypeScript">
18
+ <img src="https://img.shields.io/badge/%F0%9F%96%90%EF%B8%8F%20Made%20by-Humans-333333?labelColor=25C260" alt="Made by Humans">
19
+ </p>
20
+
21
+ <img align="center" src="./assets/preview1.png" alt="preview image of the hero page with light and dark theme">
22
+
23
+ <img align="center" src="./assets/preview2.png" alt="preview image of the documentation page with light and dark theme">
24
+
25
+ <p align="center">
26
+ <a href="#sites-using-trito">
27
+ <strong>Demo</strong>
28
+ </a> •
29
+ <a href="https://vitepress.dev/">
30
+ <strong>About VitePress</strong>
31
+ </a>
32
+ </p>
33
+
34
+ ## ❓ What is Trito?
35
+
36
+ Trito (pronounced as try-toe) is a [VitePress](https://vitepress.dev/) theme, which determines the look and feel of a VitePress generated site.
37
+
38
+ Trito titles itself as **"visually refurbished VitePress default theme"**, thus it does exactly **no more than** the functionalities achieved by the default theme. What makes it differs from the default one is pure UI/UX improvements.
39
+
40
+ Trito is designed to be a **drop-in replacement** to the default theme. If you want to make your site different from all other VitePress websites, please choose Trito 🌊. Don't forget to add a star ⭐!
41
+
42
+ ## 🚀 How to use it?
43
+
44
+ Firstly install it using your favorite package manager, choose `devDependency` or not based on your use case, here we take `npm` as an example:
45
+
46
+ ```sh
47
+ npm add vitepress-theme-trito
48
+ ```
49
+
50
+ Then modify your `.vitepress/theme/index.ts` or `.vitepress/theme/index.js` to be like this:
51
+
52
+ ```JavaScript
53
+ import Trito from 'vitepress-theme-trito';
54
+ export default Trito;
55
+ ```
56
+
57
+ Specifically for TypeScript, go to `.vitepress/config.ts` and do the modifications below:
58
+
59
+ ```TypeScript
60
+ // ... some other imports
61
+ import { ThemeConfig } from 'vitepress-theme-trito';
62
+ import { defineConfig } from 'vitepress';
63
+
64
+ export default defineConfig<ThemeConfig>({ // the type parameter is critical
65
+ // ... your config
66
+ })
67
+ ```
68
+
69
+ The extension of the theme is exactly the same as the default theme, refer to [how to extend the theme](https://vitepress.dev/guide/extending-default-theme) and [how to use the a custom theme](https://vitepress.dev/guide/custom-theme#consuming-a-custom-theme) in the official documentation for more detail.
70
+
71
+ ## 🛠 Configuration
72
+
73
+ Trito keeps minimal intrusion to the default theme APIs.
74
+
75
+ If you want to stylize the styles, you can see all configurable CSS variables in [this file](https://github.com/hesprs/vitepress-theme-trito/blob/main/src/styles/vars.scss). For how to extend the styles, consult [this official page](https://vitepress.dev/guide/extending-default-theme#customizing-css).
76
+
77
+ The theme configuration is **almost identical** to the default theme's, which is documented well at the [reference page](https://vitepress.dev/reference/site-config). But some options do differ in nuances, see below:
78
+
79
+ ### Home Page (the `index.md` at your site pages root)
80
+
81
+ Frontmatter option `hero.image`: removed, which is replaced by [`logoLarge` theme config](#logolarge)
82
+
83
+ ### Common Markdown Page (including `Home`)
84
+
85
+ New frontmatter option `unstyled: boolean`: by setting it to `true`, pre-made styles will not be applied to the text content of the page.
86
+
87
+ ### Theme Config
88
+
89
+ #### New Option `logoLarge`
90
+
91
+ - Type: [`ThemeableImage`](https://vitepress.dev/reference/default-theme-config#logo)
92
+ - It determines the hero image and the image in loading view, replacing `hero.image` in home frontmatter.
93
+
94
+ #### Removed `outline.label`
95
+
96
+ - Handled by internal i18n utility.
97
+ - Now `outline` **directly configures the outline level**, refer to [official docs](https://vitepress.dev/reference/default-theme-config#outline).
98
+
99
+ #### Removed `editLink.text`
100
+
101
+ - Handled by internal i18n utility.
102
+ - Now `editLink` directly sets the link pattern, refer to [official docs](https://vitepress.dev/reference/default-theme-edit-link).
103
+
104
+ #### Removed `lastUpdated.text`
105
+
106
+ - Handled by internal i18n utility.
107
+ - Now `lastUpdated` directly sets the date format, refer to [official docs](https://vitepress.dev/reference/default-theme-last-updated).
108
+
109
+ #### Removed `carbonads`
110
+
111
+ - It downgrades UX and the UI has no room for it.
112
+
113
+ #### Removed `darkModeSwitchLabel`, `lightModeSwitchTitle`, `darkModeSwitchTitle`, `sidebarMenuLabel`, `returnToTopLabel`, `langMenuLabel`
114
+
115
+ - All handled by internal i18n utility.
116
+
117
+ ## 🌐 Sites Using Trito
118
+
119
+ - [Pointeract documentation](https://pointeract.consensia.cc)
120
+ - [Hēsperus' portfolio](https://hesprs.github.io)
121
+ - ... Missing yours? Add here!
122
+
123
+ Disclaimer: `vitepress-theme-trito` is not related to, or effected by, the content of any of the sites above.
124
+
125
+ ## 📝 Copyright & License
126
+
127
+ Copyright ©️ 2025-2026 Hesprs (Hēsperus) | [MIT License](https://mit-license.org/)
@@ -0,0 +1,73 @@
1
+ declare var __VLS_1: {}, __VLS_20: {}, __VLS_23: {}, __VLS_26: {}, __VLS_29: {}, __VLS_32: {}, __VLS_35: {}, __VLS_44: {}, __VLS_47: {}, __VLS_56: {}, __VLS_59: {}, __VLS_62: {}, __VLS_65: {}, __VLS_68: {}, __VLS_71: {}, __VLS_74: {}, __VLS_77: {}, __VLS_80: {}, __VLS_83: {}, __VLS_86: {}, __VLS_89: {}, __VLS_92: {}, __VLS_95: {}, __VLS_98: {}, __VLS_101: {}, __VLS_104: {}, __VLS_107: {}, __VLS_110: {}, __VLS_113: {}, __VLS_116: {}, __VLS_123: {};
2
+ type __VLS_Slots = {} & {
3
+ 'layout-top'?: (props: typeof __VLS_1) => any;
4
+ } & {
5
+ 'nav-bar-title-before'?: (props: typeof __VLS_20) => any;
6
+ } & {
7
+ 'nav-bar-title-after'?: (props: typeof __VLS_23) => any;
8
+ } & {
9
+ 'nav-bar-content-before'?: (props: typeof __VLS_26) => any;
10
+ } & {
11
+ 'nav-bar-content-after'?: (props: typeof __VLS_29) => any;
12
+ } & {
13
+ 'nav-screen-content-before'?: (props: typeof __VLS_32) => any;
14
+ } & {
15
+ 'nav-screen-content-after'?: (props: typeof __VLS_35) => any;
16
+ } & {
17
+ 'sidebar-nav-before'?: (props: typeof __VLS_44) => any;
18
+ } & {
19
+ 'sidebar-nav-after'?: (props: typeof __VLS_47) => any;
20
+ } & {
21
+ 'page-top'?: (props: typeof __VLS_56) => any;
22
+ } & {
23
+ 'page-bottom'?: (props: typeof __VLS_59) => any;
24
+ } & {
25
+ 'not-found'?: (props: typeof __VLS_62) => any;
26
+ } & {
27
+ 'home-hero-before'?: (props: typeof __VLS_65) => any;
28
+ } & {
29
+ 'home-hero-info-before'?: (props: typeof __VLS_68) => any;
30
+ } & {
31
+ 'home-hero-info'?: (props: typeof __VLS_71) => any;
32
+ } & {
33
+ 'home-hero-info-after'?: (props: typeof __VLS_74) => any;
34
+ } & {
35
+ 'home-hero-actions-after'?: (props: typeof __VLS_77) => any;
36
+ } & {
37
+ 'home-hero-image'?: (props: typeof __VLS_80) => any;
38
+ } & {
39
+ 'home-hero-after'?: (props: typeof __VLS_83) => any;
40
+ } & {
41
+ 'home-features-before'?: (props: typeof __VLS_86) => any;
42
+ } & {
43
+ 'home-features-after'?: (props: typeof __VLS_89) => any;
44
+ } & {
45
+ 'doc-footer-before'?: (props: typeof __VLS_92) => any;
46
+ } & {
47
+ 'doc-before'?: (props: typeof __VLS_95) => any;
48
+ } & {
49
+ 'doc-after'?: (props: typeof __VLS_98) => any;
50
+ } & {
51
+ 'doc-top'?: (props: typeof __VLS_101) => any;
52
+ } & {
53
+ 'doc-bottom'?: (props: typeof __VLS_104) => any;
54
+ } & {
55
+ 'aside-top'?: (props: typeof __VLS_107) => any;
56
+ } & {
57
+ 'aside-bottom'?: (props: typeof __VLS_110) => any;
58
+ } & {
59
+ 'aside-outline-before'?: (props: typeof __VLS_113) => any;
60
+ } & {
61
+ 'aside-outline-after'?: (props: typeof __VLS_116) => any;
62
+ } & {
63
+ 'layout-bottom'?: (props: typeof __VLS_123) => any;
64
+ };
65
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
66
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
67
+ declare const _default: typeof __VLS_export;
68
+ export default _default;
69
+ type __VLS_WithSlots<T, S> = T & {
70
+ new (): {
71
+ $slots: S;
72
+ };
73
+ };
@@ -0,0 +1,75 @@
1
+ <script setup>
2
+ import { computed, provide, useSlots } from "vue";
3
+ import Background from "./components/VPBackground.vue";
4
+ import ContextMenu from "./components/VPContextMenu.vue";
5
+ import LoadingView from "./components/VPLoadingView.vue";
6
+ import VPContent from "./components/VPContent.vue";
7
+ import VPFooter from "./components/VPFooter.vue";
8
+ import VPNav from "./components/VPNav.vue";
9
+ import VPSidebar from "./components/VPSidebar.vue";
10
+ import { useData } from "./composables/data.js";
11
+ import { layoutInfoInjectionKey, registerWatchers } from "./composables/layout.js";
12
+ import { setupRouteChange } from "./composables/route-change.js";
13
+ import setupTransition from "./composables/theme-toggle-transition.js";
14
+ const { frontmatter, isDark } = useData();
15
+ setupTransition(isDark);
16
+ const slots = useSlots();
17
+ const heroImageSlotExists = computed(() => !!slots["home-hero-image"]);
18
+ registerWatchers();
19
+ setupRouteChange();
20
+ provide(layoutInfoInjectionKey, { heroImageSlotExists });
21
+ </script>
22
+
23
+ <template>
24
+ <div v-if="frontmatter.layout !== false" class="Layout" :class="frontmatter.pageClass">
25
+ <slot name="layout-top" />
26
+ <ContextMenu />
27
+ <LoadingView />
28
+ <VPNav>
29
+ <template #nav-bar-title-before><slot name="nav-bar-title-before" /></template>
30
+ <template #nav-bar-title-after><slot name="nav-bar-title-after" /></template>
31
+ <template #nav-bar-content-before><slot name="nav-bar-content-before" /></template>
32
+ <template #nav-bar-content-after><slot name="nav-bar-content-after" /></template>
33
+ <template #nav-screen-content-before>
34
+ <slot name="nav-screen-content-before" />
35
+ </template>
36
+ <template #nav-screen-content-after><slot name="nav-screen-content-after" /></template>
37
+ </VPNav>
38
+ <VPSidebar>
39
+ <template #sidebar-nav-before><slot name="sidebar-nav-before" /></template>
40
+ <template #sidebar-nav-after><slot name="sidebar-nav-after" /></template>
41
+ </VPSidebar>
42
+ <VPContent>
43
+ <template #page-top><slot name="page-top" /></template>
44
+ <template #page-bottom><slot name="page-bottom" /></template>
45
+ <template #not-found><slot name="not-found" /></template>
46
+ <template #home-hero-before><slot name="home-hero-before" /></template>
47
+ <template #home-hero-info-before><slot name="home-hero-info-before" /></template>
48
+ <template #home-hero-info><slot name="home-hero-info" /></template>
49
+ <template #home-hero-info-after><slot name="home-hero-info-after" /></template>
50
+ <template #home-hero-actions-after><slot name="home-hero-actions-after" /></template>
51
+ <template #home-hero-image><slot name="home-hero-image" /></template>
52
+ <template #home-hero-after><slot name="home-hero-after" /></template>
53
+ <template #home-features-before><slot name="home-features-before" /></template>
54
+ <template #home-features-after><slot name="home-features-after" /></template>
55
+ <template #doc-footer-before><slot name="doc-footer-before" /></template>
56
+ <template #doc-before><slot name="doc-before" /></template>
57
+ <template #doc-after><slot name="doc-after" /></template>
58
+ <template #doc-top><slot name="doc-top" /></template>
59
+ <template #doc-bottom><slot name="doc-bottom" /></template>
60
+ <template #aside-top><slot name="aside-top" /></template>
61
+ <template #aside-bottom><slot name="aside-bottom" /></template>
62
+ <template #aside-outline-before><slot name="aside-outline-before" /></template>
63
+ <template #aside-outline-after><slot name="aside-outline-after" /></template>
64
+ </VPContent>
65
+
66
+ <VPFooter />
67
+ <slot name="layout-bottom" />
68
+ <Background />
69
+ </div>
70
+ <Content v-else />
71
+ </template>
72
+
73
+ <style scoped>
74
+ .Layout{display:flex;flex-direction:column;min-height:100vh}
75
+ </style>
@@ -0,0 +1,73 @@
1
+ declare var __VLS_1: {}, __VLS_20: {}, __VLS_23: {}, __VLS_26: {}, __VLS_29: {}, __VLS_32: {}, __VLS_35: {}, __VLS_44: {}, __VLS_47: {}, __VLS_56: {}, __VLS_59: {}, __VLS_62: {}, __VLS_65: {}, __VLS_68: {}, __VLS_71: {}, __VLS_74: {}, __VLS_77: {}, __VLS_80: {}, __VLS_83: {}, __VLS_86: {}, __VLS_89: {}, __VLS_92: {}, __VLS_95: {}, __VLS_98: {}, __VLS_101: {}, __VLS_104: {}, __VLS_107: {}, __VLS_110: {}, __VLS_113: {}, __VLS_116: {}, __VLS_123: {};
2
+ type __VLS_Slots = {} & {
3
+ 'layout-top'?: (props: typeof __VLS_1) => any;
4
+ } & {
5
+ 'nav-bar-title-before'?: (props: typeof __VLS_20) => any;
6
+ } & {
7
+ 'nav-bar-title-after'?: (props: typeof __VLS_23) => any;
8
+ } & {
9
+ 'nav-bar-content-before'?: (props: typeof __VLS_26) => any;
10
+ } & {
11
+ 'nav-bar-content-after'?: (props: typeof __VLS_29) => any;
12
+ } & {
13
+ 'nav-screen-content-before'?: (props: typeof __VLS_32) => any;
14
+ } & {
15
+ 'nav-screen-content-after'?: (props: typeof __VLS_35) => any;
16
+ } & {
17
+ 'sidebar-nav-before'?: (props: typeof __VLS_44) => any;
18
+ } & {
19
+ 'sidebar-nav-after'?: (props: typeof __VLS_47) => any;
20
+ } & {
21
+ 'page-top'?: (props: typeof __VLS_56) => any;
22
+ } & {
23
+ 'page-bottom'?: (props: typeof __VLS_59) => any;
24
+ } & {
25
+ 'not-found'?: (props: typeof __VLS_62) => any;
26
+ } & {
27
+ 'home-hero-before'?: (props: typeof __VLS_65) => any;
28
+ } & {
29
+ 'home-hero-info-before'?: (props: typeof __VLS_68) => any;
30
+ } & {
31
+ 'home-hero-info'?: (props: typeof __VLS_71) => any;
32
+ } & {
33
+ 'home-hero-info-after'?: (props: typeof __VLS_74) => any;
34
+ } & {
35
+ 'home-hero-actions-after'?: (props: typeof __VLS_77) => any;
36
+ } & {
37
+ 'home-hero-image'?: (props: typeof __VLS_80) => any;
38
+ } & {
39
+ 'home-hero-after'?: (props: typeof __VLS_83) => any;
40
+ } & {
41
+ 'home-features-before'?: (props: typeof __VLS_86) => any;
42
+ } & {
43
+ 'home-features-after'?: (props: typeof __VLS_89) => any;
44
+ } & {
45
+ 'doc-footer-before'?: (props: typeof __VLS_92) => any;
46
+ } & {
47
+ 'doc-before'?: (props: typeof __VLS_95) => any;
48
+ } & {
49
+ 'doc-after'?: (props: typeof __VLS_98) => any;
50
+ } & {
51
+ 'doc-top'?: (props: typeof __VLS_101) => any;
52
+ } & {
53
+ 'doc-bottom'?: (props: typeof __VLS_104) => any;
54
+ } & {
55
+ 'aside-top'?: (props: typeof __VLS_107) => any;
56
+ } & {
57
+ 'aside-bottom'?: (props: typeof __VLS_110) => any;
58
+ } & {
59
+ 'aside-outline-before'?: (props: typeof __VLS_113) => any;
60
+ } & {
61
+ 'aside-outline-after'?: (props: typeof __VLS_116) => any;
62
+ } & {
63
+ 'layout-bottom'?: (props: typeof __VLS_123) => any;
64
+ };
65
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
66
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
67
+ declare const _default: typeof __VLS_export;
68
+ export default _default;
69
+ type __VLS_WithSlots<T, S> = T & {
70
+ new (): {
71
+ $slots: S;
72
+ };
73
+ };
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,32 @@
1
+ <script setup>
2
+ import { withBase } from "vitepress";
3
+ import { useLangs } from "./composables/langs.js";
4
+ import { useData } from "./composables/data.js";
5
+ import { useI18n } from "./composables/i18n.js";
6
+ const i18n = useI18n();
7
+ const { theme } = useData();
8
+ const { currentLang } = useLangs();
9
+ </script>
10
+
11
+ <template>
12
+ <div class="NotFound">
13
+ <p class="code">{{ theme.notFound?.code ?? "404" }}</p>
14
+ <h1 class="title">{{ theme.notFound?.title ?? i18n.notFound.title }}</h1>
15
+ <div class="divider" />
16
+ <blockquote class="quote">{{ theme.notFound?.quote ?? i18n.notFound.quote }}</blockquote>
17
+
18
+ <div class="action">
19
+ <a
20
+ class="link"
21
+ :href="withBase(theme.notFound?.link ?? currentLang.link)"
22
+ :aria-label="theme.notFound?.linkText ?? i18n.notFound.linkText"
23
+ >
24
+ {{ theme.notFound?.linkText ?? i18n.notFound.linkText }}
25
+ </a>
26
+ </div>
27
+ </div>
28
+ </template>
29
+
30
+ <style scoped>
31
+ .NotFound{padding:64px 24px 96px;text-align:center}@media (min-width:768px){.NotFound{padding:96px 32px 168px}}.code{font-size:64px;font-weight:600;line-height:64px}.title{font-size:20px;font-weight:700;letter-spacing:2px;line-height:20px;padding-top:12px}.divider{background-color:var(--vp-c-divider);height:1px;margin:24px auto 18px;width:64px}.quote{color:var(--vp-c-text-2);font-size:14px;font-weight:500;margin:0 auto;max-width:256px}.action{padding-top:20px}.link{border:1px solid var(--vp-c-brand-1);border-radius:16px;color:var(--vp-c-brand-1);display:inline-block;font-size:14px;font-weight:500;padding:3px 16px;transition:border-color .25s,color .25s}.link:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}
32
+ </style>
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { TritoTheme } from '../shared/index.js';
2
+ type __VLS_Props = {
3
+ algolia: TritoTheme.AlgoliaSearchOptions;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,72 @@
1
+ <script setup>
2
+ import docsearch, {} from "@docsearch/js";
3
+ import { useRouter } from "vitepress";
4
+ import { nextTick, onMounted, watch } from "vue";
5
+ import { useData } from "../composables/data.js";
6
+ const props = defineProps({
7
+ algolia: { type: Object, required: true }
8
+ });
9
+ const router = useRouter();
10
+ const { site, localeIndex, lang } = useData();
11
+ onMounted(update);
12
+ watch(localeIndex, update);
13
+ async function update() {
14
+ await nextTick();
15
+ const options = {
16
+ ...props.algolia,
17
+ ...props.algolia.locales?.[localeIndex.value]
18
+ };
19
+ const rawFacetFilters = options.searchParameters?.facetFilters ?? [];
20
+ const facetFilters = [
21
+ ...(Array.isArray(rawFacetFilters) ? rawFacetFilters : [rawFacetFilters]).filter(
22
+ (f) => !f.startsWith("lang:")
23
+ ),
24
+ `lang:${lang.value}`
25
+ ];
26
+ const askAiProp = options.askAi;
27
+ const isAskAiString = typeof askAiProp === "string";
28
+ const askAi = askAiProp ? {
29
+ indexName: isAskAiString ? options.indexName : askAiProp.indexName,
30
+ apiKey: isAskAiString ? options.apiKey : askAiProp.apiKey,
31
+ appId: isAskAiString ? options.appId : askAiProp.appId,
32
+ assistantId: isAskAiString ? askAiProp : askAiProp.assistantId,
33
+ // Re-use the merged facetFilters from the search parameters so that
34
+ // Ask AI uses the same language filtering as the regular search.
35
+ searchParameters: facetFilters.length ? { facetFilters } : void 0
36
+ } : void 0;
37
+ initialize({
38
+ ...options,
39
+ searchParameters: {
40
+ ...options.searchParameters,
41
+ facetFilters
42
+ },
43
+ askAi
44
+ });
45
+ }
46
+ function initialize(userOptions) {
47
+ const options = Object.assign({}, userOptions, {
48
+ container: "#docsearch",
49
+ navigator: {
50
+ navigate(item) {
51
+ router.go(item.itemUrl);
52
+ }
53
+ },
54
+ transformItems(items) {
55
+ return items.map((item) => {
56
+ return Object.assign({}, item, {
57
+ url: getRelativePath(item.url)
58
+ });
59
+ });
60
+ }
61
+ });
62
+ docsearch(options);
63
+ }
64
+ function getRelativePath(url) {
65
+ const { pathname, hash } = new URL(url, location.origin);
66
+ return pathname.replace(/\.html$/, site.value.cleanUrls ? "" : ".html") + hash;
67
+ }
68
+ </script>
69
+
70
+ <template>
71
+ <div id="docsearch" />
72
+ </template>
@@ -0,0 +1,7 @@
1
+ import type { TritoTheme } from '../shared/index.js';
2
+ type __VLS_Props = {
3
+ algolia: TritoTheme.AlgoliaSearchOptions;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ show: boolean;
3
+ };
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,15 @@
1
+ <script setup>
2
+ defineProps({
3
+ show: { type: Boolean, required: true }
4
+ });
5
+ </script>
6
+
7
+ <template>
8
+ <transition name="fade">
9
+ <div v-if="show" class="VPBackdrop" />
10
+ </transition>
11
+ </template>
12
+
13
+ <style scoped>
14
+ .VPBackdrop{background:var(--vp-backdrop-bg-color);bottom:0;left:0;position:fixed;right:0;top:0;transition:opacity .5s;z-index:var(--vp-z-index-backdrop)}.VPBackdrop.fade-enter-from,.VPBackdrop.fade-leave-to{opacity:0}.VPBackdrop.fade-leave-active{transition-duration:.25s}@media (min-width:1280px){.VPBackdrop{display:none}}
15
+ </style>
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ show: boolean;
3
+ };
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <div class="background" />
3
+ </template>
4
+
5
+ <style scoped>
6
+ .background {
7
+ position: fixed;
8
+ top: 0;
9
+ left: 0;
10
+ width: 100vw;
11
+ height: 100vh;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ z-index: -2;
16
+ background-image: var(--vp-bg-image);
17
+ }
18
+ </style>
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,19 @@
1
+ interface Props {
2
+ text?: string;
3
+ type?: 'info' | 'tip' | 'warning' | 'danger';
4
+ }
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
10
+ type: "info" | "tip" | "warning" | "danger";
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,16 @@
1
+ <script setup>
2
+ defineProps({
3
+ text: { type: String, required: false },
4
+ type: { type: String, required: false, default: "tip" }
5
+ });
6
+ </script>
7
+
8
+ <template>
9
+ <span class="VPBadge" :class="type">
10
+ <slot>{{ text }}</slot>
11
+ </span>
12
+ </template>
13
+
14
+ <style>
15
+ .VPBadge{border:1px solid transparent;border-radius:12px;box-shadow:var(--vp-shadow-1);display:inline-block;font-size:12px;font-weight:500;line-height:22px;margin-left:2px;padding:0 10px;transform:translateY(-2px);white-space:nowrap}.VPBadge.small{font-size:10px;line-height:18px;padding:0 6px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{line-height:18px;vertical-align:middle}.VPBadge.info{background-color:var(--vp-badge-info-bg);border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text)}.VPBadge.tip{background-color:var(--vp-badge-tip-bg);border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text)}.VPBadge.warning{background-color:var(--vp-badge-warning-bg);border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text)}.VPBadge.danger{background-color:var(--vp-badge-danger-bg);border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text)}
16
+ </style>
@@ -0,0 +1,19 @@
1
+ interface Props {
2
+ text?: string;
3
+ type?: 'info' | 'tip' | 'warning' | 'danger';
4
+ }
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
10
+ type: "info" | "tip" | "warning" | "danger";
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,25 @@
1
+ interface Props {
2
+ tag?: string;
3
+ size?: 'medium' | 'big';
4
+ theme?: 'brand' | 'alt' | 'sponsor';
5
+ text?: string;
6
+ href?: string;
7
+ target?: string;
8
+ rel?: string;
9
+ }
10
+ declare var __VLS_8: {};
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_8) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
15
+ theme: "brand" | "alt" | "sponsor";
16
+ size: "medium" | "big";
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };