vitepress 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (286) hide show
  1. package/README.md +34 -2
  2. package/THIRD-PARTY-NOTICES.md +1736 -0
  3. package/bin/vitepress.js +14 -0
  4. package/client.d.ts +9 -0
  5. package/dist/client/app/components/ClientOnly.d.ts +5 -0
  6. package/dist/client/app/components/ClientOnly.js +11 -10
  7. package/dist/client/app/components/Content.d.ts +17 -0
  8. package/dist/client/app/components/Content.js +25 -22
  9. package/dist/client/app/composables/codeGroups.d.ts +3 -0
  10. package/dist/client/app/composables/codeGroups.js +36 -39
  11. package/dist/client/app/composables/copyCode.d.ts +3 -0
  12. package/dist/client/app/composables/copyCode.js +59 -70
  13. package/dist/client/app/composables/head.d.ts +5 -0
  14. package/dist/client/app/composables/head.js +56 -74
  15. package/dist/client/app/composables/icon.d.ts +12 -0
  16. package/dist/client/app/composables/icon.js +56 -0
  17. package/dist/client/app/composables/preFetch.d.ts +3 -0
  18. package/dist/client/app/composables/preFetch.js +64 -96
  19. package/dist/client/app/data.d.ts +9 -0
  20. package/dist/client/app/data.js +34 -59
  21. package/dist/client/app/devtools.d.ts +7 -0
  22. package/dist/client/app/devtools.js +29 -28
  23. package/dist/client/app/index.d.ts +11 -0
  24. package/dist/client/app/index.js +106 -131
  25. package/dist/client/app/router.d.ts +49 -0
  26. package/dist/client/app/router.js +198 -239
  27. package/dist/client/app/ssr.d.ts +4 -0
  28. package/dist/client/app/ssr.js +14 -9
  29. package/dist/client/app/theme.d.ts +24 -0
  30. package/dist/client/app/theme.js +0 -1
  31. package/dist/client/app/utils.d.ts +35 -0
  32. package/dist/client/app/utils.js +77 -110
  33. package/dist/client/index.d.ts +21 -137
  34. package/dist/client/index.js +8 -9
  35. package/dist/client/shared.d.ts +88 -0
  36. package/dist/client/shared.js +265 -141
  37. package/dist/client/theme-default/Layout.d.vue.ts +79 -0
  38. package/dist/client/theme-default/Layout.vue +33 -36
  39. package/dist/client/theme-default/NotFound.d.vue.ts +3 -0
  40. package/dist/client/theme-default/NotFound.vue +33 -35
  41. package/dist/client/theme-default/components/VPAlgoliaSearchBox.d.vue.ts +11 -0
  42. package/dist/client/theme-default/components/VPAlgoliaSearchBox.vue +202 -70
  43. package/dist/client/theme-default/components/VPBackdrop.d.vue.ts +6 -0
  44. package/dist/client/theme-default/components/VPBackdrop.vue +8 -12
  45. package/dist/client/theme-default/components/VPBadge.d.vue.ts +19 -0
  46. package/dist/client/theme-default/components/VPBadge.vue +49 -26
  47. package/dist/client/theme-default/components/VPButton.d.vue.ts +25 -0
  48. package/dist/client/theme-default/components/VPButton.vue +53 -36
  49. package/dist/client/theme-default/components/VPCarbonAds.d.vue.ts +7 -0
  50. package/dist/client/theme-default/components/VPCarbonAds.vue +51 -52
  51. package/dist/client/theme-default/components/VPContent.d.vue.ts +59 -0
  52. package/dist/client/theme-default/components/VPContent.vue +27 -26
  53. package/dist/client/theme-default/components/VPDoc.d.vue.ts +33 -0
  54. package/dist/client/theme-default/components/VPDoc.vue +52 -48
  55. package/dist/client/theme-default/components/VPDocAside.d.vue.ts +23 -0
  56. package/dist/client/theme-default/components/VPDocAside.vue +7 -8
  57. package/dist/client/theme-default/components/VPDocAsideCarbonAds.d.vue.ts +7 -0
  58. package/dist/client/theme-default/components/VPDocAsideCarbonAds.vue +7 -11
  59. package/dist/client/theme-default/components/VPDocAsideOutline.d.vue.ts +3 -0
  60. package/dist/client/theme-default/components/VPDocAsideOutline.vue +22 -38
  61. package/dist/client/theme-default/components/VPDocAsideSponsors.d.vue.ts +10 -0
  62. package/dist/client/theme-default/components/VPDocAsideSponsors.vue +17 -11
  63. package/dist/client/theme-default/components/VPDocFooter.d.vue.ts +13 -0
  64. package/dist/client/theme-default/components/VPDocFooter.vue +38 -45
  65. package/dist/client/theme-default/components/VPDocFooterLastUpdated.d.vue.ts +3 -0
  66. package/dist/client/theme-default/components/VPDocFooterLastUpdated.vue +30 -29
  67. package/dist/client/theme-default/components/VPDocOutlineItem.d.vue.ts +8 -0
  68. package/dist/client/theme-default/components/VPDocOutlineItem.vue +20 -19
  69. package/dist/client/theme-default/components/VPFeature.d.vue.ts +13 -0
  70. package/dist/client/theme-default/components/VPFeature.vue +62 -36
  71. package/dist/client/theme-default/components/VPFeatures.d.vue.ts +16 -0
  72. package/dist/client/theme-default/components/VPFeatures.vue +35 -48
  73. package/dist/client/theme-default/components/VPFlyout.d.vue.ts +26 -0
  74. package/dist/client/theme-default/components/VPFlyout.vue +111 -47
  75. package/dist/client/theme-default/components/VPFooter.d.vue.ts +3 -0
  76. package/dist/client/theme-default/components/VPFooter.vue +22 -15
  77. package/dist/client/theme-default/components/VPHero.d.vue.ts +38 -0
  78. package/dist/client/theme-default/components/VPHero.vue +109 -99
  79. package/dist/client/theme-default/components/VPHome.d.vue.ts +31 -0
  80. package/dist/client/theme-default/components/VPHome.vue +15 -15
  81. package/dist/client/theme-default/components/VPHomeContent.d.vue.ts +13 -0
  82. package/dist/client/theme-default/components/VPHomeContent.vue +9 -27
  83. package/dist/client/theme-default/components/VPHomeFeatures.d.vue.ts +3 -0
  84. package/dist/client/theme-default/components/VPHomeFeatures.vue +4 -5
  85. package/dist/client/theme-default/components/VPHomeHero.d.vue.ts +23 -0
  86. package/dist/client/theme-default/components/VPHomeHero.vue +5 -5
  87. package/dist/client/theme-default/components/VPHomeSponsors.d.vue.ts +21 -0
  88. package/dist/client/theme-default/components/VPHomeSponsors.vue +42 -43
  89. package/dist/client/theme-default/components/VPIcon.d.vue.ts +8 -0
  90. package/dist/client/theme-default/components/VPIcon.vue +29 -0
  91. package/dist/client/theme-default/components/VPImage.d.vue.ts +8 -0
  92. package/dist/client/theme-default/components/VPImage.vue +20 -14
  93. package/dist/client/theme-default/components/VPLink.d.vue.ts +23 -0
  94. package/dist/client/theme-default/components/VPLink.vue +42 -23
  95. package/dist/client/theme-default/components/VPLocalNav.d.vue.ts +10 -0
  96. package/dist/client/theme-default/components/VPLocalNav.vue +69 -86
  97. package/dist/client/theme-default/components/VPLocalNavOutlineDropdown.d.vue.ts +8 -0
  98. package/dist/client/theme-default/components/VPLocalNavOutlineDropdown.vue +98 -96
  99. package/dist/client/theme-default/components/VPLocalSearchBox.d.vue.ts +7 -0
  100. package/dist/client/theme-default/components/VPLocalSearchBox.vue +391 -454
  101. package/dist/client/theme-default/components/VPMenu.d.vue.ts +23 -0
  102. package/dist/client/theme-default/components/VPMenu.vue +19 -31
  103. package/dist/client/theme-default/components/VPMenuGroup.d.vue.ts +22 -0
  104. package/dist/client/theme-default/components/VPMenuGroup.vue +72 -18
  105. package/dist/client/theme-default/components/VPMenuLink.d.vue.ts +22 -0
  106. package/dist/client/theme-default/components/VPMenuLink.vue +65 -31
  107. package/dist/client/theme-default/components/VPNav.d.vue.ts +23 -0
  108. package/dist/client/theme-default/components/VPNav.vue +18 -24
  109. package/dist/client/theme-default/components/VPNavAppearance.d.vue.ts +9 -0
  110. package/dist/client/theme-default/components/VPNavAppearance.vue +88 -0
  111. package/dist/client/theme-default/components/VPNavBar.d.vue.ts +26 -0
  112. package/dist/client/theme-default/components/VPNavBar.vue +170 -142
  113. package/dist/client/theme-default/components/VPNavBarAskAiButton.d.vue.ts +3 -0
  114. package/dist/client/theme-default/components/VPNavBarAskAiButton.vue +31 -0
  115. package/dist/client/theme-default/components/VPNavBarExtra.d.vue.ts +3 -0
  116. package/dist/client/theme-default/components/VPNavBarExtra.vue +51 -73
  117. package/dist/client/theme-default/components/VPNavBarHamburger.d.vue.ts +10 -0
  118. package/dist/client/theme-default/components/VPNavBarHamburger.vue +38 -28
  119. package/dist/client/theme-default/components/VPNavBarSearch.d.vue.ts +3 -0
  120. package/dist/client/theme-default/components/VPNavBarSearch.vue +129 -160
  121. package/dist/client/theme-default/components/VPNavBarSearchButton.d.vue.ts +6 -0
  122. package/dist/client/theme-default/components/VPNavBarSearchButton.vue +48 -182
  123. package/dist/client/theme-default/components/VPNavBarTitle.d.vue.ts +15 -0
  124. package/dist/client/theme-default/components/VPNavBarTitle.vue +39 -38
  125. package/dist/client/theme-default/components/VPNavMenu.d.vue.ts +6 -0
  126. package/dist/client/theme-default/components/VPNavMenu.vue +76 -0
  127. package/dist/client/theme-default/components/VPNavMenuGroup.d.vue.ts +11 -0
  128. package/dist/client/theme-default/components/VPNavMenuGroup.vue +140 -0
  129. package/dist/client/theme-default/components/VPNavMenuLink.d.vue.ts +8 -0
  130. package/dist/client/theme-default/components/VPNavMenuLink.vue +69 -0
  131. package/dist/client/theme-default/components/VPNavScreen.d.vue.ts +18 -0
  132. package/dist/client/theme-default/components/VPNavScreen.vue +36 -34
  133. package/dist/client/theme-default/components/VPNavSocialLinks.d.vue.ts +6 -0
  134. package/dist/client/theme-default/components/VPNavSocialLinks.vue +36 -0
  135. package/dist/client/theme-default/components/VPNavTranslations.d.vue.ts +9 -0
  136. package/dist/client/theme-default/components/VPNavTranslations.vue +170 -0
  137. package/dist/client/theme-default/components/VPPage.d.vue.ts +15 -0
  138. package/dist/client/theme-default/components/VPSidebar.d.vue.ts +18 -0
  139. package/dist/client/theme-default/components/VPSidebar.vue +40 -53
  140. package/dist/client/theme-default/components/VPSidebarGroup.d.vue.ts +7 -0
  141. package/dist/client/theme-default/components/VPSidebarGroup.vue +24 -29
  142. package/dist/client/theme-default/components/VPSidebarItem.d.vue.ts +8 -0
  143. package/dist/client/theme-default/components/VPSidebarItem.vue +60 -93
  144. package/dist/client/theme-default/components/VPSkipLink.d.vue.ts +6 -0
  145. package/dist/client/theme-default/components/VPSkipLink.vue +23 -42
  146. package/dist/client/theme-default/components/VPSocialLink.d.vue.ts +11 -0
  147. package/dist/client/theme-default/components/VPSocialLink.vue +42 -49
  148. package/dist/client/theme-default/components/VPSocialLinks.d.vue.ts +10 -0
  149. package/dist/client/theme-default/components/VPSocialLinks.vue +26 -16
  150. package/dist/client/theme-default/components/VPSponsors.d.vue.ts +18 -0
  151. package/dist/client/theme-default/components/VPSponsors.vue +34 -33
  152. package/dist/client/theme-default/components/VPSponsorsGrid.d.vue.ts +15 -0
  153. package/dist/client/theme-default/components/VPSponsorsGrid.vue +23 -26
  154. package/dist/client/theme-default/components/VPSwitch.d.vue.ts +13 -0
  155. package/dist/client/theme-default/components/VPSwitch.vue +12 -13
  156. package/dist/client/theme-default/components/VPSwitchAppearance.d.vue.ts +3 -0
  157. package/dist/client/theme-default/components/VPSwitchAppearance.vue +16 -21
  158. package/dist/client/theme-default/components/VPTeamMembers.d.vue.ts +10 -0
  159. package/dist/client/theme-default/components/VPTeamMembers.vue +59 -32
  160. package/dist/client/theme-default/components/VPTeamMembersItem.d.vue.ts +10 -0
  161. package/dist/client/theme-default/components/VPTeamMembersItem.vue +62 -58
  162. package/dist/client/theme-default/components/VPTeamPage.d.vue.ts +13 -0
  163. package/dist/client/theme-default/components/VPTeamPage.vue +14 -14
  164. package/dist/client/theme-default/components/VPTeamPageSection.d.vue.ts +17 -0
  165. package/dist/client/theme-default/components/VPTeamPageSection.vue +20 -19
  166. package/dist/client/theme-default/components/VPTeamPageTitle.d.vue.ts +15 -0
  167. package/dist/client/theme-default/components/VPTeamPageTitle.vue +22 -22
  168. package/dist/client/theme-default/composables/data.d.ts +5 -0
  169. package/dist/client/theme-default/composables/data.js +5 -2
  170. package/dist/client/theme-default/composables/edit-link.d.ts +6 -0
  171. package/dist/client/theme-default/composables/edit-link.js +17 -15
  172. package/dist/client/theme-default/composables/flyout.d.ts +10 -0
  173. package/dist/client/theme-default/composables/flyout.js +33 -32
  174. package/dist/client/theme-default/composables/langs.d.ts +44 -0
  175. package/dist/client/theme-default/composables/langs.js +48 -24
  176. package/dist/client/theme-default/composables/layout.d.ts +13 -0
  177. package/dist/client/theme-default/composables/layout.js +68 -0
  178. package/dist/client/theme-default/composables/nav-overflow.d.ts +54 -0
  179. package/dist/client/theme-default/composables/nav-overflow.js +179 -0
  180. package/dist/client/theme-default/composables/nav.d.ts +25 -0
  181. package/dist/client/theme-default/composables/nav.js +58 -29
  182. package/dist/client/theme-default/composables/outline.d.ts +8 -0
  183. package/dist/client/theme-default/composables/outline.js +144 -166
  184. package/dist/client/theme-default/composables/prev-next.d.ts +16 -0
  185. package/dist/client/theme-default/composables/prev-next.js +34 -56
  186. package/dist/client/theme-default/composables/scroll-lock.d.ts +4 -0
  187. package/dist/client/theme-default/composables/scroll-lock.js +95 -0
  188. package/dist/client/theme-default/composables/sidebar.d.ts +25 -0
  189. package/dist/client/theme-default/composables/sidebar.js +96 -133
  190. package/dist/client/theme-default/composables/sponsor-grid.d.ts +10 -0
  191. package/dist/client/theme-default/composables/sponsor-grid.js +69 -76
  192. package/dist/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 +0 -0
  193. package/dist/client/theme-default/fonts/inter-italic-cyrillic.woff2 +0 -0
  194. package/dist/client/theme-default/fonts/inter-italic-greek-ext.woff2 +0 -0
  195. package/dist/client/theme-default/fonts/inter-italic-greek.woff2 +0 -0
  196. package/dist/client/theme-default/fonts/inter-italic-latin-ext.woff2 +0 -0
  197. package/dist/client/theme-default/fonts/inter-italic-latin.woff2 +0 -0
  198. package/dist/client/theme-default/fonts/inter-italic-symbols.woff2 +0 -0
  199. package/dist/client/theme-default/fonts/inter-italic-vietnamese.woff2 +0 -0
  200. package/dist/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 +0 -0
  201. package/dist/client/theme-default/fonts/inter-roman-cyrillic.woff2 +0 -0
  202. package/dist/client/theme-default/fonts/inter-roman-greek-ext.woff2 +0 -0
  203. package/dist/client/theme-default/fonts/inter-roman-greek.woff2 +0 -0
  204. package/dist/client/theme-default/fonts/inter-roman-latin-ext.woff2 +0 -0
  205. package/dist/client/theme-default/fonts/inter-roman-latin.woff2 +0 -0
  206. package/dist/client/theme-default/fonts/inter-roman-symbols.woff2 +0 -0
  207. package/dist/client/theme-default/fonts/inter-roman-vietnamese.woff2 +0 -0
  208. package/dist/client/theme-default/index.d.ts +3 -0
  209. package/dist/client/theme-default/index.js +4 -3
  210. package/dist/client/theme-default/styles/base.css +279 -211
  211. package/dist/client/theme-default/styles/components/custom-block.css +12 -7
  212. package/dist/client/theme-default/styles/components/vp-code-group.css +13 -16
  213. package/dist/client/theme-default/styles/components/vp-code.css +10 -2
  214. package/dist/client/theme-default/styles/components/vp-doc.css +188 -142
  215. package/dist/client/theme-default/styles/components/vp-sponsor.css +48 -37
  216. package/dist/client/theme-default/styles/docsearch.css +138 -0
  217. package/dist/client/theme-default/styles/fonts.css +216 -55
  218. package/dist/client/theme-default/styles/icons.css +42 -22
  219. package/dist/client/theme-default/styles/vars.css +111 -46
  220. package/dist/client/theme-default/support/docsearch.d.ts +57 -0
  221. package/dist/client/theme-default/support/docsearch.js +145 -0
  222. package/dist/client/theme-default/support/local-search.d.ts +9 -0
  223. package/dist/client/theme-default/support/local-search.js +31 -0
  224. package/dist/client/theme-default/support/lru.d.ts +11 -0
  225. package/dist/client/theme-default/support/lru.js +30 -33
  226. package/dist/client/theme-default/support/reactivity.d.ts +4 -0
  227. package/dist/client/theme-default/support/reactivity.js +10 -0
  228. package/dist/client/theme-default/support/sidebar.d.ts +27 -0
  229. package/dist/client/theme-default/support/sidebar.js +69 -80
  230. package/dist/client/theme-default/support/translation.d.ts +6 -0
  231. package/dist/client/theme-default/support/translation.js +33 -47
  232. package/dist/client/theme-default/support/utils.d.ts +7 -0
  233. package/dist/client/theme-default/support/utils.js +39 -30
  234. package/dist/client/theme-default/without-fonts.d.ts +25 -0
  235. package/dist/client/theme-default/without-fonts.js +37 -36
  236. package/dist/node/chunk-BjrVv9r8.js +28627 -0
  237. package/dist/node/cli.d.ts +1 -0
  238. package/dist/node/cli.js +160 -423
  239. package/dist/node/index.d.ts +1761 -2476
  240. package/dist/node/index.js +1 -121
  241. package/dist/web-types.json +75 -0
  242. package/package.json +89 -98
  243. package/template/.vitepress/config.js +3 -1
  244. package/template/.vitepress/theme/style.css +3 -11
  245. package/theme.d.ts +30 -23
  246. package/types/default-theme.d.ts +109 -113
  247. package/types/docsearch.d.ts +61 -142
  248. package/types/shared.d.ts +469 -50
  249. package/dist/client/theme-default/components/VPNavBarAppearance.vue +0 -32
  250. package/dist/client/theme-default/components/VPNavBarMenu.vue +0 -40
  251. package/dist/client/theme-default/components/VPNavBarMenuGroup.vue +0 -42
  252. package/dist/client/theme-default/components/VPNavBarMenuLink.vue +0 -53
  253. package/dist/client/theme-default/components/VPNavBarSocialLinks.vue +0 -27
  254. package/dist/client/theme-default/components/VPNavBarTranslations.vue +0 -47
  255. package/dist/client/theme-default/components/VPNavScreenAppearance.vue +0 -40
  256. package/dist/client/theme-default/components/VPNavScreenMenu.vue +0 -26
  257. package/dist/client/theme-default/components/VPNavScreenMenuGroup.vue +0 -112
  258. package/dist/client/theme-default/components/VPNavScreenMenuGroupLink.vue +0 -40
  259. package/dist/client/theme-default/components/VPNavScreenMenuGroupSection.vue +0 -34
  260. package/dist/client/theme-default/components/VPNavScreenMenuLink.vue +0 -43
  261. package/dist/client/theme-default/components/VPNavScreenSocialLinks.vue +0 -14
  262. package/dist/client/theme-default/components/VPNavScreenTranslations.vue +0 -73
  263. package/dist/client/theme-default/components/icons/VPIconAlignJustify.vue +0 -8
  264. package/dist/client/theme-default/components/icons/VPIconAlignLeft.vue +0 -8
  265. package/dist/client/theme-default/components/icons/VPIconAlignRight.vue +0 -8
  266. package/dist/client/theme-default/components/icons/VPIconArrowLeft.vue +0 -7
  267. package/dist/client/theme-default/components/icons/VPIconArrowRight.vue +0 -7
  268. package/dist/client/theme-default/components/icons/VPIconChevronDown.vue +0 -5
  269. package/dist/client/theme-default/components/icons/VPIconChevronLeft.vue +0 -5
  270. package/dist/client/theme-default/components/icons/VPIconChevronRight.vue +0 -5
  271. package/dist/client/theme-default/components/icons/VPIconChevronUp.vue +0 -5
  272. package/dist/client/theme-default/components/icons/VPIconEdit.vue +0 -6
  273. package/dist/client/theme-default/components/icons/VPIconHeart.vue +0 -5
  274. package/dist/client/theme-default/components/icons/VPIconLanguages.vue +0 -9
  275. package/dist/client/theme-default/components/icons/VPIconMinus.vue +0 -5
  276. package/dist/client/theme-default/components/icons/VPIconMinusSquare.vue +0 -6
  277. package/dist/client/theme-default/components/icons/VPIconMoon.vue +0 -5
  278. package/dist/client/theme-default/components/icons/VPIconMoreHorizontal.vue +0 -7
  279. package/dist/client/theme-default/components/icons/VPIconPlus.vue +0 -5
  280. package/dist/client/theme-default/components/icons/VPIconPlusSquare.vue +0 -6
  281. package/dist/client/theme-default/components/icons/VPIconSun.vue +0 -13
  282. package/dist/client/theme-default/composables/aside.js +0 -17
  283. package/dist/client/theme-default/composables/local-nav.js +0 -18
  284. package/dist/node/chunk-C-d2RJOW.js +0 -470
  285. package/dist/node/chunk-CxQfvv8o.js +0 -49065
  286. package/dist/node/worker_shikiResolveLang.js +0 -13
