@voidzero-dev/vitepress-theme 2.0.1 → 3.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 (373) hide show
  1. package/README.md +26 -33
  2. package/package.json +5 -26
  3. package/src/assets/clients/clickup.svg +5 -0
  4. package/src/assets/clients/stripe.svg +3 -0
  5. package/src/{vitepress/components → components}/oss/Footer.vue +4 -21
  6. package/src/{vitepress/components → components}/oss/Header.vue +82 -180
  7. package/src/{vitepress/components → components}/oss/Sponsors.vue +3 -3
  8. package/src/components/oss/TopBanner.vue +111 -0
  9. package/src/{vitepress/components → components}/oss/TrustedBy.vue +1 -1
  10. package/src/{vitepress/components → components}/vite/Community.vue +3 -3
  11. package/src/components/vite/FeatureGrid1.vue +63 -0
  12. package/src/{vitepress/components/vite/FeatureGrid.vue → components/vite/FeatureGrid2.vue} +12 -11
  13. package/src/{vitepress/components → components}/vite/Hero.vue +9 -18
  14. package/src/{vitepress/components → components}/vitepress-default/VPDocOutlineItem.vue +2 -2
  15. package/src/{vitepress/components → components}/vitepress-default/VPFlyout.vue +1 -1
  16. package/src/{vitepress/components → components}/vitepress-default/VPMenuLink.vue +1 -1
  17. package/src/{vitepress/components → components}/vitepress-default/VPNavBarMenuLink.vue +1 -1
  18. package/src/{vitepress/components → components}/vitepress-default/VPSidebarItem.vue +1 -1
  19. package/src/{vitepress/components → components}/vitepress-default/VPSocialLink.vue +1 -2
  20. package/src/fonts/APK-Protocol-Semi-Bold.woff2 +0 -0
  21. package/src/fonts/inter-italic-cyrillic-ext.woff2 +0 -0
  22. package/src/fonts/inter-italic-cyrillic.woff2 +0 -0
  23. package/src/fonts/inter-italic-greek-ext.woff2 +0 -0
  24. package/src/fonts/inter-italic-greek.woff2 +0 -0
  25. package/src/fonts/inter-italic-latin-ext.woff2 +0 -0
  26. package/src/fonts/inter-italic-latin.woff2 +0 -0
  27. package/src/fonts/inter-italic-vietnamese.woff2 +0 -0
  28. package/src/fonts/inter-roman-cyrillic-ext.woff2 +0 -0
  29. package/src/fonts/inter-roman-cyrillic.woff2 +0 -0
  30. package/src/fonts/inter-roman-greek-ext.woff2 +0 -0
  31. package/src/fonts/inter-roman-greek.woff2 +0 -0
  32. package/src/fonts/inter-roman-latin-ext.woff2 +0 -0
  33. package/src/fonts/inter-roman-latin.woff2 +0 -0
  34. package/src/fonts/inter-roman-vietnamese.woff2 +0 -0
  35. package/src/index.ts +103 -2
  36. package/src/{vitepress/layouts → layouts}/VPLayout.vue +2 -17
  37. package/src/styles/tokens.css +321 -0
  38. package/src/{vitepress/styles → styles}/vitepress-default/vars.css +1 -1
  39. package/src/{vitepress/types → types}/theme-config.ts +2 -0
  40. package/src/types/theme-context.ts +33 -0
  41. package/src/vitepress/assets/clients/beehiiv.svg +0 -30
  42. package/src/vitepress/assets/clients/excalidraw.svg +0 -82
  43. package/src/vitepress/assets/clients/get-your-guide.svg +0 -1
  44. package/src/vitepress/assets/clients/posthog.svg +0 -1
  45. package/src/vitepress/assets/clients/ramp.svg +0 -1
  46. package/src/vitepress/assets/clients/shopee.svg +0 -55
  47. package/src/vitepress/components/oss/TopBanner.vue +0 -150
  48. package/src/vitepress/components/vite/FeaturePanel1.vue +0 -41
  49. package/src/vitepress/components/vite/FeaturePanel2.vue +0 -37
  50. package/src/vitepress/components/vite/FeaturePanel3.vue +0 -43
  51. package/src/vitepress/components/vite/FeaturePanel4.vue +0 -46
  52. package/src/vitepress/components/voidzero/Footer.vue +0 -65
  53. package/src/vitepress/components/voidzero/Header.vue +0 -560
  54. package/src/vitepress/components/voidzero/Megamenu.vue +0 -190
  55. package/src/vitepress/components/voidzero/about/CareerCTA.vue +0 -56
  56. package/src/vitepress/components/voidzero/about/Hero.vue +0 -206
  57. package/src/vitepress/components/voidzero/about/Investors.vue +0 -112
  58. package/src/vitepress/components/voidzero/about/TeamGrid.vue +0 -161
  59. package/src/vitepress/components/voidzero/about/TeamSectionHeading.vue +0 -13
  60. package/src/vitepress/components/voidzero/blog/BlogArchive.vue +0 -223
  61. package/src/vitepress/components/voidzero/blog/BlogSingleContent.vue +0 -364
  62. package/src/vitepress/components/voidzero/blog/BlogSingleHero.vue +0 -113
  63. package/src/vitepress/components/voidzero/blog/BlogSingleRelated.vue +0 -92
  64. package/src/vitepress/components/voidzero/blog/FeaturedArticles.vue +0 -146
  65. package/src/vitepress/components/voidzero/blog/types.ts +0 -56
  66. package/src/vitepress/components/voidzero/home/CaseStudySlider.vue +0 -235
  67. package/src/vitepress/components/voidzero/home/CustomersSectionHeading.vue +0 -5
  68. package/src/vitepress/components/voidzero/home/GitHubStats.vue +0 -27
  69. package/src/vitepress/components/voidzero/home/Hero.vue +0 -69
  70. package/src/vitepress/components/voidzero/home/Investors.vue +0 -30
  71. package/src/vitepress/components/voidzero/home/NewsletterCTA.vue +0 -23
  72. package/src/vitepress/components/voidzero/home/OpenSourceSectionHeading.vue +0 -6
  73. package/src/vitepress/components/voidzero/home/OpenSourceSectionProjects.vue +0 -419
  74. package/src/vitepress/components/voidzero/home/Resources.vue +0 -144
  75. package/src/vitepress/components/voidzero/home/Statistics.vue +0 -507
  76. package/src/vitepress/components/voidzero/home/StatisticsSectionHeading.vue +0 -5
  77. package/src/vitepress/components/voidzero/home/TeamCTA.vue +0 -17
  78. package/src/vitepress/components/voidzero/home/TrustedBy.vue +0 -248
  79. package/src/vitepress/components/voidzero/home/VitePlusSectionFeatures.vue +0 -55
  80. package/src/vitepress/components/voidzero/home/VitePlusSectionHeading.vue +0 -17
  81. package/src/vitepress/fonts/KHTeka-Medium.woff2 +0 -0
  82. package/src/vitepress/fonts/KHTeka-Regular.woff2 +0 -0
  83. package/src/vitepress/index.ts +0 -269
  84. package/src/vitepress/layouts/OSSProjectLayout.vue +0 -28
  85. package/src/vitepress/styles/tokens.css +0 -137
  86. /package/src/{vitepress/assets → assets}/checkmark.svg +0 -0
  87. /package/src/{vitepress/assets → assets}/clients/airbnb.svg +0 -0
  88. /package/src/{vitepress/assets → assets}/clients/bolt.svg +0 -0
  89. /package/src/{vitepress/assets → assets}/clients/cloudflare.svg +0 -0
  90. /package/src/{vitepress/assets → assets}/clients/framer.svg +0 -0
  91. /package/src/{vitepress/assets → assets}/clients/hugging-face.svg +0 -0
  92. /package/src/{vitepress/assets → assets}/clients/linear.svg +0 -0
  93. /package/src/{vitepress/assets → assets}/clients/mercedes.svg +0 -0
  94. /package/src/{vitepress/assets → assets}/clients/openai.svg +0 -0
  95. /package/src/{vitepress/assets → assets}/clients/paramount.svg +0 -0
  96. /package/src/{vitepress/assets → assets}/clients/plaid.svg +0 -0
  97. /package/src/{vitepress/assets → assets}/clients/shopify.svg +0 -0
  98. /package/src/{vitepress/assets → assets}/cta-background.jpg +0 -0
  99. /package/src/{vitepress/assets → assets}/icons/oxc-dark.svg +0 -0
  100. /package/src/{vitepress/assets → assets}/icons/oxc-light.svg +0 -0
  101. /package/src/{vitepress/assets → assets}/icons/oxc-mono.svg +0 -0
  102. /package/src/{vitepress/assets → assets}/icons/rolldown-dark.svg +0 -0
  103. /package/src/{vitepress/assets → assets}/icons/rolldown-light.svg +0 -0
  104. /package/src/{vitepress/assets → assets}/icons/rolldown-mono.svg +0 -0
  105. /package/src/{vitepress/assets → assets}/icons/vite-dark.svg +0 -0
  106. /package/src/{vitepress/assets → assets}/icons/vite-light.svg +0 -0
  107. /package/src/{vitepress/assets → assets}/icons/vite-mono.svg +0 -0
  108. /package/src/{vitepress/assets → assets}/icons/viteplus-dark.svg +0 -0
  109. /package/src/{vitepress/assets → assets}/icons/viteplus-light.svg +0 -0
  110. /package/src/{vitepress/assets → assets}/icons/viteplus-mono.svg +0 -0
  111. /package/src/{vitepress/assets → assets}/icons/vitest-dark.svg +0 -0
  112. /package/src/{vitepress/assets → assets}/icons/vitest-light.svg +0 -0
  113. /package/src/{vitepress/assets → assets}/icons/vitest-mono.svg +0 -0
  114. /package/src/{vitepress/assets → assets}/logos/oxc-dark.svg +0 -0
  115. /package/src/{vitepress/assets → assets}/logos/oxc-light.svg +0 -0
  116. /package/src/{vitepress/assets → assets}/logos/rolldown-dark.svg +0 -0
  117. /package/src/{vitepress/assets → assets}/logos/rolldown-light.svg +0 -0
  118. /package/src/{vitepress/assets → assets}/logos/vite-dark.svg +0 -0
  119. /package/src/{vitepress/assets → assets}/logos/vite-light.svg +0 -0
  120. /package/src/{vitepress/assets → assets}/logos/viteplus-dark.svg +0 -0
  121. /package/src/{vitepress/assets → assets}/logos/viteplus-light.svg +0 -0
  122. /package/src/{vitepress/assets → assets}/logos/vitest-dark.svg +0 -0
  123. /package/src/{vitepress/assets → assets}/logos/vitest-light.svg +0 -0
  124. /package/src/{vitepress/assets → assets}/logos/voidzero-dark.svg +0 -0
  125. /package/src/{vitepress/assets → assets}/logos/voidzero-light.svg +0 -0
  126. /package/src/{vitepress/assets → assets}/oxc/animations/560_x_260_minifier.riv +0 -0
  127. /package/src/{vitepress/assets → assets}/oxc/animations/640_x_630_oxc masthead_.riv +0 -0
  128. /package/src/{vitepress/assets → assets}/oxc/footer-background.jpg +0 -0
  129. /package/src/{vitepress/assets → assets}/oxc/oxc-feature-background.jpg +0 -0
  130. /package/src/{vitepress/assets → assets}/oxc/oxc-formatter-terminal.png +0 -0
  131. /package/src/{vitepress/assets → assets}/oxc/oxc-linter-terminal.png +0 -0
  132. /package/src/{vitepress/assets → assets}/oxc/oxc-resolver-terminal.png +0 -0
  133. /package/src/{vitepress/assets → assets}/oxc/oxc-transformer-terminal.png +0 -0
  134. /package/src/{vitepress/assets → assets}/oxc/primary-button-background.jpg +0 -0
  135. /package/src/{vitepress/assets → assets}/primary-button-background.jpg +0 -0
  136. /package/src/{vitepress/assets → assets}/rolldown/animations/640_x_300_design_for_vite.riv +0 -0
  137. /package/src/{vitepress/assets → assets}/rolldown/animations/640_x_300_esbuild.riv +0 -0
  138. /package/src/{vitepress/assets → assets}/rolldown/animations/640_x_520_rolldown_masthead.riv +0 -0
  139. /package/src/{vitepress/assets → assets}/rolldown/footer-background.jpg +0 -0
  140. /package/src/{vitepress/assets → assets}/rolldown/hero-background.jpg +0 -0
  141. /package/src/{vitepress/assets → assets}/rolldown/hero-terminal.svg +0 -0
  142. /package/src/{vitepress/assets → assets}/rolldown/primary-button-background.jpg +0 -0
  143. /package/src/{vitepress/assets → assets}/rolldown/rolldown-esbuild-parity.png +0 -0
  144. /package/src/{vitepress/assets → assets}/rolldown/rolldown-rollup-background.jpg +0 -0
  145. /package/src/{vitepress/assets → assets}/rolldown/rolldown-rollup.png +0 -0
  146. /package/src/{vitepress/assets → assets}/rolldown/rolldown-thumbnail.png +0 -0
  147. /package/src/{vitepress/assets → assets}/social/bluesky-light.svg +0 -0
  148. /package/src/{vitepress/assets → assets}/social/bluesky.svg +0 -0
  149. /package/src/{vitepress/assets → assets}/social/discord-light.svg +0 -0
  150. /package/src/{vitepress/assets → assets}/social/discord.svg +0 -0
  151. /package/src/{vitepress/assets → assets}/social/github-light.svg +0 -0
  152. /package/src/{vitepress/assets → assets}/social/github.svg +0 -0
  153. /package/src/{vitepress/assets → assets}/social/twitter-light.svg +0 -0
  154. /package/src/{vitepress/assets → assets}/social/twitter.svg +0 -0
  155. /package/src/{vitepress/assets → assets}/terminal-background.jpg +0 -0
  156. /package/src/{vitepress/assets → assets}/vite/animations/563_x_420_rich_features.riv +0 -0
  157. /package/src/{vitepress/assets → assets}/vite/animations/640_x_300_flexible_plugin.riv +0 -0
  158. /package/src/{vitepress/assets → assets}/vite/animations/641_x_629_vite_masthead.riv +0 -0
  159. /package/src/{vitepress/assets → assets}/vite/footer-background.jpg +0 -0
  160. /package/src/{vitepress/assets → assets}/vite/primary-button-background.jpg +0 -0
  161. /package/src/{vitepress/assets → assets}/vite/vite-by-voidzero.png +0 -0
  162. /package/src/{vitepress/assets → assets}/vite/vite-ci.svg +0 -0
  163. /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-1-background.jpg +0 -0
  164. /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-1-terminal.svg +0 -0
  165. /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-2-terminal.png +0 -0
  166. /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-4-background.jpg +0 -0
  167. /package/src/{vitepress/assets → assets}/vite/vite-featurepanel-4-terminal.svg +0 -0
  168. /package/src/{vitepress/assets → assets}/vite/vite-frameworks-mobile.png +0 -0
  169. /package/src/{vitepress/assets → assets}/vite/vite-frameworks.png +0 -0
  170. /package/src/{vitepress/assets → assets}/vite/vite-ssr-support.png +0 -0
  171. /package/src/{vitepress/assets → assets}/vite/vite-typed-api.svg +0 -0
  172. /package/src/{vitepress/assets → assets}/viteplus/logo.svg +0 -0
  173. /package/src/{vitepress/assets → assets}/vitest/animations/640_x_300_esm.riv +0 -0
  174. /package/src/{vitepress/assets → assets}/vitest/animations/640_x_560_vitest_masthead.riv +0 -0
  175. /package/src/{vitepress/assets → assets}/vitest/animations/650_x_300_vite_powered.riv +0 -0
  176. /package/src/{vitepress/assets → assets}/vitest/footer-background.jpg +0 -0
  177. /package/src/{vitepress/assets → assets}/vitest/hero-background.jpg +0 -0
  178. /package/src/{vitepress/assets → assets}/vitest/hero-terminal.svg +0 -0
  179. /package/src/{vitepress/assets → assets}/vitest/primary-button-background.jpg +0 -0
  180. /package/src/{vitepress/assets → assets}/vitest/vitest-jest-compatible.png +0 -0
  181. /package/src/{vitepress/assets → assets}/vitest/vitest-watcher-background.jpg +0 -0
  182. /package/src/{vitepress/assets → assets}/vitest/vitest-watcher.png +0 -0
  183. /package/src/{vitepress/assets → assets}/voidzero/animations/1280_x_552_homepage.riv +0 -0
  184. /package/src/{vitepress/assets → assets}/voidzero/animations/343_x_148_homepage_mobile.riv +0 -0
  185. /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_build_tool_for_web.riv +0 -0
  186. /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_fastest_javascript_bundler.riv +0 -0
  187. /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_language_toolchain.riv +0 -0
  188. /package/src/{vitepress/assets → assets}/voidzero/animations/480_x_480_next_generation_runner.riv +0 -0
  189. /package/src/{vitepress/assets → assets}/voidzero/animations/about-mobile.riv +0 -0
  190. /package/src/{vitepress/assets → assets}/voidzero/animations/about.riv +0 -0
  191. /package/src/{vitepress/assets → assets}/voidzero/backgrounds/casestudies.jpg +0 -0
  192. /package/src/{vitepress/assets → assets}/voidzero/backgrounds/oxc.jpg +0 -0
  193. /package/src/{vitepress/assets → assets}/voidzero/backgrounds/rolldown.jpg +0 -0
  194. /package/src/{vitepress/assets → assets}/voidzero/backgrounds/vite.jpg +0 -0
  195. /package/src/{vitepress/assets → assets}/voidzero/backgrounds/vitest.jpg +0 -0
  196. /package/src/{vitepress/assets → assets}/voidzero/career-illustration.jpg +0 -0
  197. /package/src/{vitepress/assets → assets}/voidzero/footer-logo.svg +0 -0
  198. /package/src/{vitepress/assets → assets}/voidzero/footer.jpg +0 -0
  199. /package/src/{vitepress/assets → assets}/voidzero/investors/accel.svg +0 -0
  200. /package/src/{vitepress/assets → assets}/voidzero/investors/amplify.svg +0 -0
  201. /package/src/{vitepress/assets → assets}/voidzero/investors/peakxv.png +0 -0
  202. /package/src/{vitepress/assets → assets}/voidzero/investors/resend.svg +0 -0
  203. /package/src/{vitepress/assets → assets}/voidzero/investors/sentry.svg +0 -0
  204. /package/src/{vitepress/assets → assets}/voidzero/investors/sunflower.png +0 -0
  205. /package/src/{vitepress/assets → assets}/voidzero/logo-light.svg +0 -0
  206. /package/src/{vitepress/assets → assets}/voidzero/logo.svg +0 -0
  207. /package/src/{vitepress/assets → assets}/voidzero/signature.svg +0 -0
  208. /package/src/{vitepress/assets → assets}/voidzero/terminals/rolldown.svg +0 -0
  209. /package/src/{vitepress/assets → assets}/voidzero/terminals/vite.svg +0 -0
  210. /package/src/{vitepress/assets → assets}/voidzero/terminals/vitest.svg +0 -0
  211. /package/src/{vitepress/assets → assets}/voidzero/vite-plus-chip.png +0 -0
  212. /package/src/{vitepress/components → components}/oss/CTAShaderBackground.vue +0 -0
  213. /package/src/{vitepress/components → components}/oss/HeadingSection.vue +0 -0
  214. /package/src/{vitepress/components → components}/oxc/FeatureLinter.vue +0 -0
  215. /package/src/{vitepress/components → components}/oxc/FeatureMinifierFormatter.vue +0 -0
  216. /package/src/{vitepress/components → components}/oxc/FeatureParser.vue +0 -0
  217. /package/src/{vitepress/components → components}/oxc/FeatureResolver.vue +0 -0
  218. /package/src/{vitepress/components → components}/oxc/FeatureToolbar.vue +0 -0
  219. /package/src/{vitepress/components → components}/oxc/FeatureTransformer.vue +0 -0
  220. /package/src/{vitepress/components → components}/oxc/Hero.vue +0 -0
  221. /package/src/{vitepress/components → components}/rolldown/FeatureGrid.vue +0 -0
  222. /package/src/{vitepress/components → components}/rolldown/Hero.vue +0 -0
  223. /package/src/{vitepress/components → components}/shared/CodeGroup.vue +0 -0
  224. /package/src/{vitepress/components → components}/shared/Eyebrow.vue +0 -0
  225. /package/src/{vitepress/components → components}/shared/LogoGrid.vue +0 -0
  226. /package/src/{vitepress/components → components}/shared/NewsletterForm.vue +0 -0
  227. /package/src/{vitepress/components → components}/shared/PerformanceBar.vue +0 -0
  228. /package/src/{vitepress/components → components}/shared/RiveAnimation.vue +0 -0
  229. /package/src/{vitepress/components → components}/shared/ShaderBackground.vue +0 -0
  230. /package/src/{vitepress/components → components}/shared/Spacer.vue +0 -0
  231. /package/src/{vitepress/components → components}/shared/Terminal.vue +0 -0
  232. /package/src/{vitepress/components → components}/shared/icons/VZIconBluesky.vue +0 -0
  233. /package/src/{vitepress/components → components}/shared/icons/VZIconGitHub.vue +0 -0
  234. /package/src/{vitepress/components → components}/shared/icons/VZIconLogo.vue +0 -0
  235. /package/src/{vitepress/components → components}/shared/icons/VZIconTwitter.vue +0 -0
  236. /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation1.vue +0 -0
  237. /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation2.vue +0 -0
  238. /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation3.vue +0 -0
  239. /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation4.vue +0 -0
  240. /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation5.vue +0 -0
  241. /package/src/{vitepress/components → components}/shared/terminal-animations/TerminalAnimation6.vue +0 -0
  242. /package/src/{vitepress/components → components}/vite/Frameworks.vue +0 -0
  243. /package/src/{vitepress/components → components}/viteplus/Header.vue +0 -0
  244. /package/src/{vitepress/components → components}/vitepress-default/Layout.vue +0 -0
  245. /package/src/{vitepress/components → components}/vitepress-default/NotFound.vue +0 -0
  246. /package/src/{vitepress/components → components}/vitepress-default/VPAlgoliaSearchBox.vue +0 -0
  247. /package/src/{vitepress/components → components}/vitepress-default/VPBackdrop.vue +0 -0
  248. /package/src/{vitepress/components → components}/vitepress-default/VPBadge.vue +0 -0
  249. /package/src/{vitepress/components → components}/vitepress-default/VPButton.vue +0 -0
  250. /package/src/{vitepress/components → components}/vitepress-default/VPCarbonAds.vue +0 -0
  251. /package/src/{vitepress/components → components}/vitepress-default/VPContent.vue +0 -0
  252. /package/src/{vitepress/components → components}/vitepress-default/VPDoc.vue +0 -0
  253. /package/src/{vitepress/components → components}/vitepress-default/VPDocAside.vue +0 -0
  254. /package/src/{vitepress/components → components}/vitepress-default/VPDocAsideCarbonAds.vue +0 -0
  255. /package/src/{vitepress/components → components}/vitepress-default/VPDocAsideOutline.vue +0 -0
  256. /package/src/{vitepress/components → components}/vitepress-default/VPDocAsideSponsors.vue +0 -0
  257. /package/src/{vitepress/components → components}/vitepress-default/VPDocFooter.vue +0 -0
  258. /package/src/{vitepress/components → components}/vitepress-default/VPDocFooterLastUpdated.vue +0 -0
  259. /package/src/{vitepress/components → components}/vitepress-default/VPFeature.vue +0 -0
  260. /package/src/{vitepress/components → components}/vitepress-default/VPFeatures.vue +0 -0
  261. /package/src/{vitepress/components → components}/vitepress-default/VPFooter.vue +0 -0
  262. /package/src/{vitepress/components → components}/vitepress-default/VPHero.vue +0 -0
  263. /package/src/{vitepress/components → components}/vitepress-default/VPHome.vue +0 -0
  264. /package/src/{vitepress/components → components}/vitepress-default/VPHomeContent.vue +0 -0
  265. /package/src/{vitepress/components → components}/vitepress-default/VPHomeFeatures.vue +0 -0
  266. /package/src/{vitepress/components → components}/vitepress-default/VPHomeHero.vue +0 -0
  267. /package/src/{vitepress/components → components}/vitepress-default/VPHomeSponsors.vue +0 -0
  268. /package/src/{vitepress/components → components}/vitepress-default/VPImage.vue +0 -0
  269. /package/src/{vitepress/components → components}/vitepress-default/VPLink.vue +0 -0
  270. /package/src/{vitepress/components → components}/vitepress-default/VPLocalNav.vue +0 -0
  271. /package/src/{vitepress/components → components}/vitepress-default/VPLocalNavOutlineDropdown.vue +0 -0
  272. /package/src/{vitepress/components → components}/vitepress-default/VPLocalSearchBox.vue +0 -0
  273. /package/src/{vitepress/components → components}/vitepress-default/VPMenu.vue +0 -0
  274. /package/src/{vitepress/components → components}/vitepress-default/VPMenuGroup.vue +0 -0
  275. /package/src/{vitepress/components → components}/vitepress-default/VPNav.vue +0 -0
  276. /package/src/{vitepress/components → components}/vitepress-default/VPNavBar.vue +0 -0
  277. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarAppearance.vue +0 -0
  278. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarExtra.vue +0 -0
  279. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarHamburger.vue +0 -0
  280. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarMenu.vue +0 -0
  281. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarMenuGroup.vue +0 -0
  282. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarSearch.vue +0 -0
  283. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarSearchButton.vue +0 -0
  284. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarSocialLinks.vue +0 -0
  285. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarTitle.vue +0 -0
  286. /package/src/{vitepress/components → components}/vitepress-default/VPNavBarTranslations.vue +0 -0
  287. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreen.vue +0 -0
  288. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenAppearance.vue +0 -0
  289. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenu.vue +0 -0
  290. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuGroup.vue +0 -0
  291. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuGroupLink.vue +0 -0
  292. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuGroupSection.vue +0 -0
  293. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenMenuLink.vue +0 -0
  294. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenSocialLinks.vue +0 -0
  295. /package/src/{vitepress/components → components}/vitepress-default/VPNavScreenTranslations.vue +0 -0
  296. /package/src/{vitepress/components → components}/vitepress-default/VPPage.vue +0 -0
  297. /package/src/{vitepress/components → components}/vitepress-default/VPSearchError.vue +0 -0
  298. /package/src/{vitepress/components → components}/vitepress-default/VPSidebar.vue +0 -0
  299. /package/src/{vitepress/components → components}/vitepress-default/VPSidebarGroup.vue +0 -0
  300. /package/src/{vitepress/components → components}/vitepress-default/VPSkipLink.vue +0 -0
  301. /package/src/{vitepress/components → components}/vitepress-default/VPSocialLinks.vue +0 -0
  302. /package/src/{vitepress/components → components}/vitepress-default/VPSponsors.vue +0 -0
  303. /package/src/{vitepress/components → components}/vitepress-default/VPSponsorsGrid.vue +0 -0
  304. /package/src/{vitepress/components → components}/vitepress-default/VPSwitch.vue +0 -0
  305. /package/src/{vitepress/components → components}/vitepress-default/VPSwitchAppearance.vue +0 -0
  306. /package/src/{vitepress/components → components}/vitepress-default/VPTeamMembers.vue +0 -0
  307. /package/src/{vitepress/components → components}/vitepress-default/VPTeamMembersItem.vue +0 -0
  308. /package/src/{vitepress/components → components}/vitepress-default/VPTeamPage.vue +0 -0
  309. /package/src/{vitepress/components → components}/vitepress-default/VPTeamPageSection.vue +0 -0
  310. /package/src/{vitepress/components → components}/vitepress-default/VPTeamPageTitle.vue +0 -0
  311. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconAlignJustify.vue +0 -0
  312. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconAlignLeft.vue +0 -0
  313. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconAlignRight.vue +0 -0
  314. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconArrowLeft.vue +0 -0
  315. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconArrowRight.vue +0 -0
  316. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronDown.vue +0 -0
  317. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronLeft.vue +0 -0
  318. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronRight.vue +0 -0
  319. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconChevronUp.vue +0 -0
  320. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconEdit.vue +0 -0
  321. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconHeart.vue +0 -0
  322. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconLanguages.vue +0 -0
  323. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMinus.vue +0 -0
  324. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMinusSquare.vue +0 -0
  325. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMoon.vue +0 -0
  326. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconMoreHorizontal.vue +0 -0
  327. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconPlus.vue +0 -0
  328. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconPlusSquare.vue +0 -0
  329. /package/src/{vitepress/components → components}/vitepress-default/icons/VPIconSun.vue +0 -0
  330. /package/src/{vitepress/components → components}/vitest/FeatureGrid.vue +0 -0
  331. /package/src/{vitepress/components → components}/vitest/Hero.vue +0 -0
  332. /package/src/{vitepress/components → components}/vitest/Intro.vue +0 -0
  333. /package/src/{vitepress/composables → composables}/vitepress-default/aside.ts +0 -0
  334. /package/src/{vitepress/composables → composables}/vitepress-default/data.ts +0 -0
  335. /package/src/{vitepress/composables → composables}/vitepress-default/edit-link.ts +0 -0
  336. /package/src/{vitepress/composables → composables}/vitepress-default/flyout.ts +0 -0
  337. /package/src/{vitepress/composables → composables}/vitepress-default/langs.ts +0 -0
  338. /package/src/{vitepress/composables → composables}/vitepress-default/layout.ts +0 -0
  339. /package/src/{vitepress/composables → composables}/vitepress-default/nav.ts +0 -0
  340. /package/src/{vitepress/composables → composables}/vitepress-default/outline.ts +0 -0
  341. /package/src/{vitepress/composables → composables}/vitepress-default/prev-next.ts +0 -0
  342. /package/src/{vitepress/composables → composables}/vitepress-default/sidebar.ts +0 -0
  343. /package/src/{vitepress/composables → composables}/vitepress-default/sponsor-grid.ts +0 -0
  344. /package/src/{vitepress/env.d.ts → env.d.ts} +0 -0
  345. /package/src/{vitepress/fonts → fonts}/APK-Protocol-Medium.woff2 +0 -0
  346. /package/src/{vitepress/fonts → fonts}/KHTekaMono-Medium.woff2 +0 -0
  347. /package/src/{vitepress/fonts → fonts}/KHTekaMono-Regular.woff2 +0 -0
  348. /package/src/{vitepress/styles → styles}/base.css +0 -0
  349. /package/src/{vitepress/styles → styles}/docs.css +0 -0
  350. /package/src/{vitepress/styles → styles}/index.css +0 -0
  351. /package/src/{vitepress/styles → styles}/marketing.css +0 -0
  352. /package/src/{vitepress/styles → styles}/vitepress-default/base-scoped.css +0 -0
  353. /package/src/{vitepress/styles → styles}/vitepress-default/base.css +0 -0
  354. /package/src/{vitepress/styles → styles}/vitepress-default/components/custom-block.css +0 -0
  355. /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-code-group.css +0 -0
  356. /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-code.css +0 -0
  357. /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-doc.css +0 -0
  358. /package/src/{vitepress/styles → styles}/vitepress-default/components/vp-sponsor.css +0 -0
  359. /package/src/{vitepress/styles → styles}/vitepress-default/fonts.css +0 -0
  360. /package/src/{vitepress/styles → styles}/vitepress-default/icons.css +0 -0
  361. /package/src/{vitepress/styles → styles}/vitepress-default/index-scoped.css +0 -0
  362. /package/src/{vitepress/styles → styles}/vitepress-default/index.css +0 -0
  363. /package/src/{vitepress/styles → styles}/vitepress-default/utils.css +0 -0
  364. /package/src/{vitepress/support → support}/vitepress-default/app-utils.ts +0 -0
  365. /package/src/{vitepress/support → support}/vitepress-default/docsearch-loader.ts +0 -0
  366. /package/src/{vitepress/support → support}/vitepress-default/lru.ts +0 -0
  367. /package/src/{vitepress/support → support}/vitepress-default/search-config.ts +0 -0
  368. /package/src/{vitepress/support → support}/vitepress-default/shared-utils.ts +0 -0
  369. /package/src/{vitepress/support → support}/vitepress-default/sidebar.ts +0 -0
  370. /package/src/{vitepress/support → support}/vitepress-default/translation.ts +0 -0
  371. /package/src/{vitepress/support → support}/vitepress-default/utils.ts +0 -0
  372. /package/src/{vitepress/types → types}/docsearch.d.ts +0 -0
  373. /package/src/{vitepress/types → types}/local-search.d.ts +0 -0
