chore: format codebase and remove unused icons

pull/5396/head
Divyansh Singh 3 weeks ago
parent ed2bfb266e
commit 5a368d3198

@ -1,5 +1,6 @@
<script setup lang="ts">
import DefaultTheme from 'vitepress/theme'
import HomeHeroCopy from './HomeHeroCopy.vue'
const INSTALL_COMMAND = 'npx vitepress init'

@ -1,23 +1,23 @@
<script setup lang="ts">
import { ref } from 'vue'
const props = defineProps<{
command: string
}>()
const copied = ref(false)
async function copy () {
try {
await navigator.clipboard.writeText(props.command)
copied.value = true
setTimeout(() => {
copied.value = false
}, 2000)
} catch (error) {
console.error('Failed to copy', error)
}
import { ref } from 'vue'
const props = defineProps<{
command: string
}>()
const copied = ref(false)
async function copy() {
try {
await navigator.clipboard.writeText(props.command)
copied.value = true
setTimeout(() => {
copied.value = false
}, 2000)
} catch (error) {
console.error('Failed to copy', error)
}
}
</script>
<template>
@ -49,14 +49,7 @@
width="18"
xmlns="http://www.w3.org/2000/svg"
>
<rect
height="14"
rx="2"
ry="2"
width="14"
x="8"
y="8"
/>
<rect height="14" rx="2" ry="2" width="14" x="8" y="8" />
<path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
</svg>
<svg
@ -170,7 +163,7 @@
font-size: 12px;
font-weight: 600;
pointer-events: none;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
z-index: 10;
}