@@ -1,37 +1,38 @@
1
- <script setup lang="ts">
2
- import type { GridSize } from '../composables/sponsor-grid'
3
- import type { Sponsor } from './VPSponsorsGrid.vue'
4
- import { computed } from 'vue'
5
- import VPSponsorsGrid from './VPSponsorsGrid.vue'
6
-
7
- export interface Sponsors {
8
- tier?: string
9
- size?: GridSize
10
- items: Sponsor[]
11
- }
12
- interface Props {
13
- mode?: 'normal' | 'aside'
14
- tier?: string
15
- size?: GridSize
16
- data: Sponsors[] | Sponsor[]
17
- }
18
- const props = withDefaults(defineProps<Props>(), {
19
- mode: 'normal'
20
- })
21
-
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import VPSponsorsGrid from "./VPSponsorsGrid.vue";
4
+ const props = defineProps({
5
+ mode: {
6
+ type: String,
7
+ required: false,
8
+ default: "normal"
9
+ },
10
+ tier: {
11
+ type: String,
12
+ required: false
13
+ },
14
+ size: {
15
+ type: String,
16
+ required: false
17
+ },
18
+ data: {
19
+ type: Array,
20
+ required: true
21
+ }
22
+ });
22
23
  const sponsors = computed(() => {
23
- const isSponsors = props.data.some((s) => {
24
- return 'items' in s
25
- })
26
-
27
- if (isSponsors) {
28
- return props.data as Sponsors[]
29
- }
30
-
31
- return [
32
- { tier: props.tier, size: props.size, items: props.data as Sponsor[] }
33
- ]
34
- })
24
+ const isSponsors = props.data.some((s) => {
25
+ return "items" in s;
26
+ });
27
+ if (isSponsors) {
28
+ return props.data;
29
+ }
30
+ return [{
31
+ tier: props.tier,
32
+ size: props.size,
33
+ items: props.data
34
+ }];
35
+ });
35
36
  </script>