@@ -1,55 +0,0 @@
1
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
2
- viewBox="0 174 512 164" style="enable-background:new 0 0 512 512;" xml:space="preserve">
3
- <style type="text/css">
4
- .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#000000;}
5
- </style>
6
- <g>
7
- <path class="st0" d="M93.43,289.68c-0.9,7.41-5.39,13.35-12.35,16.32c-3.87,1.66-9.08,2.55-13.2,2.27
8
- c-6.42-0.25-12.46-1.81-18.02-4.66c-1.99-1.02-4.95-3.06-7.23-4.97c-0.58-0.48-0.64-0.79-0.26-1.33c0.21-0.31,0.59-0.87,1.42-2.1
9
- c1.22-1.78,1.37-2.01,1.51-2.22c0.39-0.6,1.02-0.65,1.65-0.16c0.07,0.05,0.07,0.05,0.12,0.09c0.1,0.08,0.1,0.08,0.34,0.27
10
- c0.24,0.19,0.39,0.3,0.45,0.35c6,4.7,12.99,7.41,20.04,7.68c9.82-0.13,16.87-4.55,18.14-11.32c1.39-7.46-4.46-13.9-15.92-17.49
11
- c-3.58-1.12-12.64-4.75-14.31-5.73c-7.84-4.6-11.51-10.63-10.98-18.07c0.8-10.32,10.38-18.01,22.48-18.06
12
- c5.41-0.01,10.81,1.11,16,3.3c1.84,0.77,5.12,2.56,6.25,3.4c0.65,0.48,0.78,1.04,0.41,1.64c-0.21,0.35-0.55,0.9-1.28,2.06
13
- l-0.01,0.01c-0.96,1.52-0.99,1.57-1.21,1.92c-0.38,0.58-0.83,0.63-1.51,0.2c-5.55-3.73-11.71-5.61-18.47-5.74
14
- c-8.43,0.17-14.74,5.18-15.16,12.01c-0.11,6.17,4.52,10.67,14.51,14.11C87.13,269.99,94.89,277.63,93.43,289.68 M68.37,183.17
15
- c13.21,0,23.98,12.54,24.48,28.23H43.89C44.39,195.71,55.16,183.17,68.37,183.17 M136.74,214.35c0-1.63-1.31-2.95-2.93-2.95h-31.74
16
- c-0.78-20.72-15.57-37.24-33.7-37.24c-18.13,0-32.92,16.52-33.7,37.24l-31.78,0c-1.59,0.03-2.88,1.34-2.88,2.95
17
- c0,0.08,0,0.15,0.01,0.23H0l4.53,99.87c0,0.28,0.01,0.56,0.03,0.84c0,0.06,0.01,0.13,0.01,0.19l0.01,0.21l0.01,0.01
18
- c0.69,6.95,5.73,12.55,12.59,12.81l0.02,0.02h100.82c0.05,0,0.1,0,0.14,0s0.1,0,0.14,0h0.21l0,0c6.98-0.19,12.63-5.87,13.23-12.9
19
- l0,0l0-0.09c0.01-0.07,0.01-0.15,0.02-0.22c0.01-0.18,0.02-0.35,0.02-0.53l4.94-100.26h0C136.74,214.45,136.74,214.4,136.74,214.35
20
- M472.83,279.44c1.94-6.34,7.82-10.56,14.67-10.56c6.54,0,12.77,4.44,14.92,10.55l0.15,0.42h-29.86L472.83,279.44z M509.22,288.62
21
- c0.04,0,0.04,0,0.1,0c0.06,0,0.06,0,0.12,0c1.43-0.07,2.56-1.28,2.56-2.77c0-0.07,0-0.13-0.01-0.23c0-0.02,0-0.05,0-0.17
22
- c0-13.99-10.97-25.33-24.5-25.33c-13.53,0-24.5,11.34-24.5,25.33c0,1.04,0.06,2.08,0.18,3.12l0.01,0.06l0.04,0.27
23
- c0.67,5.03,2.82,9.66,6.21,13.39l0.02,0.02c3.76,4.14,8.87,6.96,14.53,8.02l0.07,0.01v-0.01l0.37,0.06
24
- c0.19,0.03,0.39,0.06,0.66,0.11c7.46,0.9,14.07-0.18,19.67-3c1.38-0.69,2.62-1.46,3.69-2.27c0.35-0.26,0.66-0.51,0.93-0.75
25
- c0.14-0.12,0.25-0.22,0.31-0.28c1.26-1.3,1.34-1.76,0.58-2.95c-0.84-1.34-1.58-2.47-2.21-3.42c-0.22-0.33-0.42-0.61-0.58-0.84
26
- c-0.09-0.13-0.09-0.13-0.15-0.21l-0.04-0.05l-0.01-0.01c-0.69-0.86-1.16-0.94-1.93-0.26c-0.08,0.07-0.35,0.28-0.4,0.34
27
- c-5.39,4.78-12.74,6.32-20.09,4.79c-1.37-0.37-2.65-0.83-3.83-1.4c-4.6-2.31-7.86-6.42-8.81-11.18l-0.07-0.38L509.22,288.62z
28
- M414.54,279.44c1.94-6.34,7.82-10.56,14.67-10.56c6.54,0,12.77,4.44,14.92,10.55l0.15,0.42h-29.86L414.54,279.44z M450.92,288.62
29
- c0.04,0,0.04,0,0.1,0c0.06,0,0.06,0,0.12,0c1.43-0.07,2.56-1.28,2.56-2.77c0-0.07,0-0.13-0.01-0.23c0-0.02,0-0.05,0-0.17
30
- c0-13.99-10.97-25.33-24.5-25.33c-13.53,0-24.5,11.34-24.5,25.33c0,1.04,0.06,2.08,0.18,3.12l0.01,0.06l0.04,0.27
31
- c0.67,5.03,2.82,9.66,6.21,13.39l0.02,0.02c3.76,4.14,8.87,6.96,14.53,8.02l0.07,0.01v-0.01l0.37,0.06
32
- c0.19,0.03,0.39,0.06,0.66,0.11c7.46,0.9,14.07-0.18,19.67-3c1.38-0.69,2.62-1.46,3.69-2.27c0.35-0.26,0.66-0.51,0.93-0.75
33
- c0.14-0.12,0.25-0.22,0.31-0.28c1.26-1.3,1.34-1.76,0.58-2.95c-0.84-1.34-1.58-2.47-2.21-3.42c-0.22-0.33-0.42-0.61-0.58-0.84
34
- c-0.09-0.13-0.09-0.13-0.15-0.21l-0.04-0.05l-0.01-0.01c-0.69-0.86-1.16-0.94-1.93-0.26c-0.08,0.07-0.35,0.28-0.4,0.34
35
- c-5.39,4.78-12.74,6.32-20.09,4.79c-1.37-0.37-2.65-0.83-3.83-1.4c-4.6-2.31-7.86-6.42-8.8-11.18l-0.07-0.38L450.92,288.62z
36
- M370.05,302.57c-9.11,0-16.56-7.22-16.79-16.28v-0.85c0.23-9.04,7.68-16.26,16.79-16.26c9.28,0,16.8,7.48,16.8,16.7
37
- S379.32,302.57,370.05,302.57 M370.05,260.32c-5.98,0-11.69,2.04-16.28,5.77l-0.52,0.42v-4.67c0-1.25-0.27-1.52-1.53-1.52h-5.87
38
- c-1.28,0-1.53,0.25-1.53,1.52v74.48c0,1.22,0.29,1.52,1.53,1.52h5.87c1.25,0,1.53-0.29,1.53-1.52v-31.06l0.52,0.42
39
- c4.59,3.73,10.3,5.77,16.28,5.77c14.21,0,25.72-11.45,25.72-25.57C395.77,271.77,384.26,260.32,370.05,260.32 M309.65,302
40
- c-9.3,0-16.83-7.41-16.83-16.55s7.54-16.55,16.83-16.55c9.29,0,16.83,7.41,16.83,16.55C326.48,294.59,318.94,302,309.65,302
41
- M309.65,260.11c-14.23,0-25.77,11.35-25.77,25.35c0,14,11.54,25.35,25.77,25.35c14.23,0,25.77-11.35,25.77-25.35
42
- C335.42,271.46,323.89,260.11,309.65,260.11 M252.21,260.68c-5.2,0-10.22,1.67-14.39,4.76l-0.51,0.38v-34.59
43
- c0-1.15-0.38-1.52-1.52-1.52h-6.14c-1.24,0-1.52,0.3-1.52,1.52v78.91c0,1.19,0.31,1.52,1.52,1.52h6.14c1.14,0,1.52-0.39,1.52-1.52
44
- v-25.77c0.06-8.11,6.72-14.66,14.9-14.66c8.2,0,14.87,6.58,14.9,14.72v25.72c0,1.31,0.22,1.52,1.52,1.52h6.12
45
- c1.3,0,1.52-0.22,1.52-1.52v-25.79C276.23,271.33,265.38,260.68,252.21,260.68 M166.66,297.34l-0.01,0.02
46
- c-0.88,1.33-1.24,1.88-1.45,2.2c-0.69,1.03-0.6,1.49,0.45,2.38c2.46,1.98,5.62,4.07,7.75,5.11c5.93,2.9,12.34,4.44,19.14,4.57
47
- c4.39,0.22,9.9-0.82,14-2.65c7.43-3.31,12.16-9.77,12.99-17.73c1.34-12.89-7.04-20.95-28.65-27.45l-0.01,0
48
- c-10.07-3.25-14.8-7.56-14.8-13.59c0.3-6.66,6.47-11.64,14.8-11.95c6.71,0.02,12.64,1.8,18.47,5.55c1.23,0.75,1.8,0.61,2.62-0.46
49
- c0.09-0.16,0.36-0.54,1.46-2.13l0-0.01c1.03-1.48,1.37-1.98,1.46-2.12c0.7-1.31,0.6-1.82-0.66-2.71c-1.24-0.89-4.73-2.7-6.72-3.5
50
- c-5.55-2.21-11.28-3.29-16.99-3.18c-12.99,0.28-23.12,8.73-23.79,19.81c-0.42,8,3.64,14.44,12.13,19.2
51
- c2.38,1.26,11.08,4.54,15.14,5.73c11.55,3.38,17.57,9.6,16.32,16.94c-1.13,6.67-8.12,11.1-17.92,11.41
52
- c-7.11-0.15-14.27-2.75-20.49-7.43c-0.03-0.02-0.19-0.14-0.48-0.36c-0.41-0.3-0.41-0.3-0.47-0.35c-1.27-0.88-2.01-0.8-2.79,0.35
53
- C168.1,295.15,167.13,296.62,166.66,297.34"/>
54
- </g>
55
- </svg>
@@ -1,150 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue'
3
- import { useData } from 'vitepress'
4
- import type { BannerConfig } from '../../types/theme-config'
5
-
6
- // Import footer background images (reused for banner)
7
- import viteBannerBg from '@assets/vite/footer-background.jpg'
8
- import vitestBannerBg from '@assets/vitest/footer-background.jpg'
9
- import rolldownBannerBg from '@assets/rolldown/footer-background.jpg'
10
- import oxcBannerBg from '@assets/oxc/footer-background.jpg'
11
-
12
- // Import variant icons (mono versions for banner)
13
- import viteIcon from '@assets/icons/vite-mono.svg'
14
- import vitestIcon from '@assets/icons/vitest-mono.svg'
15
- import rolldownIcon from '@assets/icons/rolldown-mono.svg'
16
- import oxcIcon from '@assets/icons/oxc-mono.svg'
17
-
18
- const { theme, frontmatter } = useData()
19
-
20
- // Check if we're on a marketing page (non-doc layout) - matches Header.vue logic
21
- const isMarketingPage = computed(() => {
22
- const layout = frontmatter.value.layout
23
- return layout === 'home' || (layout && layout !== 'doc' && layout !== 'page')
24
- })
25
-
26
- // Background image mapping based on variant
27
- const backgroundMap = {
28
- vite: viteBannerBg,
29
- vitest: vitestBannerBg,
30
- rolldown: rolldownBannerBg,
31
- oxc: oxcBannerBg,
32
- } as const
33
-
34
- // Icon mapping based on variant
35
- const iconMap = {
36
- vite: viteIcon,
37
- vitest: vitestIcon,
38
- rolldown: rolldownIcon,
39
- oxc: oxcIcon,
40
- } as const
41
-
42
- type BannerVariant = keyof typeof backgroundMap
43
-
44
- // Get banner configuration
45
- const bannerConfig = computed<BannerConfig | undefined>(() => theme.value.banner)
46
-
47
- // Get variant - use banner.variant if specified, otherwise fall back to theme variant
48
- const bannerVariant = computed<BannerVariant>(() => {
49
- if (bannerConfig.value?.variant) {
50
- return bannerConfig.value.variant as BannerVariant
51
- }
52
- const themeVariant = theme.value.variant as string
53
- if (themeVariant in backgroundMap) {
54
- return themeVariant as BannerVariant
55
- }
56
- return 'vite'
57
- })
58
-
59
- // Only show if banner is configured
60
- const showBanner = computed(() => {
61
- return bannerConfig.value?.text && bannerConfig.value?.url
62
- })
63
-
64
- // Computed values for rendering
65
- const backgroundImage = computed(() => backgroundMap[bannerVariant.value] || viteBannerBg)
66
- const variantIcon = computed(() => iconMap[bannerVariant.value] || viteIcon)
67
- const bannerText = computed(() => bannerConfig.value?.text || '')
68
- const bannerUrl = computed(() => bannerConfig.value?.url || '#')
69
-
70
- // Determine link target
71
- const linkTarget = computed(() => {
72
- if (bannerConfig.value?.target) {
73
- return bannerConfig.value.target
74
- }
75
- // Default: external URLs open in new tab
76
- const url = bannerConfig.value?.url || ''
77
- return url.startsWith('http') ? '_blank' : '_self'
78
- })
79
-
80
- // Rel attribute for security
81
- const linkRel = computed(() => {
82
- return linkTarget.value === '_blank' ? 'noopener noreferrer' : undefined
83
- })
84
- </script>
85
-
86
- <template>
87
- <div v-if="showBanner" :class="isMarketingPage ? 'top-banner hidden md:block relative w-full overflow-hidden border-b border-white/10' : 'top-banner hidden md:block relative w-full overflow-hidden border-b border-white/10 lg:fixed lg:top-0 lg:left-0 lg:right-0 lg:z-60'" data-theme="dark">
88
- <a
89
- :href="bannerUrl"
90
- :target="linkTarget"
91
- :rel="linkRel"
92
- class="group block relative w-full no-underline text-white"
93
- >
94
- <!-- Background image -->
95
- <img
96
- :src="backgroundImage"
97
- alt=""
98
- aria-hidden="true"
99
- class="absolute inset-0 w-full h-full object-cover object-bottom z-0"
100
- loading="eager"
101
- />
102
-
103
- <!-- Content overlay -->
104
- <div class="relative z-10 w-full h-10 flex px-4">
105
- <div class="flex items-center gap-2 w-full max-w-360 mx-auto px-4">
106
- <!-- Left: Variant icon -->
107
- <img
108
- :src="variantIcon"
109
- :alt="`${bannerVariant} icon`"
110
- class="w-5 h-5 shrink-0 hidden sm:block"
111
- />
112
-
113
- <!-- Text -->
114
- <span class="text-xs font-medium font-mono leading-snug tracking-wide uppercase whitespace-nowrap overflow-hidden text-ellipsis">
115
- {{ bannerText }}
116
- </span>
117
-
118
- <!-- Arrow icon -->
119
- <svg
120
- class="shrink-0 transition-transform duration-200 group-hover:translate-x-1"
121
- width="20"
122
- height="20"
123
- viewBox="0 0 20 20"
124
- fill="none"
125
- xmlns="http://www.w3.org/2000/svg"
126
- aria-hidden="true"
127
- >
128
- <rect width="20" height="20" rx="4" fill="#08060D"/>
129
- <rect x="0.5" y="0.5" width="19" height="19" rx="3.5" stroke="white" stroke-opacity="0.15"/>
130
- <path d="M10 6L14 10L10 14" stroke="white" stroke-width="1.2" stroke-linejoin="round"/>
131
- <path d="M14 10L6 10" stroke="white" stroke-width="1.2" stroke-linejoin="round"/>
132
- </svg>
133
- </div>
134
- </div>
135
- </a>
136
- </div>
137
- </template>
138
-
139
- <style>
140
- /* Set CSS variable for banner height - only on md+ where banner is visible */
141
- @media (min-width: 768px) {
142
- .top-banner {
143
- --vp-banner-height: 40px;
144
- }
145
-
146
- :root:has(.top-banner) {
147
- --vp-banner-height: 40px;
148
- }
149
- }
150
- </style>
@@ -1,41 +0,0 @@
1
- <script setup lang="ts">
2
-
3
- </script>
4
-
5
- <template>
6
- <div class="wrapper wrapper--ticks border-nickel border-t">
7
- <div
8
- class="flex flex-col-reverse md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
9
-
10
- <div class="flex flex-col">
11
- <div class="relative aspect-[5/4] flex flex-col justify-center overflow-clip bg-feature-panel-1 p-10">
12
- <img src="@assets/vite/vite-featurepanel-1-terminal.svg" alt="Terminal" class="w-full h-full object-contain" />
13
- </div>
14
- </div>
15
-
16
- <div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
17
- <svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
18
- <path
19
- d="M8.62814 12.6736H8.16918C6.68545 12.6736 5.94358 12.6736 5.62736 12.1844C5.31114 11.6953 5.61244 11.0138 6.21504 9.65083L8.02668 5.55323C8.57457 4.314 8.84852 3.69438 9.37997 3.34719C9.91142 3 10.5859 3 11.935 3H14.0244C15.6632 3 16.4826 3 16.7916 3.53535C17.1007 4.0707 16.6942 4.78588 15.8811 6.21623L14.8092 8.10188C14.405 8.81295 14.2029 9.16849 14.2057 9.45952C14.2094 9.83775 14.4105 10.1862 14.7354 10.377C14.9854 10.5239 15.3927 10.5239 16.2074 10.5239C17.2373 10.5239 17.7523 10.5239 18.0205 10.7022C18.3689 10.9338 18.5513 11.3482 18.4874 11.7632C18.4382 12.0826 18.0918 12.4656 17.399 13.2317L11.8639 19.3523C10.7767 20.5545 10.2331 21.1556 9.86807 20.9654C9.50303 20.7751 9.67833 19.9822 10.0289 18.3962L10.7157 15.2896C10.9826 14.082 11.1161 13.4782 10.7951 13.0759C10.4741 12.6736 9.85877 12.6736 8.62814 12.6736Z"
20
- stroke="#AA3BFF" stroke-width="1.5" stroke-linejoin="round"/>
21
- </svg>
22
-
23
-
24
- <div class="flex flex-col max-w-[25rem] gap-3">
25
- <h4 class="text-white text-pretty">Instant server start</h4>
26
- <p class="text-white/70 text-lg max-w-[25rem] text-balance">On demand file serving over native ESM, no
27
- bundling required!</p>
28
- </div>
29
- </div>
30
-
31
- </div>
32
- </div>
33
- </template>
34
-
35
- <style scoped>
36
- .bg-feature-panel-1 {
37
- background-image: url('@assets/vite/vite-featurepanel-1-background.jpg');
38
- background-size: cover;
39
- background-position: center;
40
- }
41
- </style>
@@ -1,37 +0,0 @@
1
- <script setup lang="ts">
2
-
3
- </script>
4
-
5
- <template>
6
- <div class="wrapper wrapper--ticks border-nickel border-t">
7
- <div
8
- class="flex flex-col md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
9
-
10
- <div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
11
- <svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
12
- <path d="M17.25 3V10.5M21 6.75H13.5" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
13
- <path d="M13.6903 19.4567C13.5 18.9973 13.5 18.4149 13.5 17.25C13.5 16.0851 13.5 15.5027 13.6903 15.0433C13.944 14.4307 14.4307 13.944 15.0433 13.6903C15.5027 13.5 16.0851 13.5 17.25 13.5C18.4149 13.5 18.9973 13.5 19.4567 13.6903C20.0693 13.944 20.556 14.4307 20.8097 15.0433C21 15.5027 21 16.0851 21 17.25C21 18.4149 21 18.9973 20.8097 19.4567C20.556 20.0693 20.0693 20.556 19.4567 20.8097C18.9973 21 18.4149 21 17.25 21C16.0851 21 15.5027 21 15.0433 20.8097C14.4307 20.556 13.944 20.0693 13.6903 19.4567Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
14
- <path d="M3.1903 19.4567C3 18.9973 3 18.4149 3 17.25C3 16.0851 3 15.5027 3.1903 15.0433C3.44404 14.4307 3.93072 13.944 4.54329 13.6903C5.00272 13.5 5.58515 13.5 6.75 13.5C7.91485 13.5 8.49728 13.5 8.95671 13.6903C9.56928 13.944 10.056 14.4307 10.3097 15.0433C10.5 15.5027 10.5 16.0851 10.5 17.25C10.5 18.4149 10.5 18.9973 10.3097 19.4567C10.056 20.0693 9.56928 20.556 8.95671 20.8097C8.49728 21 7.91485 21 6.75 21C5.58515 21 5.00272 21 4.54329 20.8097C3.93072 20.556 3.44404 20.0693 3.1903 19.4567Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
15
- <path d="M3.1903 8.95671C3 8.49728 3 7.91485 3 6.75C3 5.58515 3 5.00272 3.1903 4.54329C3.44404 3.93072 3.93072 3.44404 4.54329 3.1903C5.00272 3 5.58515 3 6.75 3C7.91485 3 8.49728 3 8.95671 3.1903C9.56928 3.44404 10.056 3.93072 10.3097 4.54329C10.5 5.00272 10.5 5.58515 10.5 6.75C10.5 7.91485 10.5 8.49728 10.3097 8.95671C10.056 9.56928 9.56928 10.056 8.95671 10.3097C8.49728 10.5 7.91485 10.5 6.75 10.5C5.58515 10.5 5.00272 10.5 4.54329 10.3097C3.93072 10.056 3.44404 9.56928 3.1903 8.95671Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
16
- </svg>
17
-
18
-
19
-
20
- <div class="flex flex-col max-w-[25rem] gap-3">
21
- <h4 class="text-white text-pretty">Lightning fast HMR</h4>
22
- <p class="text-white/70 text-lg max-w-[25rem] text-balance">Hot Module Replacement (HMR) that stays fast regardless of app size.</p>
23
- </div>
24
- </div>
25
-
26
- <div class="flex flex-col">
27
- <div class="relative flex flex-col justify-center overflow-clip">
28
- <img src="@assets/vite/vite-featurepanel-2-terminal.png" alt="Terminal" class="w-full h-full" />
29
- </div>
30
- </div>
31
-
32
- </div>
33
- </div>
34
- </template>
35
-
36
- <style scoped>
37
- </style>
@@ -1,43 +0,0 @@
1
- <script setup lang="ts">
2
- import RiveAnimation from "@components/shared/RiveAnimation.vue";
3
- import viteAnimation from '@assets/vite/animations/563_x_420_rich_features.riv'
4
- </script>
5
-
6
- <template>
7
- <div class="wrapper wrapper--ticks border-nickel border-t">
8
- <div class="flex flex-col-reverse md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
9
-
10
- <div class="flex flex-col">
11
- <div class="relative h-full flex flex-col justify-center overflow-clip">
12
- <RiveAnimation
13
- :desktop-src="viteAnimation"
14
- :mobile-src="viteAnimation"
15
- :desktop-width="563"
16
- :desktop-height="420"
17
- :mobile-width="563"
18
- :mobile-height="420"
19
- canvas-class="w-full"
20
- />
21
- </div>
22
- </div>
23
-
24
- <div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
25
- <svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
26
- <path d="M8.64298 3.14559L6.93816 3.93362C4.31272 5.14719 3 5.75397 3 6.75C3 7.74603 4.31272 8.35281 6.93817 9.56638L8.64298 10.3544C10.2952 11.1181 11.1214 11.5 12 11.5C12.8786 11.5 13.7048 11.1181 15.357 10.3544L17.0618 9.56638C19.6873 8.35281 21 7.74603 21 6.75C21 5.75397 19.6873 5.14719 17.0618 3.93362L15.357 3.14559C13.7048 2.38186 12.8786 2 12 2C11.1214 2 10.2952 2.38186 8.64298 3.14559Z" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
27
- <path d="M20.788 11.0972C20.9293 11.2959 21 11.5031 21 11.7309C21 12.7127 19.6873 13.3109 17.0618 14.5072L15.357 15.284C13.7048 16.0368 12.8786 16.4133 12 16.4133C11.1214 16.4133 10.2952 16.0368 8.64298 15.284L6.93817 14.5072C4.31272 13.3109 3 12.7127 3 11.7309C3 11.5031 3.07067 11.2959 3.212 11.0972" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
28
- <path d="M20.3767 16.2661C20.7922 16.5971 21 16.927 21 17.3176C21 18.2995 19.6873 18.8976 17.0618 20.0939L15.357 20.8707C13.7048 21.6236 12.8786 22 12 22C11.1214 22 10.2952 21.6236 8.64298 20.8707L6.93817 20.0939C4.31272 18.8976 3 18.2995 3 17.3176C3 16.927 3.20778 16.5971 3.62334 16.2661" stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
29
- </svg>
30
-
31
- <div class="flex flex-col max-w-[25rem] gap-3">
32
- <h4 class="text-white text-pretty">Rich features</h4>
33
- <p class="text-white/70 text-lg max-w-[25rem] text-balance">On demand file serving over native ESM, no bundling required!</p>
34
- </div>
35
- </div>
36
-
37
- </div>
38
- </div>
39
- </template>
40
-
41
- <style scoped>
42
-
43
- </style>
@@ -1,46 +0,0 @@
1
- <script setup lang="ts">
2
-
3
- </script>
4
-
5
- <template>
6
- <div class="wrapper wrapper--ticks border-nickel border-t">
7
- <div
8
- class="flex flex-col md:grid lg:grid-cols-2 mx-0 md:mx-20 border-nickel md:border-l md:border-r">
9
-
10
- <div class="flex flex-col p-10 justify-between gap-5 md:gap-18">
11
- <svg class="size-7" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
12
- <path
13
- d="M16.2627 10.5H7.73725C5.15571 10.5 3.86494 10.5 3.27143 11.3526C2.67793 12.2052 3.11904 13.4258 4.00126 15.867L5.08545 18.867C5.54545 20.1398 5.77545 20.7763 6.2889 21.1381C6.80235 21.5 7.47538 21.5 8.82143 21.5H15.1786C16.5246 21.5 17.1976 21.5 17.7111 21.1381C18.2245 20.7763 18.4545 20.1398 18.9146 18.867L19.9987 15.867C20.881 13.4258 21.3221 12.2052 20.7286 11.3526C20.1351 10.5 18.8443 10.5 16.2627 10.5Z"
14
- stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="square"/>
15
- <path
16
- d="M19 8C19 7.53406 19 7.30109 18.9239 7.11732C18.8224 6.87229 18.6277 6.67761 18.3827 6.57612C18.1989 6.5 17.9659 6.5 17.5 6.5H6.5C6.03406 6.5 5.80109 6.5 5.61732 6.57612C5.37229 6.67761 5.17761 6.87229 5.07612 7.11732C5 7.30109 5 7.53406 5 8"
17
- stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
18
- <path
19
- d="M16.5 4C16.5 3.53406 16.5 3.30109 16.4239 3.11732C16.3224 2.87229 16.1277 2.67761 15.8827 2.57612C15.6989 2.5 15.4659 2.5 15 2.5H9C8.53406 2.5 8.30109 2.5 8.11732 2.57612C7.87229 2.67761 7.67761 2.87229 7.57612 3.11732C7.5 3.30109 7.5 3.53406 7.5 4"
20
- stroke="#AA3BFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
21
- </svg>
22
-
23
- <div class="flex flex-col max-w-[25rem] gap-3">
24
- <h4 class="text-white text-pretty">Optimized Build</h4>
25
- <p class="text-white/70 text-lg max-w-[25rem] text-balance">Pre-configured Rollup build with multi-page and library mode support.</p>
26
- </div>
27
- </div>
28
-
29
-
30
- <div class="flex flex-col">
31
- <div class="relative aspect-[5/4] flex flex-col justify-center overflow-clip bg-feature-panel-1 p-10">
32
- <img src="@assets/vite/vite-featurepanel-4-terminal.svg" alt="Terminal" class="w-full h-full object-contain"/>
33
- </div>
34
- </div>
35
-
36
- </div>
37
- </div>
38
- </template>
39
-
40
- <style scoped>
41
- .bg-feature-panel-1 {
42
- background-image: url('@assets/vite/vite-featurepanel-4-background.jpg');
43
- background-size: cover;
44
- background-position: center;
45
- }
46
- </style>
@@ -1,65 +0,0 @@
1
- <template>
2
- <footer class="bg-primary" data-theme="dark">
3
- <section class="wrapper">
4
- <div class="w-full sm:w-2xl flex flex-col justify-start items-center gap-10 px-5 sm:px-0 py-10 md:py-30 mx-auto">
5
- <h2 class="text-center text-white text-balance">Interested in the future of Javascript tooling?</h2>
6
- <a href="https://viteplus.dev" target="_blank" rel="noopener noreferrer"
7
- class="button button--primary button--white">
8
- <img src="@assets/icons/viteplus-dark.svg" class="size-7" alt="Vite+ Logo">
9
- <span>Explore Vite+</span>
10
- </a>
11
- </div>
12
- <div class="w-full aspect-[4] md:aspect-[6.4] flex items-center justify-center relative">
13
- <img src="@assets/voidzero/footer.jpg" alt="VoidZero" class="absolute inset-0 -z-0 w-full h-full object-cover">
14
- <img src="@assets/voidzero/footer-logo.svg" alt="VoidZeroLogo" class="relative size-12 md:size-20">
15
- </div>
16
- <div class="px-5 md:px-24 pt-10 md:pt-16 pb-16 md:pb-40 flex flex-col md:flex-row gap-10 md:gap-0 md:justify-between">
17
- <div class="flex flex-col md:flex-row gap-10 md:gap-20">
18
- <div>
19
- <p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">Product</p>
20
- <ul class="flex flex-col gap-3">
21
- <li><a href="https://viteplus.dev/" target="_blank" rel="noopener noreferrer"
22
- class="text-white text-base">Vite+</a></li>
23
- </ul>
24
- </div>
25
- <div>
26
- <p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">OSS</p>
27
- <ul class="flex flex-col gap-3">
28
- <li><a href="https://vite.dev/" target="_blank" rel="noopener noreferrer" class="text-white text-base">Vite</a>
29
- </li>
30
- <li><a href="https://rolldown.rs/" target="_blank" rel="noopener noreferrer" class="text-white text-base">Rolldown</a>
31
- </li>
32
- <li><a href="https://vitest.dev/" target="_blank" rel="noopener noreferrer" class="text-white text-base">Vitest</a>
33
- </li>
34
- <li><a href="https://oxc.rs/" target="_blank" rel="noopener noreferrer"
35
- class="text-white text-base">Oxc</a></li>
36
- </ul>
37
- </div>
38
- <div>
39
- <p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">Company</p>
40
- <ul class="flex flex-col gap-3">
41
- <li><a href="https://voidzero.dev/resources" target="_blank" rel="noopener noreferrer"
42
- class="text-white text-base">Blog</a></li>
43
- <li><a href="https://voidzero.dev/about" target="_blank" rel="noopener noreferrer"
44
- class="text-white text-base">About</a></li>
45
- </ul>
46
- </div>
47
- </div>
48
- <div>
49
- <p class="text-grey text-xs font-mono uppercase tracking-wide mb-8">Social</p>
50
- <ul class="flex flex-col gap-3">
51
- <li><a href="https://github.com/voidzero-dev" target="_blank" rel="noopener noreferrer" class="text-white text-base flex gap-3 items-center">
52
- <img src="@assets/social/github-light.svg" alt="GitHub" class="size-5"> GitHub</a></li>
53
- <li><a href="https://bsky.app/profile/voidzero.dev" target="_blank" rel="noopener noreferrer" class="text-white text-base flex gap-3 items-center">
54
- <img src="@assets/social/bluesky-light.svg" alt="Bluesky" class="size-5">Bluesky</a></li>
55
- <li><a href="https://x.com/voidzerodev" target="_blank" rel="noopener noreferrer" class="text-white text-base flex gap-3 items-center">
56
- <img src="@assets/social/twitter-light.svg" alt="Twitter" class="size-5">X.com</a></li>
57
- </ul>
58
- </div>
59
- </div>
60
- </section>
61
- <section class="wrapper wrapper--ticks border-t py-5 px-5 md:px-24 flex flex-col md:flex-row gap-3 md:gap-0 justify-between items-start md:items-center">
62
- <p class="text-sm">© {{ new Date().getFullYear() }} VoidZero Inc. <span class="hidden sm:inline ">All Rights Reserved.</span></p>
63
- </section>
64
- </footer>
65
- </template>