@ -1,8 +1,8 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useRoute } from 'vitepress'
import VPNavBarMenuGroup from 'vitepress/dist/client/theme-default/components/VPNavBarMenuGroup.vue'
import VPNavScreenMenuGroup from 'vitepress/dist/client/theme-default/components/VPNavScreenMenuGroup.vue'
import { computed } from 'vue'
const props = defineProps<{
versions: { text: string; link: string }[]

@ -1,7 +1,8 @@
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import CustomLayout from './components/CustomLayout.vue'
import ApiPreference from './components/ApiPreference.vue'
import CustomLayout from './components/CustomLayout.vue'
import NavVersion from './components/NavVersion.vue'
export default {

@ -1,4 +1,5 @@
import fs from 'node:fs'
import { defineLoader } from 'vitepress'
type Data = Record<string, boolean>[]

@ -1,4 +1,5 @@
import { defineRoutes } from 'vitepress'
import paths from './paths'
export default defineRoutes({

@ -1,5 +1,6 @@
import getPort from 'get-port'
import type { Server } from 'node:net'
import getPort from 'get-port'
import { chromium, type BrowserServer } from 'playwright-chromium'
import type { ViteDevServer } from 'vite'
import { build, createServer, serve } from 'vitepress'

@ -1,8 +1,9 @@
import getPort from 'get-port'
import { nanoid } from 'nanoid'
import { rm } from 'node:fs/promises'
import path from 'node:path'
import { fileURLToPath, URL } from 'node:url'
import getPort from 'get-port'
import { nanoid } from 'nanoid'
import { chromium } from 'playwright-chromium'
import { createServer, scaffold, ScaffoldThemeType } from 'vitepress'

@ -1,9 +1,10 @@
import { resolveConfig } from 'node/config'
import { createContentLoader } from 'node/contentLoader'
import { mkdtemp, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import { resolveConfig } from 'node/config'
import { createContentLoader } from 'node/contentLoader'
describe('node/contentLoader', () => {
let root: string | undefined

@ -1,6 +1,7 @@
import path from 'node:path'
import { MarkdownItAsync } from 'markdown-it-async'
import { attrs as attrsPlugin } from '@mdit/plugin-attrs'
import { MarkdownItAsync } from 'markdown-it-async'
import { imagePlugin, type Options } from 'node/markdown/plugins/image'
const srcDir = path.resolve(import.meta.dirname, '../../../../e2e')

@ -1,6 +1,7 @@
import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import {
createMarkdownRenderer,
disposeMdItInstance,

@ -1,6 +1,7 @@
import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import {
createMarkdownRenderer,
disposeMdItInstance,

@ -1,9 +1,10 @@
import { resolveConfig } from 'node/config'
import { createMarkdownToVueRenderFn } from 'node/markdownToVue'
import { mkdtemp, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import { resolveConfig } from 'node/config'
import { createMarkdownToVueRenderFn } from 'node/markdownToVue'
describe('node/markdownToVue', () => {
let root: string | undefined

@ -1,11 +1,12 @@
import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import MiniSearch from 'minisearch'
import { resolveConfig } from 'node/config'
import { disposeMdItInstance } from 'node/markdown/markdown'
import { createMarkdownToVueRenderFn } from 'node/markdownToVue'
import { localSearchPlugin } from 'node/plugins/localSearchPlugin'
import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
describe('node/plugins/localSearchPlugin', () => {
let root: string | undefined

@ -1,6 +1,7 @@
import { mkdtemp, rm, writeFile } from 'node:fs/promises'
import { tmpdir } from 'node:os'
import path from 'node:path'
import { readFile, readTextFile, readTextFileSync } from 'node/utils/fs'
describe('node/utils/fs', () => {

@ -1,6 +1,7 @@
import vue from '@vitejs/plugin-vue'
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import vue from '@vitejs/plugin-vue'
import { defineConfig } from 'vitest/config'
const dir = dirname(fileURLToPath(import.meta.url))

@ -9,6 +9,7 @@ import {
localIconLoader
} from 'vitepress-plugin-group-icons'
import llmstxt from 'vitepress-plugin-llms'
import { markdown as esMarkdown } from '../es/config.ts'
import { markdown as faMarkdown } from '../fa/config.ts'
import { markdown as jaMarkdown } from '../ja/config.ts'

@ -1,6 +1,7 @@
/// <reference types="vitepress/client" />
import Theme from 'vitepress/theme'
import 'virtual:group-icons.css'
import './styles.css'

@ -1,38 +1,38 @@
[build.environment]
NODE_VERSION = "24"
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1"
NODE_VERSION = "24"
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1"
[build]
publish = "docs/.vitepress/dist"
command = "pnpm docs:build && pnpm docs:lunaria:build"
publish = "docs/.vitepress/dist"
command = "pnpm docs:build && pnpm docs:lunaria:build"
[[headers]]
for = "/assets/*"
[headers.values]
cache-control = '''
for = "/assets/*"
[headers.values]
cache-control = '''
max-age=31536000,
immutable'''
[[headers]]
for = "/_translations/*"
[headers.values]
x-robots-tag = "noindex"
for = "/_translations/*"
[headers.values]
x-robots-tag = "noindex"
[[redirects]]
from = "https://vitepress.vuejs.org/*"
to = "https://vitepress.dev/:splat"
force = true
from = "https://vitepress.vuejs.org/*"
to = "https://vitepress.dev/:splat"
force = true
[[redirects]]
from = "/guide/"
to = "/guide/getting-started"
from = "/guide/"
to = "/guide/getting-started"
[[redirects]]
from = "/llms.md"
status = 301
to = "/llms.txt"
from = "/llms.md"
status = 301
to = "/llms.txt"
[[redirects]]
from = "/llms-full.md"
status = 301
to = "/llms-full.txt"
from = "/llms-full.md"
status = 301
to = "/llms-full.txt"

@ -1,14 +1,16 @@
import { rm } from 'node:fs/promises'
import { builtinModules } from 'node:module'
import { fileURLToPath } from 'node:url'
import alias from '@rollup/plugin-alias'
import commonjs from '@rollup/plugin-commonjs'
import json from '@rollup/plugin-json'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import replace from '@rollup/plugin-replace'
import { rm } from 'node:fs/promises'
import { builtinModules } from 'node:module'
import { fileURLToPath } from 'node:url'
import { type RollupOptions, defineConfig } from 'rollup'
import dts from 'rollup-plugin-dts'
import esbuild from 'rollup-plugin-esbuild'
import pkg from './package.json' with { type: 'json' }
const DEV = !!process.env.DEV

@ -1,4 +1,5 @@
import { cp } from 'node:fs/promises'
import { globSync } from 'tinyglobby'
function toDest(file: string) {

@ -1,4 +1,5 @@
import { cp } from 'node:fs/promises'
import { globSync } from 'tinyglobby'
globSync(['src/shared/**/*.ts']).forEach(async (file) => {

@ -1,11 +1,13 @@
import { spawn } from 'cross-spawn'
import type { SpawnOptions } from 'node:child_process'
import { once } from 'node:events'
import fs from 'node:fs'
import { resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
import * as prompts from '@clack/prompts'
import { spawn } from 'cross-spawn'
import semver from 'semver'
import { version as currentVersion } from '../package.json' with { type: 'json' }
const { inc: _inc, valid } = semver

@ -1,5 +1,6 @@
import { watch } from 'chokidar'
import { cp, rm } from 'node:fs/promises'
import { watch } from 'chokidar'
import { normalizePath } from 'vite'
function toClientAndNode(method: 'copy' | 'remove', file: string) {

@ -1,5 +1,6 @@
import { useData, useRoute } from 'vitepress'
import { defineComponent, h, watch } from 'vue'
import { contentUpdatedCallbacks } from '../utils'
const runCbs = () => contentUpdatedCallbacks.forEach((fn) => fn())

@ -1,4 +1,5 @@
import { inBrowser } from 'vitepress'
import { isShell } from '../../shared'
const ignoredNodes = ['.vp-copy-ignore', '.diff.remove'].join(', ')

@ -1,4 +1,5 @@
import { watchEffect, type Ref } from 'vue'
import {
createTitle,
mergeHead,

@ -2,6 +2,7 @@
// https://github.com/GoogleChromeLabs/quicklink
import { onMounted, onUnmounted, watch } from 'vue'
import { useRoute } from '../router'
import { inBrowser, pathToFile } from '../utils'

@ -9,6 +9,7 @@ import {
type InjectionKey,
type Ref
} from 'vue'
import {
APPEARANCE_KEY,
createTitle,

@ -1,5 +1,6 @@
import { setupDevToolsPlugin } from '@vue/devtools-api'
import type { App } from 'vue'
import type { VitePressData } from './data'
import type { Router } from './router'

@ -8,6 +8,7 @@ import {
watchEffect,
type App
} from 'vue'
import { ClientOnly } from './components/ClientOnly'
import { Content } from './components/Content'
import { useCodeGroups } from './composables/codeGroups'

@ -1,5 +1,6 @@
import type { Component, InjectionKey } from 'vue'
import { inject, markRaw, nextTick, reactive, readonly } from 'vue'
import type { Awaitable, PageData, PageDataPayload, Route } from '../shared'
import { notFoundPageData, treatAsHtml } from '../shared'
import { siteDataRef } from './data'

@ -1,5 +1,6 @@
// entry for SSR
import { renderToString } from 'vue/server-renderer'
import type { SSGContext } from '../shared'
import { createApp } from './index'

@ -1,4 +1,5 @@
import type { App, Component, Ref } from 'vue'
import type { Awaitable, SiteData } from '../shared'
import type { Router } from './router'

@ -1,5 +1,6 @@
import { tryOnUnmounted } from '@vueuse/core'
import { h, onMounted, shallowRef, type AsyncComponentLoader } from 'vue'
import {
EXTERNAL_URL_RE,
inBrowser,

@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed, provide, useSlots } from 'vue'
import VPBackdrop from './components/VPBackdrop.vue'
import VPContent from './components/VPContent.vue'
import VPFooter from './components/VPFooter.vue'

@ -1,5 +1,6 @@
<script setup lang="ts">
import { withBase } from 'vitepress'
import { useData } from './composables/data'
import { useLangs } from './composables/langs'
@ -84,9 +85,7 @@ const { currentLang } = useLangs()
font-size: 0.875rem;
font-weight: 500;
color: var(--vp-c-brand-1);
transition:
border-color 0.25s,
color 0.25s;
transition: border-color 0.25s, color 0.25s;
}
.link:hover {

@ -4,6 +4,7 @@ import type { SidepanelInstance } from '@docsearch/sidepanel-js'
import { inBrowser, useRouter } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { nextTick, onUnmounted, watch } from 'vue'
import type { DocSearchAskAi } from '../../../../types/docsearch'
import { useData } from '../composables/data'
import {

@ -30,7 +30,7 @@ defineProps<{
}
.VPBackdrop.fade-leave-active {
transition-duration: .25s;
transition-duration: 0.25s;
}
@media (min-width: 80rem) {

@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { EXTERNAL_URL_RE } from '../../shared'
import { normalizeLink } from '../support/utils'
@ -9,8 +10,8 @@ interface Props {
theme?: 'brand' | 'alt' | 'sponsor'
text?: string
href?: string
target?: string;
rel?: string;
target?: string
rel?: string
}
const props = withDefaults(defineProps<Props>(), {
size: 'medium',

@ -22,7 +22,7 @@ function init() {
const params = new URLSearchParams({
serve: carbonOptions.code,
placement: carbonOptions.placement,
format: carbonOptions?.format || 'classic',
format: carbonOptions?.format || 'classic'
})
const s = document.createElement('script')
s.id = '_carbonads_js'

@ -1,8 +1,9 @@
<script setup lang="ts">
import { resolveDynamicComponent } from 'vue'
import NotFound from '../NotFound.vue'
import { useData } from '../composables/data'
import { useLayout } from '../composables/layout'
import NotFound from '../NotFound.vue'
import VPDoc from './VPDoc.vue'
import VPHome from './VPHome.vue'
import VPPage from './VPPage.vue'

@ -1,6 +1,7 @@
<script setup lang="ts">
import { useRoute } from 'vitepress'
import { computed } from 'vue'
import { useData } from '../composables/data'
import { useLayout } from '../composables/layout'
import VPDocAside from './VPDocAside.vue'
@ -22,7 +23,7 @@ const pageName = computed(() =>
>
<slot name="doc-top" />
<div class="container">
<div v-if="hasAside" class="aside" :class="{'left-aside': leftAside}">
<div v-if="hasAside" class="aside" :class="{ 'left-aside': leftAside }">
<div class="aside-curtain" />
<div class="aside-container">
<div class="aside-content">

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref } from 'vue'
import { useData } from '../composables/data'
import { useLayout } from '../composables/layout'
import { resolveTitle, useActiveAnchor } from '../composables/outline'
@ -66,10 +67,7 @@ useActiveAnchor(container, marker)
border-radius: 2px;
height: 1.125rem;
background-color: var(--vp-c-brand-1);
transition:
top 0.25s cubic-bezier(0, 1, 0.5, 1),
background-color 0.5s,
opacity 0.25s;
transition: top 0.25s cubic-bezier(0, 1, 0.5, 1), background-color 0.5s, opacity 0.25s;
}
.outline-title {

@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useData } from '../composables/data'
import { useEditLink } from '../composables/edit-link'
import { usePrevNext } from '../composables/prev-next'

@ -1,6 +1,13 @@
<script setup lang="ts">
import { useNavigatorLanguage } from '@vueuse/core'
import { computed, onMounted, shallowRef, useTemplateRef, watchEffect } from 'vue'
import {
computed,
onMounted,
shallowRef,
useTemplateRef,
watchEffect
} from 'vue'
import { useData } from '../composables/data'
const { theme, page, lang: pageLang } = useData()

@ -1,5 +1,6 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import VPImage from './VPImage.vue'
import VPLink from './VPLink.vue'

@ -1,6 +1,7 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import { computed } from 'vue'
import VPFeature from './VPFeature.vue'
export interface Feature {

@ -1,6 +1,7 @@
<script lang="ts" setup generic="T extends DefaultTheme.NavItem">
import type { DefaultTheme } from 'vitepress/theme'
import { ref } from 'vue'
import { useFlyout } from '../composables/flyout'
import VPMenu from './VPMenu.vue'

@ -7,10 +7,22 @@ const { hasSidebar } = useLayout()
</script>
<template>
<footer v-if="theme.footer && frontmatter.footer !== false" class="VPFooter" :class="{ 'has-sidebar': hasSidebar }">
<footer
v-if="theme.footer && frontmatter.footer !== false"
class="VPFooter"
:class="{ 'has-sidebar': hasSidebar }"
>
<div class="container">
<p v-if="theme.footer.message" class="message" v-html="theme.footer.message"></p>
<p v-if="theme.footer.copyright" class="copyright" v-html="theme.footer.copyright"></p>
<p
v-if="theme.footer.message"
class="message"
v-html="theme.footer.message"
></p>
<p
v-if="theme.footer.copyright"
class="copyright"
v-html="theme.footer.copyright"
></p>
</div>
</footer>
</template>

@ -1,6 +1,7 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import { computed, inject } from 'vue'
import { layoutInfoInjectionKey } from '../composables/layout'
import VPButton from './VPButton.vue'
import VPImage from './VPImage.vue'

@ -8,11 +8,10 @@ const { frontmatter, theme } = useData()
</script>
<template>
<div
class="VPHome"
:class="{
'external-link-icon-enabled': theme.externalLinkIcon
}">
<div
class="VPHome"
:class="{ 'external-link-icon-enabled': theme.externalLinkIcon }"
>
<slot name="home-hero-before" />
<VPHomeHero>
<template #home-hero-info-before><slot name="home-hero-info-before" /></template>

@ -1,6 +1,6 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import { withBase } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
defineProps<{
image: DefaultTheme.ThemeableImage

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { computed } from 'vue'
import { isLinkExternal, normalizeLink } from '../support/utils'
const props = withDefaults(defineProps<{
@ -10,7 +11,7 @@ const props = withDefaults(defineProps<{
target?: string
rel?: string
}>(), {
external: undefined,
external: undefined
})
const tag = computed(() => props.tag ?? (props.href ? 'a' : 'span'))

@ -1,6 +1,7 @@
<script lang="ts" setup>
import { useWindowScroll } from '@vueuse/core'
import { computed, onMounted, ref } from 'vue'
import { useData } from '../composables/data'
import { useLayout } from '../composables/layout'
import VPLocalNavOutlineDropdown from './VPLocalNavOutlineDropdown.vue'

@ -3,6 +3,7 @@ import { onKeyStroke } from '@vueuse/core'
import { onContentUpdated } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { nextTick, ref, watch } from 'vue'
import { useData } from '../composables/data'
import { resolveTitle } from '../composables/outline'
import { useBodyScrollLock } from '../composables/scroll-lock'

@ -25,6 +25,7 @@ import {
watchEffect,
type Ref
} from 'vue'
import type { LocalSearchTranslations } from '../../../../types/local-search'
import { pathToFile } from '../../app/utils'
import { escapeRegExp } from '../../shared'
@ -486,7 +487,7 @@ function onMouseMove(e: MouseEvent) {
<input
ref="searchInput"
v-model="filterText"
:aria-activedescendant="selectedIndex > -1 ? ('localsearch-item-' + selectedIndex) : undefined"
:aria-activedescendant="selectedIndex > -1 ? 'localsearch-item-' + selectedIndex : undefined"
aria-autocomplete="both"
:aria-controls="results?.length ? 'localsearch-list' : undefined"
aria-labelledby="localsearch-label"
@ -593,8 +594,7 @@ function onMouseMove(e: MouseEvent) {
v-if="filterText && !results.length && enableNoResults"
class="no-results"
>
{{ translate('modal.noResultsText') }} "<strong>{{ filterText }}</strong
>"
{{ translate('modal.noResultsText') }} "<strong>{{ filterText }}</strong>"
</li>
</ul>

@ -1,7 +1,8 @@
<script lang="ts" setup generic="T extends DefaultTheme.NavItem">
import type { DefaultTheme } from 'vitepress/theme'
import VPMenuLink from './VPMenuLink.vue'
import VPMenuGroup from './VPMenuGroup.vue'
import VPMenuLink from './VPMenuLink.vue'
defineProps<{
items?: T[]

@ -1,5 +1,15 @@
<script lang="ts" setup generic="T extends (DefaultTheme.NavItemComponent | DefaultTheme.NavItemChildren | DefaultTheme.NavItemWithLink)">
<script
lang="ts"
setup
generic="
T extends
| DefaultTheme.NavItemComponent
| DefaultTheme.NavItemChildren
| DefaultTheme.NavItemWithLink
"
>
import type { DefaultTheme } from 'vitepress/theme'
import VPMenuLink from './VPMenuLink.vue'
defineProps<{

@ -2,6 +2,7 @@
import { useRoute } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { computed } from 'vue'
import { isActive } from '../../shared'
import VPLink from './VPLink.vue'
@ -62,9 +63,7 @@ defineOptions({ inheritAttrs: false })
color: var(--vp-c-text-1);
text-align: left;
white-space: nowrap;
transition:
background-color 0.25s,
color 0.25s;
transition: background-color 0.25s, color 0.25s;
}
.link:hover {

@ -1,6 +1,7 @@
<script setup lang="ts">
import { inBrowser } from 'vitepress'
import { computed, provide, watchEffect } from 'vue'
import { useData } from '../composables/data'
import { navInjectionKey, useNav } from '../composables/nav'
import VPNavBar from './VPNavBar.vue'

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { useWindowScroll } from '@vueuse/core'
import { useLayout } from '../composables/layout'
import VPNavBarAppearance from './VPNavBarAppearance.vue'
import VPNavBarExtra from './VPNavBarExtra.vue'

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { computed } from 'vue'
import { useData } from '../composables/data'
import { useLangs } from '../composables/langs'
import VPFlyout from './VPFlyout.vue'

@ -60,7 +60,7 @@ defineEmits<{
.VPNavBarHamburger.active:hover .middle,
.VPNavBarHamburger.active:hover .bottom {
background-color: var(--vp-c-text-2);
transition: top .25s, background-color .25s, transform .25s;
transition: top 0.25s, background-color 0.25s, transform 0.25s;
}
.top,
@ -70,7 +70,7 @@ defineEmits<{
width: 1rem;
height: 0.125rem;
background-color: var(--vp-c-text-1);
transition: top .25s, background-color .5s, transform .25s;
transition: top 0.25s, background-color 0.5s, transform 0.25s;
}
.top { top: 0; left: 0; transform: translateX(0); }

@ -2,6 +2,7 @@
import { useRoute } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { computed } from 'vue'
import { isActive } from '../../shared'
import VPFlyout from './VPFlyout.vue'

@ -2,6 +2,7 @@
import { useRoute } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { computed } from 'vue'
import { isActive } from '../../shared'
import VPLink from './VPLink.vue'

@ -2,6 +2,7 @@
import { onKeyStroke } from '@vueuse/core'
import type { DefaultTheme } from 'vitepress/theme'
import { computed, defineAsyncComponent, onMounted, ref } from 'vue'
import { useData } from '../composables/data'
import { resolveMode, resolveOptionsForLanguage } from '../support/docsearch'
import { smartComputed } from '../support/reactivity'

@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import { useData } from '../composables/data'
import { useLangs } from '../composables/langs'
import { useLayout } from '../composables/layout'

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { computed, ref } from 'vue'
import VPNavScreenMenuGroupLink from './VPNavScreenMenuGroupLink.vue'
import VPNavScreenMenuGroupSection from './VPNavScreenMenuGroupSection.vue'

@ -2,6 +2,7 @@
import { useRoute } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { computed, inject } from 'vue'
import { isActive } from '../../shared'
import { navInjectionKey } from '../composables/nav'
import VPLink from './VPLink.vue'

@ -1,5 +1,6 @@
<script lang="ts" setup>
import type { DefaultTheme } from 'vitepress/theme'
import VPNavScreenMenuGroupLink from './VPNavScreenMenuGroupLink.vue'
defineProps<{

@ -2,6 +2,7 @@
import { useRoute } from 'vitepress'
import type { DefaultTheme } from 'vitepress/theme'
import { computed, inject } from 'vue'
import { isActive } from '../../shared'
import { navInjectionKey } from '../composables/nav'
import VPLink from './VPLink.vue'
@ -52,9 +53,7 @@ const { closeScreen } = inject(navInjectionKey)!
font-size: 0.875rem;
font-weight: 500;
color: var(--vp-c-text-1);
transition:
border-color 0.25s,
color 0.25s;
transition: border-color 0.25s, color 0.25s;
}
.VPNavScreenMenuLink:hover {

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref } from 'vue'
import { useLangs } from '../composables/langs'
import VPLink from './VPLink.vue'

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { ref, watch } from 'vue'
import { useLayout } from '../composables/layout'
import { useBodyScrollLock } from '../composables/scroll-lock'
import VPSidebarGroup from './VPSidebarGroup.vue'
@ -87,8 +88,7 @@ watch(
opacity: 1;
visibility: visible;
transform: translateX(0);
transition: opacity 0.25s,
transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
transition: opacity 0.25s, transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.dark .VPSidebar {

@ -1,6 +1,7 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import { onBeforeUnmount, onMounted, ref } from 'vue'
import VPSidebarItem from './VPSidebarItem.vue'
defineProps<{

@ -1,6 +1,7 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import { computed } from 'vue'
import { useSidebarItemControl } from '../composables/sidebar'
import VPLink from './VPLink.vue'
@ -212,7 +213,7 @@ function onItemClick() {
}
.VPSidebarItem.collapsed .caret-icon {
transform: rotate(0)/*rtl:rotate(180deg)*/;
transform: rotate(0) /*rtl:rotate(180deg)*/;
}
.VPSidebarItem.level-1 .items,

@ -1,6 +1,7 @@
<script lang="ts" setup>
import { useRoute } from 'vitepress'
import { ref, watch } from 'vue'
import { useData } from '../composables/data'
const { theme } = useData()

@ -1,6 +1,7 @@
<script lang="ts" setup>
import type { DefaultTheme } from 'vitepress/theme'
import { computed, nextTick, onMounted, ref, useSSRContext } from 'vue'
import { isExternal, type SSGContext } from '../../shared'
const props = defineProps<{

@ -1,5 +1,6 @@
<script lang="ts" setup>
import type { DefaultTheme } from 'vitepress/theme'
import VPSocialLink from './VPSocialLink.vue'
withDefaults(defineProps<{
@ -13,13 +14,7 @@ withDefaults(defineProps<{
<template>
<ul class="VPSocialLinks">
<li v-for="{ link, icon, ariaLabel, target } in links" :key="link">
<VPSocialLink
:icon
:link
:ariaLabel
:target
:me
/>
<VPSocialLink :icon :link :ariaLabel :target :me />
</li>
</ul>
</template>

@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue'
import type { GridSize } from '../composables/sponsor-grid'
import type { Sponsor } from './VPSponsorsGrid.vue'
import VPSponsorsGrid from './VPSponsorsGrid.vue'

@ -1,5 +1,6 @@
<script setup lang="ts">
import { ref } from 'vue'
import type { GridSize } from '../composables/sponsor-grid'
import { useSponsorsGrid } from '../composables/sponsor-grid'

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { inject, ref, watchPostEffect } from 'vue'
import { useData } from '../composables/data'
import VPSwitch from './VPSwitch.vue'

@ -1,6 +1,7 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import { computed } from 'vue'
import VPTeamMembersItem from './VPTeamMembersItem.vue'
interface Props {

@ -1,5 +1,6 @@
<script setup lang="ts">
import type { DefaultTheme } from 'vitepress/theme'
import VPLink from './VPLink.vue'
import VPSocialLinks from './VPSocialLinks.vue'

@ -1,8 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M21,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,11,21,11z" />
<path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z" />
<path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z" />
<path d="M21,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,19,21,19z" />
</svg>
</template>

@ -1,8 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z" />
<path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z" />
<path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z" />
<path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z" />
</svg>
</template>

@ -1,8 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M21,11H7c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S21.6,11,21,11z" />
<path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z" />
<path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z" />
<path d="M21,19H7c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S21.6,19,21,19z" />
</svg>
</template>

@ -1,7 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path
d="M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"
/>
</svg>
</template>

@ -1,7 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path
d="M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"
/>
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z" />
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M15,19c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4l6-6c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4L10.4,12l5.3,5.3c0.4,0.4,0.4,1,0,1.4C15.5,18.9,15.3,19,15,19z" />
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z" />
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M18,16c-0.3,0-0.5-0.1-0.7-0.3L12,10.4l-5.3,5.3c-0.4,0.4-1,0.4-1.4,0s-0.4-1,0-1.4l6-6c0.4-0.4,1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4C18.5,15.9,18.3,16,18,16z" />
</svg>
</template>

@ -1,6 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z" />
<path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z" />
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M12,22.2c-0.3,0-0.5-0.1-0.7-0.3l-8.8-8.8c-2.5-2.5-2.5-6.7,0-9.2c2.5-2.5,6.7-2.5,9.2,0L12,4.3l0.4-0.4c0,0,0,0,0,0C13.6,2.7,15.2,2,16.9,2c0,0,0,0,0,0c1.7,0,3.4,0.7,4.6,1.9l0,0c1.2,1.2,1.9,2.9,1.9,4.6c0,1.7-0.7,3.4-1.9,4.6l-8.8,8.8C12.5,22.1,12.3,22.2,12,22.2zM7,4C5.9,4,4.7,4.4,3.9,5.3c-1.8,1.8-1.8,4.6,0,6.4l8.1,8.1l8.1-8.1c0.9-0.9,1.3-2,1.3-3.2c0-1.2-0.5-2.3-1.3-3.2l0,0C19.3,4.5,18.2,4,17,4c0,0,0,0,0,0c-1.2,0-2.3,0.5-3.2,1.3c0,0,0,0,0,0l-1.1,1.1c-0.4,0.4-1,0.4-1.4,0l-1.1-1.1C9.4,4.4,8.2,4,7,4z" />
</svg>
</template>

@ -1,9 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M0 0h24v24H0z" fill="none"></path>
<path
d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z "
class="css-c4d79v"
></path>
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M22,13H2a1,1,0,0,1,0-2H22a1,1,0,0,1,0,2Z" />
</svg>
</template>

@ -1,6 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
<path d="M19,2H5C3.3,2,2,3.3,2,5v14c0,1.7,1.3,3,3,3h14c1.7,0,3-1.3,3-3V5C22,3.3,20.7,2,19,2zM20,19c0,0.6-0.4,1-1,1H5c-0.6,0-1-0.4-1-1V5c0-0.6,0.4-1,1-1h14c0.6,0,1,0.4,1,1V19z" />
<path d="M16,11H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h8c0.6,0,1-0.4,1-1S16.6,11,16,11z" />
</svg>
</template>

@ -1,5 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z" />
</svg>
</template>

@ -1,7 +0,0 @@
<template>
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24">
<circle cx="12" cy="12" r="2" />
<circle cx="19" cy="12" r="2" />
<circle cx="5" cy="12" r="2" />
</svg>
</template>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save