36
37
 
37
38
  <template>
@@ -0,0 +1,15 @@
1
+ import type { GridSize } from '../composables/sponsor-grid.js';
2
+ export interface Sponsor {
3
+ name: string;
4
+ img: string;
5
+ url: string;
6
+ }
7
+ interface Props {
8
+ size?: GridSize;
9
+ data: Sponsor[];
10
+ }
11
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
12
+ size: GridSize;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
@@ -1,29 +1,27 @@
1
- <script setup lang="ts">
2
- import type { GridSize } from '../composables/sponsor-grid'
3
- import { ref } from 'vue'
4
- import { useSponsorsGrid } from '../composables/sponsor-grid'
5
-
6
- export interface Sponsor {
7
- name: string
8
- img: string
9
- url: string
10
- }
11
- interface Props {
12
- size?: GridSize
13
- data: Sponsor[]
14
- }
15
- const props = withDefaults(defineProps<Props>(), {
16
- size: 'medium'
17
- })
18
-
19
- const el = ref(null)
20
-
21
- useSponsorsGrid({ el, size: props.size })
1
+ <script setup>
2
+ import { useTemplateRef } from "vue";
3
+ import { useSponsorsGrid } from "../composables/sponsor-grid";
4
+ const props = defineProps({
5
+ size: {
6
+ type: String,
7
+ required: false,
8
+ default: "medium"
9
+ },
10
+ data: {
11
+ type: Array,
12
+ required: true
13
+ }
14
+ });
15
+ const el = useTemplateRef("el");
16
+ useSponsorsGrid({
17
+ el,
18
+ size: props.size
19
+ });
22
20
  </script>
