@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,190 +0,0 @@
1
- <script setup lang="ts">
2
- import {Carousel, Slide} from 'vue3-carousel'
3
-
4
- interface FeaturedArticle {
5
- title: string
6
- url?: string
7
- link?: string
8
- cover?: string
9
- image?: string
10
- }
11
-
12
- interface Props {
13
- featuredArticles?: FeaturedArticle[]
14
- onLinkClick?: () => void
15
- }
16
-
17
- const props = withDefaults(defineProps<Props>(), {
18
- featuredArticles: () => [],
19
- onLinkClick: () => {}
20
- })
21
-
22
- // Carousel configuration
23
- const carouselConfig = {
24
- itemsToShow: 1,
25
- wrapAround: true,
26
- snapAlign: 'center',
27
- autoplay: 3000,
28
- transition: 500,
29
- mouseDrag: true,
30
- touchDrag: true
31
- }
32
- </script>
33
-
34
- <template>
35
- <div class="flex flex-col md:grid md:grid-cols-10 md:auto-rows-fr gap-0">
36
- <!-- Products Grid -->
37
- <div class="flex flex-col gap-0 border-stroke dark:border-nickel md:col-span-6 md:border-r">
38
- <div class="px-5 h-12 flex items-center border-b border-stroke dark:border-nickel dark:border-t">
39
- <p class="text-mono text-xs font-medium uppercase tracking-widest text-grey">
40
- Products //
41
- </p>
42
- </div>
43
- <div class="grid grid-cols-1 md:grid-cols-2 md:auto-rows-fr gap-0 flex-1">
44
- <a
45
- href="https://vite.dev"
46
- target="_blank"
47
- @click="onLinkClick"
48
- class="p-5 group cursor-pointer hover:bg-primary dark:hover:bg-white md:border-r border-stroke dark:border-nickel dark:border-b transition-colors duration-100 relative"
49
- >
50
- <svg class="absolute top-5 right-5 opacity-0 group-hover:opacity-100 transition-opacity duration-100" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
51
- <path d="M2.81802 2.81803L9.18198 2.81803L9.18198 9.18199" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
52
- <path d="M9.18213 2.81802L2.81817 9.18198" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
53
- </svg>
54
- <img
55
- src="@assets/icons/vite-light.svg"
56
- alt="Vite logo"
57
- class="p-1 size-8 rounded mb-6 bg-primary"
58
- >
59
- <h3
60
- class="text-lg font-medium font-sans mb-1 dark:text-white group-hover:text-white dark:group-hover:text-primary transition-colors duration-100 "
61
- >
62
- Vite
63
- </h3>
64
- <p class="text-sm text-balance">
65
- A blazing fast frontend build tool powering next-gen web applications.
66
- </p>
67
- </a>
68
-
69
- <a
70
- href="https://vitest.dev"
71
- target="_blank"
72
- @click="onLinkClick"
73
- class="p-5 group cursor-pointer hover:bg-primary dark:hover:bg-white dark:border-nickel dark:border-b transition-colors duration-100 relative"
74
- >
75
- <svg class="absolute top-5 right-5 opacity-0 group-hover:opacity-100 transition-opacity duration-100" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
76
- <path d="M2.81802 2.81803L9.18198 2.81803L9.18198 9.18199" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
77
- <path d="M9.18213 2.81802L2.81817 9.18198" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
78
- </svg>
79
- <img
80
- src="@assets/icons/vitest-light.svg"
81
- alt="Vitest logo"
82
- class="p-1 size-8 rounded mb-6 bg-primary"
83
- >
84
- <h3
85
- class="text-lg font-medium font-sans mb-1 dark:text-white group-hover:text-white dark:group-hover:text-primary transition-colors duration-100 "
86
- >
87
- Vitest
88
- </h3>
89
- <p class="text-sm text-balance">
90
- A Vite-native testing framework. It's fast!
91
- </p>
92
- </a>
93
-
94
- <a
95
- href="https://rolldown.rs/"
96
- target="_blank"
97
- @click="onLinkClick"
98
- class="p-5 group cursor-pointer hover:bg-primary dark:hover:bg-white md:border-r md:border-t border-stroke dark:border-nickel dark:border-b transition-colors duration-100 relative"
99
- >
100
- <svg class="absolute top-5 right-5 opacity-0 group-hover:opacity-100 transition-opacity duration-100" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
101
- <path d="M2.81802 2.81803L9.18198 2.81803L9.18198 9.18199" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
102
- <path d="M9.18213 2.81802L2.81817 9.18198" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
103
- </svg>
104
- <img
105
- src="@assets/icons/rolldown-light.svg"
106
- alt="Rolldown logo"
107
- class="p-1 size-8 rounded mb-6 bg-primary"
108
- >
109
- <h3
110
- class="text-lg font-medium font-sans mb-1 dark:text-white group-hover:text-white dark:group-hover:text-primary transition-colors duration-100 "
111
- >
112
- Rolldown
113
- </h3>
114
- <p class="text-sm text-balance">
115
- A Rust-based bundler for Javascript with Rollup-compatible API
116
- </p>
117
- </a>
118
-
119
- <a
120
- href="https://oxc.rs/"
121
- target="_blank"
122
- @click="onLinkClick"
123
- class="p-5 group cursor-pointer hover:bg-primary dark:hover:bg-white md:border-t border-stroke dark:border-nickel dark:border-b transition-colors duration-100 relative"
124
- >
125
- <svg class="absolute top-5 right-5 opacity-0 group-hover:opacity-100 transition-opacity duration-100" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
126
- <path d="M2.81802 2.81803L9.18198 2.81803L9.18198 9.18199" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
127
- <path d="M9.18213 2.81802L2.81817 9.18198" class="stroke-white dark:group-hover:stroke-primary" stroke-width="1.25" stroke-linejoin="round"/>
128
- </svg>
129
- <img
130
- src="@assets/icons/oxc-light.svg"
131
- alt="Oxc logo"
132
- class="p-1 size-8 rounded mb-6 bg-primary"
133
- >
134
- <h3
135
- class="text-lg font-medium font-sans mb-1 dark:text-white group-hover:text-white dark:group-hover:text-primary transition-colors duration-100 "
136
- >
137
- Oxc
138
- </h3>
139
- <p class="text-sm text-balance">
140
- A collection of JavaScript tools written in Rust
141
- </p>
142
- </a>
143
- </div>
144
- </div>
145
-
146
- <!-- Customer Highlights -->
147
- <div
148
- v-if="featuredArticles && featuredArticles.length > 0"
149
- class="flex flex-col gap-0 md:col-span-4"
150
- >
151
- <div class="px-5 h-12 flex items-center border-b border-stroke dark:border-nickel">
152
- <p class="text-mono text-xs font-medium uppercase tracking-widest text-grey">
153
- Customer Highlights //
154
- </p>
155
- </div>
156
- <div class="flex flex-col">
157
- <Carousel v-bind="carouselConfig" class="h-full">
158
- <Slide v-for="(article, index) in featuredArticles" :key="index">
159
- <a
160
- :href="article.url || article.link"
161
- @click="onLinkClick"
162
- class="flex flex-col h-full group"
163
- >
164
- <div class="overflow-hidden aspect-[16/9]">
165
- <img
166
- :src="article.cover || article.image"
167
- :alt="article.title"
168
- class="w-full h-full object-cover"
169
- >
170
- </div>
171
- <div class="px-5 py-5">
172
- <h3
173
- class="text-lg font-sans leading-tight transition-colors dark:text-white group-hover:text-primary min-h-12 line-clamp-2"
174
- >
175
- {{ article.title }}
176
- </h3>
177
- </div>
178
- </a>
179
- </Slide>
180
- </Carousel>
181
- </div>
182
- </div>
183
- </div>
184
- </template>
185
-
186
- <style>
187
- .is-dragging {
188
- pointer-events: none;
189
- }
190
- </style>
@@ -1,56 +0,0 @@
1
- <template>
2
- <div class="wrapper wrapper--ticks border-t grid grid-cols-1 md:grid-cols-2 divide-x divide-stroke justify-start items-center">
3
- <div class="flex flex-col justify-between items-center md:items-start px-5 md:px-10 p-16 md:p-10 h-full gap-10">
4
- <div class="flex flex-col gap-3 md:gap-5">
5
- <h3 class="text-center md:text-start text-primary text-balance">
6
- Think you'd be a good addition to our team?
7
- </h3>
8
- <p class="text-center md:text-start text-balance">
9
- We do not have any open position right now, but we’re always open to
10
- exploring opportunities with exceptional talent.
11
- </p>
12
- </div>
13
- <p>Drop us a line at <strong>career[at]voidzero[dot]dev</strong></p>
14
- </div>
15
- <div>
16
- <img src="@assets/voidzero/career-illustration.jpg" alt="Join VoidZero" class="w-full">
17
- <div class="px-5 md:px-10 py-10">
18
- <h6 class="text-xl text-primary font-medium">What makes you a good fit:</h6>
19
- <ul class="mt-5 career-list">
20
- <li class="text-primary text-base">Passionate about building fast, developer-friendly tools.</li>
21
- <li class="text-primary text-base">Excited to contribute to open source and our vision.</li>
22
- <li class="text-primary text-base">Proficiency with Rust and TypeScript.</li>
23
- </ul>
24
- </div>
25
- </div>
26
- </div>
27
- </template>
28
- <script setup lang="ts">
29
- </script>
30
- <style scoped>
31
- .career-list {
32
- list-style: none;
33
- padding-left: 0;
34
- }
35
-
36
- .career-list li {
37
- position: relative;
38
- padding-left: 1.25rem;
39
- margin-bottom: 0.75rem;
40
- }
41
-
42
- .career-list li:last-child {
43
- margin-bottom: 0;
44
- }
45
-
46
- .career-list li::before {
47
- content: '';
48
- position: absolute;
49
- left: 0;
50
- top: 0.5em;
51
- width: 6px;
52
- height: 6px;
53
- background-color: #863BFF;
54
- border-radius: 20%;
55
- }
56
- </style>
@@ -1,206 +0,0 @@
1
- <template>
2
- <div
3
- class="wrapper flex flex-col justify-start items-center gap-6 pt-6 md:pt-20 pb-10"
4
- >
5
- <div
6
- class="w-full sm:w-2xl flex flex-col justify-start items-center gap-10 px-5 sm:px-0"
7
- >
8
- <div class="flex flex-col justify-start items-center gap-4">
9
- <span
10
- class="text-grey text-xs font-medium font-mono uppercase tracking-wide"
11
- >About</span
12
- >
13
- <h1 class="text-center text-white text-balance shine-text pb-5 sm:pb-0">
14
- <span class="inline-block">We are a team of</span>
15
- <span class="inline-block">Javascript tooling experts</span>
16
- </h1>
17
- <p class="self-stretch text-center text-balance text-grey text-xl">
18
- Including creators and core contributors to some of the most widely
19
- adopted open-source projects.
20
- </p>
21
- </div>
22
- <div class="flex items-center gap-5">
23
- <a href="#team" class="button button--white" @click="scrollToTeam">
24
- Meet the team
25
- </a>
26
- <!-- <a href="#" target="_blank" rel="noopener noreferrer" class="button">
27
- Join us
28
- </a>-->
29
- </div>
30
- <RiveAnimation
31
- :desktop-src="aboutAnimation"
32
- :mobile-src="aboutAnimationMobile"
33
- :desktop-width="1280"
34
- :desktop-height="580"
35
- :mobile-width="300"
36
- :mobile-height="148"
37
- canvas-class="w-[50vw] md:w-[30rem] pt-6 md:pt-0"
38
- :enable-hover="true"
39
- />
40
- </div>
41
- </div>
42
- <div
43
- class="wrapper wrapper--ticks border-t py-10 md:py-40 md:pb-70 grid md:grid-cols-2 px-10 md:px-10 lg:px-30 gap-10 lg:gap-20 relative"
44
- >
45
- <Shader
46
- class="w-full absolute bottom-0 left-0 right-0 aspect-[21/9] -z-0 hidden md:block"
47
- >
48
- <SolidColor color="#16171d" />
49
- <Ascii
50
- :spacing="0.6"
51
- :cell-size="18"
52
- characters="../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../"
53
- font-family="KH Teka Mono"
54
- >
55
- <SineWave
56
- id="sineWave"
57
- :angle="0"
58
- color="#3b3440"
59
- :speed="0.4"
60
- :position="{ x: 0.5, y: 1 }"
61
- :softness="0.4"
62
- :amplitude="0.05"
63
- :frequency="0.3"
64
- :thickness="0.7"
65
- :visible="true"
66
- />
67
- <ChromaFlow
68
- base-color="#9642ff"
69
- up-color="#8800ff"
70
- down-color="#5500ff"
71
- left-color="#0077ff"
72
- right-color="#6200ff"
73
- :intensity="1"
74
- :radius="2"
75
- :momentum="30"
76
- mask-type="alpha"
77
- mask-source="sineWave"
78
- />
79
- </Ascii>
80
- </Shader>
81
- <div class="h-full flex items-center relative">
82
- <h2 class="text-white">
83
- We’re on the mission to make JavaScript developers more productive than
84
- ever before.
85
- </h2>
86
- </div>
87
- <div class="relative">
88
- <svg
89
- class="h-5 absolute -left-5 top-1"
90
- viewBox="0 0 6 19"
91
- fill="none"
92
- xmlns="http://www.w3.org/2000/svg"
93
- >
94
- <path
95
- d="M2.80966 0C-0.92561 5.34659 -0.947479 13.6342 2.80966 19H5.33337C1.57711 13.6342 1.59898 5.34659 5.33337 0H2.80966Z"
96
- fill="white"
97
- />
98
- </svg>
99
- <p class="text-white/70 text-xl">
100
- JavaScript started as a scripting language designed in 10 days. Today,
101
- it is powering some of the most sophisticated applications in the world
102
- used by billions of users. The ever-increasing scale and complexity
103
- poses real challenges. JavaScript developers are struggling with
104
- fragmented solutions, overloaded dependencies, and performance
105
- bottlenecks.
106
- <br /><br />
107
- We believe it is time to change that with a toolchain that is designed
108
- from the ground up to offer the best possible performance and unified
109
- developer experience.
110
- </p>
111
- <svg
112
- class="h-5 absolute -right-5 bottom-1"
113
- viewBox="0 0 6 19"
114
- fill="none"
115
- xmlns="http://www.w3.org/2000/svg"
116
- >
117
- <path
118
- d="M2.52433 0C6.25959 5.34659 6.28146 13.6342 2.52433 19H0.000613689C3.75687 13.6342 3.73501 5.34659 0.000613689 0H2.52433Z"
119
- fill="white"
120
- />
121
- </svg>
122
- </div>
123
- <p class="block md:hidden text-nickel text-lg font-mono break-all">
124
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
125
- . . . . . . . . . . / / / /
126
- </p>
127
- <div class="flex md:hidden gap-3 justify-between items-center w-full">
128
- <img
129
- src="@assets/voidzero/signature.svg"
130
- alt="Signature"
131
- class="w-full max-w-[60%]"
132
- />
133
- <div class="shrink-0">
134
- <h5 class="text-white md:text-lg font-medium truncate">Evan You</h5>
135
- <p class="text-white/70 text-base">Founder &amp; CEO</p>
136
- </div>
137
- </div>
138
- </div>
139
- </template>
140
-
141
- <script setup lang="ts">
142
- import { Shader, Ascii, SineWave, SolidColor, ChromaFlow } from "shaders/vue";
143
- import aboutAnimation from "@assets/voidzero/animations/about.riv";
144
- import aboutAnimationMobile from "@assets/voidzero/animations/about-mobile.riv";
145
- import RiveAnimation from "@components/shared/RiveAnimation.vue";
146
-
147
- const scrollToTeam = (event: Event) => {
148
- event.preventDefault();
149
- const teamSection = document.getElementById("team");
150
- if (teamSection) {
151
- const targetPosition =
152
- teamSection.getBoundingClientRect().top + window.scrollY;
153
- const startPosition = window.scrollY;
154
- const distance = targetPosition - startPosition;
155
- const duration = 800; // ms
156
- let startTime: number | null = null;
157
-
158
- const animation = (currentTime: number) => {
159
- if (startTime === null) startTime = currentTime;
160
- const timeElapsed = currentTime - startTime;
161
- const progress = Math.min(timeElapsed / duration, 1);
162
-
163
- // Easing function (ease-in-out)
164
- const ease =
165
- progress < 0.5
166
- ? 2 * progress * progress
167
- : 1 - Math.pow(-2 * progress + 2, 2) / 2;
168
-
169
- window.scrollTo(0, startPosition + distance * ease);
170
-
171
- if (timeElapsed < duration) {
172
- requestAnimationFrame(animation);
173
- }
174
- };
175
-
176
- requestAnimationFrame(animation);
177
- }
178
- };
179
- </script>
180
-
181
- <style scoped>
182
- .shine-text {
183
- background: linear-gradient(
184
- 110deg,
185
- var(--color-white) 0%,
186
- var(--color-white) 40%,
187
- #6c3bff 48%,
188
- #6c3bff 50%,
189
- #6c3bff 52%,
190
- var(--color-white) 60%,
191
- var(--color-white) 100%
192
- );
193
- background-size: 400% 100%;
194
- background-position: 100% 0;
195
- background-clip: text;
196
- -webkit-background-clip: text;
197
- -webkit-text-fill-color: transparent;
198
- animation: shine 5s ease-in-out 0s 1 forwards;
199
- }
200
-
201
- @keyframes shine {
202
- to {
203
- background-position: 35% 0;
204
- }
205
- }
206
- </style>
@@ -1,112 +0,0 @@
1
- <script setup lang="ts">
2
- import accelLogo from '@assets/voidzero/investors/accel.svg'
3
- import amplifyLogo from '@assets/voidzero/investors/amplify.svg'
4
- import sunflowerLogo from '@assets/voidzero/investors/sunflower.png'
5
- import peakxvLogo from '@assets/voidzero/investors/peakxv.png'
6
-
7
- interface Investor {
8
- name: string
9
- title: string
10
- }
11
-
12
- const mainInvestors = [
13
- {src: accelLogo, alt: 'Accel'},
14
- {src: peakxvLogo, alt: 'Peak XV'},
15
- {src: sunflowerLogo, alt: 'Sunflower'},
16
- {src: amplifyLogo, alt: 'Amplify'}
17
- ]
18
-
19
- const investors: Investor[] = [
20
- { name: 'Tom Preston-Werner', title: 'Preston-Werner Ventures' },
21
- { name: 'BGZ', title: 'BGZ Investment Pte.Ltd' },
22
- { name: 'Eric Simons', title: 'Founder, StackBlitz' },
23
- { name: 'Paul Copplestone', title: 'Co-Founder, Supabase' },
24
- { name: 'David Cramer', title: 'Co-Founder, Sentry' },
25
- { name: 'Matt Biilmann', title: 'Co-Founder, Netlify' },
26
- { name: 'Christian Bach', title: 'Co-Founder, Netlify' },
27
- { name: 'Dafeng Guo', title: 'Co-Founder, Strikingly' },
28
- { name: 'Sébastien Chopin', title: 'Founder, NuxtLabs' },
29
- { name: 'Johannes Schickling', title: 'Founder, Prisma' },
30
- { name: 'Zeno Rocha', title: 'Founder, Resend' },
31
- { name: 'Koen Bok', title: 'Co-Founder, Framer' },
32
- ]
33
-
34
- const getBorderClasses = (index: number) => {
35
- const classes: string[] = []
36
- const position = index + 1
37
- const total = investors.length
38
-
39
- // RIGHT BORDERS: remove from last item in each row per breakpoint
40
- classes.push('border-r-0') // Mobile (1 col): no right borders
41
-
42
- if (position % 2 !== 0) classes.push('sm:border-r') // SM (2 cols): border on odd positions
43
-
44
- if (position % 4 !== 0) classes.push('lg:border-r') // LG (4 cols): border on all except every 4th
45
- else classes.push('lg:border-r-0')
46
-
47
- // TOP BORDERS: remove from first row per breakpoint
48
- if (position > 1) classes.push('border-t') // Mobile (1 col): all except first
49
-
50
- if (position > 2) classes.push('sm:border-t') // SM (2 cols): all except first 2
51
- else classes.push('sm:border-t-0')
52
-
53
- if (position > 4) classes.push('lg:border-t') // LG (4 cols): all except first 4
54
- else classes.push('lg:border-t-0')
55
-
56
- // BOTTOM BORDERS: remove from last row per breakpoint
57
- if (position < total) classes.push('border-b') // Mobile: all except last
58
-
59
- const lastRowStartSm = Math.ceil(total / 2) * 2 - 1
60
- if (position <= total - 2 || position < lastRowStartSm) classes.push('sm:border-b')
61
- else classes.push('sm:border-b-0')
62
-
63
- const lastRowStartLg = Math.ceil(total / 4) * 4 - 3
64
- if (position <= total - 4 || position < lastRowStartLg) classes.push('lg:border-b')
65
- else classes.push('lg:border-b-0')
66
-
67
- return classes.join(' ')
68
- }
69
- </script>
70
-
71
- <template>
72
- <section class="wrapper wrapper--ticks border-t px-10 h-48 sm:h-90 flex flex-col justify-center gap-5">
73
- <h3 class="text-start">Backed by incredible investors.</h3>
74
- <p class="max-w-md text-balance">We are backed by some of the most accomplished and experienced investors in the developer tools space.</p>
75
- </section>
76
- <section class="wrapper wrapper--ticks border-t">
77
- <!-- Main Investors -->
78
- <div class="grid grid-cols-1 sm:grid-cols-2 border-b border-stroke">
79
- <div
80
- v-for="(investor, index) in mainInvestors"
81
- :key="index"
82
- class="flex items-center justify-center py-16 px-8 border-stroke"
83
- :class="[
84
- // Mobile (1 col): border-b on all except last
85
- index < mainInvestors.length - 1 ? 'border-b' : '',
86
- // SM+ (2 cols): border-b on top row (0,1), border-r on left column (0,2)
87
- index < 2 ? 'sm:border-b' : 'sm:border-b-0',
88
- index % 2 === 0 ? 'sm:border-r' : ''
89
- ]"
90
- >
91
- <img :src="investor.src" :alt="investor.alt" class="h-12 max-w-full object-contain" />
92
- </div>
93
- </div>
94
-
95
- <!-- Individual Investors Grid -->
96
- <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4">
97
- <div
98
- v-for="(investor, index) in investors"
99
- :key="index"
100
- class="border-stroke flex flex-col px-8 py-6"
101
- :class="getBorderClasses(index)"
102
- >
103
- <h5 class="text-primary text-base font-medium">{{ investor.name }}</h5>
104
- <p class="text-grey text-xs font-medium font-mono uppercase tracking-wide">{{ investor.title }}</p>
105
- </div>
106
- </div>
107
- </section>
108
- </template>
109
-
110
- <style scoped>
111
-
112
- </style>