23
21
 
24
22
  <template>
25
- <div class="VPSponsorsGrid vp-sponsor-grid" :class="[size]" ref="el">
26
- <div
23
+ <ul class="VPSponsorsGrid vp-sponsor-grid" :class="[size]" ref="el">
24
+ <li
27
25
  v-for="sponsor in data"
28
26
  :key="sponsor.name"
29
27
  class="vp-sponsor-grid-item"
@@ -35,7 +33,6 @@ useSponsorsGrid({ el, size: props.size })
35
33
  rel="sponsored noopener"
36
34
  >
37
35
  <article class="vp-sponsor-grid-box">
38
- <h4 class="visually-hidden">{{ sponsor.name }}</h4>
39
36
  <img
40
37
  class="vp-sponsor-grid-image"
41
38
  :src="sponsor.img"
@@ -43,6 +40,6 @@ useSponsorsGrid({ el, size: props.size })
43
40
  />
44
41
  </article>
45
42
  </a>
46
- </div>
47
- </div>
43
+ </li>
44
+ </ul>
48
45
  </template>
@@ -0,0 +1,13 @@
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
4
+ };
5
+ 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>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -11,10 +11,10 @@
11
11
  <style scoped>
12
12
  .VPSwitch {
13
13
  position: relative;
14
- border-radius: 11px;
14
+ border-radius: 0.6875rem;
15
15
  display: block;
16
- width: 40px;
17
- height: 22px;
16
+ width: 2.5rem;
17
+ height: 1.375rem;
18
18
  flex-shrink: 0;
19
19
  border: 1px solid var(--vp-input-border-color);
20
20
  background-color: var(--vp-input-switch-bg-color);
@@ -28,10 +28,9 @@
28
28
  .check {
29
29
  position: absolute;
30
30
  top: 1px;
31
- /*rtl:ignore*/
32
- left: 1px;
33
- width: 18px;
34
- height: 18px;
31
+ inset-inline-start: 1px;
32
+ width: 1.125rem;
33
+ height: 1.125rem;
35
34
  border-radius: 50%;
36
35
  background-color: var(--vp-c-neutral-inverse);
37
36
  box-shadow: var(--vp-shadow-1);
@@ -41,18 +40,18 @@
41
40
  .icon {
42
41
  position: relative;
43
42
  display: block;
44
- width: 18px;
45
- height: 18px;
43
+ width: 1.125rem;
44
+ height: 1.125rem;
46
45
  border-radius: 50%;
47
46
  overflow: hidden;
48
47
  }
49
48
 
50
49
  .icon :deep([class^='vpi-']) {
51
50
  position: absolute;
52
- top: 3px;
53
- left: 3px;
54
- width: 12px;
55
- height: 12px;
51
+ top: 0.1875rem;
52
+ inset-inline-start: 0.1875rem;
53
+ width: 0.75rem;
54
+ height: 0.75rem;
56
55
  color: var(--vp-c-text-2);
57
56
  }
58
57
 
@@ -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;
@@ -1,32 +1,28 @@
1
- <script lang="ts" setup>
2
- import { inject, ref, watchPostEffect } from 'vue'
3
- import { useData } from '../composables/data'
4
- import VPSwitch from './VPSwitch.vue'
5
-
6
- const { isDark, theme } = useData()
7
-
8
- const toggleAppearance = inject('toggle-appearance', () => {
9
- isDark.value = !isDark.value
10
- })
11
-
12
- const switchTitle = ref('')
13
-
1
+ <script setup>
2
+ import { inject, ref, watchPostEffect } from "vue";
3
+ import { useData } from "../composables/data";
4
+ import VPSwitch from "./VPSwitch.vue";
5
+ const { isDark, theme } = useData();
6
+ const toggleAppearance = inject("toggle-appearance", () => {
7
+ isDark.value = !isDark.value;
8
+ });
9
+ const switchTitle = ref("");
14
10
  watchPostEffect(() => {
15
- switchTitle.value = isDark.value
16
- ? theme.value.lightModeSwitchTitle || 'Switch to light theme'
17
- : theme.value.darkModeSwitchTitle || 'Switch to dark theme'
18
- })
11
+ switchTitle.value = isDark.value ? theme.value.lightModeSwitchTitle || "Switch to light theme" : theme.value.darkModeSwitchTitle || "Switch to dark theme";
12
+ });
19
13
  </script>
20
14
 
21
15
  <template>
16
+ <!-- stable name + aria-checked state; the title stays the action hint -->
22
17
  <VPSwitch
23
18
  :title="switchTitle"
24
19
  class="VPSwitchAppearance"
20
+ :aria-label="theme.darkModeSwitchLabel || 'Appearance'"
25
21
  :aria-checked="isDark"
26
22
  @click="toggleAppearance"
27
23
  >
28
- <span class="vpi-sun sun" />
29
- <span class="vpi-moon moon" />
24
+ <span class="vpi-sun sun" aria-hidden="true" />
25
+ <span class="vpi-moon moon" aria-hidden="true" />
30
26
  </VPSwitch>
31
27
  </template>
32
28
 
@@ -48,7 +44,6 @@ watchPostEffect(() => {
48
44
  }
49
45
 
50
46
  .dark .VPSwitchAppearance :deep(.check) {
51
- /*rtl:ignore*/
52
- transform: translateX(18px);
47
+ transform: translateX(calc(1.125rem * var(--vp-direction-multiplier)));
53
48
  }
54
49
  </style>
@@ -0,0 +1,10 @@
1
+ import type { DefaultTheme } from 'vitepress/theme';
2
+ interface Props {
3
+ size?: 'small' | 'medium';
4
+ members: DefaultTheme.TeamMember[];
5
+ }
6
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
7
+ size: "small" | "medium";
8
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;
@@ -1,66 +1,93 @@
1
- <script setup lang="ts">
2
- import type { DefaultTheme } from 'vitepress/theme'
3
- import { computed } from 'vue'
4
- import VPTeamMembersItem from './VPTeamMembersItem.vue'
5
-
6
- interface Props {
7
- size?: 'small' | 'medium'
8
- members: DefaultTheme.TeamMember[]
9
- }
10
-
11
- const props = withDefaults(defineProps<Props>(), {
12
- size: 'medium'
13
- })
14
-
15
- const classes = computed(() => [props.size, `count-${props.members.length}`])
1
+ <script setup>
2
+ import VPTeamMembersItem from "./VPTeamMembersItem.vue";
3
+ const props = defineProps({
4
+ size: {
5
+ type: String,
6
+ required: false,
7
+ default: "medium"
8
+ },
9
+ members: {
10
+ type: Array,
11
+ required: true
12
+ }
13
+ });
16
14
  </script>
17
15
 
18
16
  <template>
19
- <div class="VPTeamMembers" :class="classes">
20
- <div class="container">
21
- <div v-for="member in members" :key="member.name" class="item">
22
- <VPTeamMembersItem :size="size" :member="member" />
23
- </div>
24
- </div>
17
+ <div class="VPTeamMembers" :class="[size, `count-${members.length}`]">
18
+ <ul class="container">
19
+ <li v-for="member in members" :key="member.name" class="item">
20
+ <VPTeamMembersItem :size :member />
21
+ </li>
22
+ </ul>
25
23
  </div>
26
24
  </template>
27
25
 
28
26
  <style scoped>
29
27
  .VPTeamMembers.small .container {
30
- grid-template-columns: repeat(auto-fit, minmax(224px, 1fr));
28
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
31
29
  }
32
30
 
33
31
  .VPTeamMembers.small.count-1 .container {
34
- max-width: 276px;
32
+ max-width: 17.25rem;
35
33
  }
36
34
  .VPTeamMembers.small.count-2 .container {
37
- max-width: calc(276px * 2 + 24px);
35
+ max-width: calc(17.25rem * 2 + 1.5rem);
38
36
  }
39
37
  .VPTeamMembers.small.count-3 .container {
40
- max-width: calc(276px * 3 + 24px * 2);
38
+ max-width: calc(17.25rem * 3 + 1.5rem * 2);
41
39
  }
42
40
 
43
41
  .VPTeamMembers.medium .container {
44
- grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
42
+ grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
45
43
  }
46
44
 
47
- @media (min-width: 375px) {
45
+ @media (min-width: 23.4375rem) {
48
46
  .VPTeamMembers.medium .container {
49
- grid-template-columns: repeat(auto-fit, minmax(288px, 1fr));
47
+ grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
50
48
  }
51
49
  }
52
50
 
53
51
  .VPTeamMembers.medium.count-1 .container {
54
- max-width: 368px;
52
+ max-width: 23rem;
55
53
  }
56
54
  .VPTeamMembers.medium.count-2 .container {
57
- max-width: calc(368px * 2 + 24px);
55
+ max-width: calc(23rem * 2 + 1.5rem);
58
56
  }
59
57
 
60
58
  .container {
61
59
  display: grid;
62
- gap: 24px;
60
+ gap: 1.5rem;
61
+ margin: 0 auto;
62
+ max-width: 72rem;
63
+ }
64
+
65
+ /* Reset styles from vp-doc if used in markdown */
66
+ .vp-doc .VPTeamMembers .container {
67
+ list-style: none;
63
68
  margin: 0 auto;
64
- max-width: 1152px;
69
+ padding: 0;
70
+ }
71
+ .vp-doc .VPTeamMembers .item {
72
+ margin: 0;
73
+ padding: 0;
74
+ }
75
+ .vp-doc .VPTeamMembers :deep(.org),
76
+ .vp-doc .VPTeamMembers :deep(.sp-link) {
77
+ text-decoration: none;
78
+ }
79
+
80
+ /* Sizing for doc pages, where the content area is narrow (excludes home content) */
81
+ .vp-doc:not(.VPHomeContent) .VPTeamMembers {
82
+ margin-top: 1.5rem;
83
+ }
84
+ .vp-doc:not(.VPHomeContent) .VPTeamMembers.small.count-1 .container,
85
+ .vp-doc:not(.VPHomeContent) .VPTeamMembers.medium.count-1 .container {
86
+ margin: 0;
87
+ max-width: calc((100% - 1.5rem) / 2);
88
+ }
89
+ .vp-doc:not(.VPHomeContent) .VPTeamMembers.small.count-2 .container,
90
+ .vp-doc:not(.VPHomeContent) .VPTeamMembers.small.count-3 .container {
91
+ max-width: 100%;
65
92
  }
66
93
  </style>
@@ -0,0 +1,10 @@
1
+ import type { DefaultTheme } from 'vitepress/theme';
2
+ interface Props {
3
+ size?: 'small' | 'medium';
4
+ member: DefaultTheme.TeamMember;
5
+ }
6
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
7
+ size: "small" | "medium";
8
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
10
+ export default _default;