chore: tuned properties of "consolidated" index to be more inline with current search
@@ -54,8 +54,5 @@
|
||||
"devDependencies": {
|
||||
"changeset": "^0.2.6",
|
||||
"npm-run-all": "^4.1.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"markdown-it-collapsible": "^1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
"vite-plugin-vue-layouts": "^0.5.0",
|
||||
"vite-plugin-windicss": "^1.6.3",
|
||||
"vite-ssg": "^0.17.9",
|
||||
"vitest": "^0.2.5",
|
||||
"vitest": "^0.2.6",
|
||||
"vue-tsc": "^0.31.1"
|
||||
}
|
||||
}
|
||||
|
||||
7843
packages/docs/pnpm-lock.yaml
generated
@@ -1,9 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
||||
<style>
|
||||
path { fill: #222; }
|
||||
@media (prefers-color-scheme: dark) {
|
||||
path { fill: #ffffff; }
|
||||
}
|
||||
</style>
|
||||
<path d="M27.562 26L17.17 8.928l2.366-3.888L17.828 4L16 7.005L14.17 4l-1.708 1.04l2.366 3.888L4.438 26H2v2h28v-2zM16 10.85L25.22 26H17v-8h-2v8H6.78z" />
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="512pt" height="512pt" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#d2d2d2" fill-rule="evenodd">
|
||||
<path d="m218.54 363.93c80.301 0 145.39-65.094 145.39-145.39 0-80.297-65.094-145.39-145.39-145.39-80.297 0-145.39 65.094-145.39 145.39 0 80.301 65.094 145.39 145.39 145.39zm0 36.57c100.5 0 181.96-81.469 181.96-181.96s-81.469-181.96-181.96-181.96-181.96 81.469-181.96 181.96 81.469 181.96 181.96 181.96z"/>
|
||||
<path d="m218.54 147.12c-39.441 0-71.414 31.973-71.414 71.414 0 10.102-8.1875 18.289-18.285 18.289-10.098 0-18.285-8.1875-18.285-18.289 0-59.637 48.348-107.98 107.98-107.98 10.102 0 18.289 8.1875 18.289 18.285 0 10.098-8.1875 18.285-18.289 18.285z"/>
|
||||
<path d="m321.08 321.08c7.1406-7.1406 18.719-7.1406 25.859 0l123.13 123.13c7.1445 7.1445 7.1445 18.723 0 25.863-7.1367 7.1406-18.715 7.1406-25.859 0l-123.13-123.13c-7.1406-7.1445-7.1406-18.723 0-25.863z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 967 B |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,41 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M2916 6015 c-93 -57 -173 -108 -178 -113 -6 -6 7 -36 33 -78 23 -38
|
||||
86 -141 139 -229 54 -88 135 -221 180 -295 46 -74 94 -155 108 -180 14 -25 29
|
||||
-52 35 -60 7 -12 -9 -45 -62 -130 -39 -63 -85 -140 -103 -170 -18 -30 -117
|
||||
-194 -222 -365 -104 -170 -199 -326 -210 -346 -12 -19 -61 -102 -111 -183 -49
|
||||
-81 -101 -166 -115 -189 -14 -23 -39 -64 -55 -90 -17 -27 -77 -126 -134 -220
|
||||
-57 -95 -127 -210 -156 -257 -194 -315 -325 -533 -325 -541 0 -5 -4 -9 -10 -9
|
||||
-5 0 -10 -4 -10 -9 0 -5 -55 -98 -121 -207 -247 -404 -403 -660 -416 -684 -8
|
||||
-14 -58 -97 -112 -185 l-98 -160 -189 -2 c-104 -1 -225 -2 -269 -2 l-80 -1 1
|
||||
-210 c0 -116 4 -213 8 -218 11 -11 6107 -9 6114 2 8 13 8 406 0 419 -4 7 -88
|
||||
10 -265 9 l-259 -2 -50 77 c-27 43 -54 87 -60 98 -6 11 -62 103 -124 205 -62
|
||||
102 -120 197 -129 212 -9 16 -85 142 -170 280 -85 139 -160 262 -165 273 -6
|
||||
11 -13 22 -16 25 -3 3 -30 46 -59 95 -30 50 -102 169 -161 265 -59 96 -240
|
||||
393 -402 660 -163 267 -371 609 -463 760 -92 151 -194 318 -225 370 -31 52
|
||||
-101 167 -155 255 l-97 160 27 50 c16 27 32 55 36 61 5 5 38 59 74 120 36 60
|
||||
69 116 74 124 5 8 75 122 155 253 81 131 144 242 141 247 -4 7 -114 76 -183
|
||||
115 -10 6 -52 32 -95 58 -42 27 -81 46 -87 42 -8 -5 -94 -140 -140 -219 -19
|
||||
-33 -221 -365 -246 -404 -15 -22 -18 -18 -111 135 -52 87 -123 203 -157 258
|
||||
-67 108 -67 110 -111 184 -16 28 -34 51 -40 50 -5 0 -86 -47 -179 -104z m739
|
||||
-1642 c319 -526 519 -854 637 -1046 43 -70 78 -130 78 -133 0 -2 5 -10 10 -17
|
||||
6 -7 69 -109 140 -227 72 -118 134 -222 139 -230 5 -8 55 -89 111 -180 56 -91
|
||||
105 -172 110 -180 9 -14 52 -84 270 -445 54 -88 135 -221 180 -295 46 -74 91
|
||||
-148 100 -165 9 -16 31 -53 48 -81 18 -28 32 -54 32 -57 0 -3 -403 -6 -895 -5
|
||||
l-895 0 0 81 c-1 45 -1 439 -1 875 l0 792 -37 1 c-57 1 -344 1 -374 0 l-27 -1
|
||||
0 -832 c0 -458 0 -852 0 -875 l-1 -42 -895 1 c-492 0 -895 3 -895 5 0 9 115
|
||||
198 122 201 5 2 8 7 8 12 0 5 23 46 51 92 28 46 78 128 112 183 33 55 70 116
|
||||
82 135 12 19 132 215 265 435 133 220 266 438 295 485 65 105 206 338 220 362
|
||||
6 10 172 284 370 608 198 325 387 635 420 690 33 55 62 100 65 100 3 0 73
|
||||
-111 155 -247z"/>
|
||||
</g>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="512pt" height="512pt" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#d2d2d2" fill-rule="evenodd">
|
||||
<path d="m218.54 363.93c80.301 0 145.39-65.094 145.39-145.39 0-80.297-65.094-145.39-145.39-145.39-80.297 0-145.39 65.094-145.39 145.39 0 80.301 65.094 145.39 145.39 145.39zm0 36.57c100.5 0 181.96-81.469 181.96-181.96s-81.469-181.96-181.96-181.96-181.96 81.469-181.96 181.96 81.469 181.96 181.96 181.96z"/>
|
||||
<path d="m218.54 147.12c-39.441 0-71.414 31.973-71.414 71.414 0 10.102-8.1875 18.289-18.285 18.289-10.098 0-18.285-8.1875-18.285-18.289 0-59.637 48.348-107.98 107.98-107.98 10.102 0 18.289 8.1875 18.289 18.285 0 10.098-8.1875 18.285-18.289 18.285z"/>
|
||||
<path d="m321.08 321.08c7.1406-7.1406 18.719-7.1406 25.859 0l123.13 123.13c7.1445 7.1445 7.1445 18.723 0 25.863-7.1367 7.1406-18.715 7.1406-25.859 0l-123.13-123.13c-7.1406-7.1445-7.1406-18.723 0-25.863z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 967 B |
438
packages/docs/src/auto-imports.d.ts
vendored
@@ -1,223 +1,223 @@
|
||||
// Generated by 'unplugin-auto-import'
|
||||
// We suggest you to commit this file into source control
|
||||
declare global {
|
||||
const afterAll: typeof import('vitest')['afterAll']
|
||||
const afterEach: typeof import('vitest')['afterEach']
|
||||
const assert: typeof import('vitest')['assert']
|
||||
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
|
||||
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
|
||||
const beforeAll: typeof import('vitest')['beforeAll']
|
||||
const beforeEach: typeof import('vitest')['beforeEach']
|
||||
const biSyncRef: typeof import('@vueuse/core')['biSyncRef']
|
||||
const chai: typeof import('vitest')['chai']
|
||||
const computed: typeof import('vue')['computed']
|
||||
const computedInject: typeof import('@vueuse/core')['computedInject']
|
||||
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
|
||||
const controlledRef: typeof import('@vueuse/core')['controlledRef']
|
||||
const createApp: typeof import('vue')['createApp']
|
||||
const createEventHook: typeof import('@vueuse/core')['createEventHook']
|
||||
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
|
||||
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
|
||||
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
|
||||
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
|
||||
const customRef: typeof import('vue')['customRef']
|
||||
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
|
||||
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
|
||||
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||
const defineComponent: typeof import('vue')['defineComponent']
|
||||
const describe: typeof import('vitest')['describe']
|
||||
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
|
||||
const effectScope: typeof import('vue')['effectScope']
|
||||
const EffectScope: typeof import('vue')['EffectScope']
|
||||
const expect: typeof import('vitest')['expect']
|
||||
const extendRef: typeof import('@vueuse/core')['extendRef']
|
||||
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||
const h: typeof import('vue')['h']
|
||||
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
|
||||
const inject: typeof import('vue')['inject']
|
||||
const isDefined: typeof import('@vueuse/core')['isDefined']
|
||||
const isReadonly: typeof import('vue')['isReadonly']
|
||||
const isRef: typeof import('vue')['isRef']
|
||||
const it: typeof import('vitest')['it']
|
||||
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
||||
const markRaw: typeof import('vue')['markRaw']
|
||||
const nextTick: typeof import('vue')['nextTick']
|
||||
const onActivated: typeof import('vue')['onActivated']
|
||||
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
|
||||
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
|
||||
const onMounted: typeof import('vue')['onMounted']
|
||||
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
|
||||
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||
const onUpdated: typeof import('vue')['onUpdated']
|
||||
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
|
||||
const provide: typeof import('vue')['provide']
|
||||
const reactify: typeof import('@vueuse/core')['reactify']
|
||||
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
|
||||
const reactive: typeof import('vue')['reactive']
|
||||
const reactivePick: typeof import('@vueuse/core')['reactivePick']
|
||||
const readonly: typeof import('vue')['readonly']
|
||||
const ref: typeof import('vue')['ref']
|
||||
const refDefault: typeof import('@vueuse/core')['refDefault']
|
||||
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||
const shallowRef: typeof import('vue')['shallowRef']
|
||||
const suite: typeof import('vitest')['suite']
|
||||
const syncRef: typeof import('@vueuse/core')['syncRef']
|
||||
const templateRef: typeof import('@vueuse/core')['templateRef']
|
||||
const test: typeof import('vitest')['test']
|
||||
const throttledRef: typeof import('@vueuse/core')['throttledRef']
|
||||
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
|
||||
const toRaw: typeof import('vue')['toRaw']
|
||||
const toReactive: typeof import('@vueuse/core')['toReactive']
|
||||
const toRef: typeof import('vue')['toRef']
|
||||
const toRefs: typeof import('vue')['toRefs']
|
||||
const triggerRef: typeof import('vue')['triggerRef']
|
||||
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
|
||||
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
|
||||
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
|
||||
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
|
||||
const unref: typeof import('vue')['unref']
|
||||
const unrefElement: typeof import('@vueuse/core')['unrefElement']
|
||||
const until: typeof import('@vueuse/core')['until']
|
||||
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
|
||||
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
||||
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
||||
const useAttrs: typeof import('vue')['useAttrs']
|
||||
const useBase64: typeof import('@vueuse/core')['useBase64']
|
||||
const useBattery: typeof import('@vueuse/core')['useBattery']
|
||||
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
|
||||
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
|
||||
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
|
||||
const useClamp: typeof import('@vueuse/core')['useClamp']
|
||||
const useClipboard: typeof import('@vueuse/core')['useClipboard']
|
||||
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
||||
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
|
||||
const useCounter: typeof import('@vueuse/core')['useCounter']
|
||||
const useCssModule: typeof import('vue')['useCssModule']
|
||||
const useCssVar: typeof import('@vueuse/core')['useCssVar']
|
||||
const useCssVars: typeof import('vue')['useCssVars']
|
||||
const useCycleList: typeof import('@vueuse/core')['useCycleList']
|
||||
const useDark: typeof import('@vueuse/core')['useDark']
|
||||
const useDebounce: typeof import('@vueuse/core')['useDebounce']
|
||||
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
|
||||
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
|
||||
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
|
||||
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
|
||||
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
|
||||
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
|
||||
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
|
||||
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
|
||||
const useDraggable: typeof import('@vueuse/core')['useDraggable']
|
||||
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
|
||||
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
|
||||
const useElementHover: typeof import('@vueuse/core')['useElementHover']
|
||||
const useElementSize: typeof import('@vueuse/core')['useElementSize']
|
||||
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
|
||||
const useEventBus: typeof import('@vueuse/core')['useEventBus']
|
||||
const useEventListener: typeof import('@vueuse/core')['useEventListener']
|
||||
const useEventSource: typeof import('@vueuse/core')['useEventSource']
|
||||
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
|
||||
const useFavicon: typeof import('@vueuse/core')['useFavicon']
|
||||
const useFetch: typeof import('@vueuse/core')['useFetch']
|
||||
const useFocus: typeof import('@vueuse/core')['useFocus']
|
||||
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
|
||||
const useFps: typeof import('@vueuse/core')['useFps']
|
||||
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
|
||||
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
|
||||
const useHead: typeof import('@vueuse/head')['useHead']
|
||||
const useI18n: typeof import('vue-i18n')['useI18n']
|
||||
const useIdle: typeof import('@vueuse/core')['useIdle']
|
||||
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
|
||||
const useInterval: typeof import('@vueuse/core')['useInterval']
|
||||
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
|
||||
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
|
||||
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
|
||||
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
|
||||
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
|
||||
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
|
||||
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
|
||||
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
|
||||
const useMemoize: typeof import('@vueuse/core')['useMemoize']
|
||||
const useMemory: typeof import('@vueuse/core')['useMemory']
|
||||
const useMounted: typeof import('@vueuse/core')['useMounted']
|
||||
const useMouse: typeof import('@vueuse/core')['useMouse']
|
||||
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
|
||||
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
|
||||
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
|
||||
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
|
||||
const useNetwork: typeof import('@vueuse/core')['useNetwork']
|
||||
const useNow: typeof import('@vueuse/core')['useNow']
|
||||
const useOnline: typeof import('@vueuse/core')['useOnline']
|
||||
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
|
||||
const useParallax: typeof import('@vueuse/core')['useParallax']
|
||||
const usePermission: typeof import('@vueuse/core')['usePermission']
|
||||
const usePointer: typeof import('@vueuse/core')['usePointer']
|
||||
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
||||
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
||||
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
|
||||
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
|
||||
const useRafFn: typeof import('@vueuse/core')['useRafFn']
|
||||
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
|
||||
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
|
||||
const useRoute: typeof import('vue-router')['useRoute']
|
||||
const useRouter: typeof import('vue-router')['useRouter']
|
||||
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
|
||||
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
|
||||
const useScroll: typeof import('@vueuse/core')['useScroll']
|
||||
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
|
||||
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
|
||||
const useShare: typeof import('@vueuse/core')['useShare']
|
||||
const useSlots: typeof import('vue')['useSlots']
|
||||
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
|
||||
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
|
||||
const useStorage: typeof import('@vueuse/core')['useStorage']
|
||||
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
|
||||
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
|
||||
const useSwipe: typeof import('@vueuse/core')['useSwipe']
|
||||
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
|
||||
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
|
||||
const useThrottle: typeof import('@vueuse/core')['useThrottle']
|
||||
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
|
||||
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
|
||||
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
|
||||
const useTimeout: typeof import('@vueuse/core')['useTimeout']
|
||||
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
|
||||
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
|
||||
const useTitle: typeof import('@vueuse/core')['useTitle']
|
||||
const useToggle: typeof import('@vueuse/core')['useToggle']
|
||||
const useTransition: typeof import('@vueuse/core')['useTransition']
|
||||
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
||||
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
||||
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
||||
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
|
||||
const useVModel: typeof import('@vueuse/core')['useVModel']
|
||||
const useVModels: typeof import('@vueuse/core')['useVModels']
|
||||
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
|
||||
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
|
||||
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
|
||||
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
|
||||
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
|
||||
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
|
||||
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
|
||||
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
|
||||
const vi: typeof import('vitest')['vi']
|
||||
const vitest: typeof import('vitest')['vitest']
|
||||
const watch: typeof import('vue')['watch']
|
||||
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
|
||||
const watchEffect: typeof import('vue')['watchEffect']
|
||||
const watchOnce: typeof import('@vueuse/core')['watchOnce']
|
||||
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
|
||||
const whenever: typeof import('@vueuse/core')['whenever']
|
||||
const afterAll: typeof import("vitest")["afterAll"];
|
||||
const afterEach: typeof import("vitest")["afterEach"];
|
||||
const assert: typeof import("vitest")["assert"];
|
||||
const asyncComputed: typeof import("@vueuse/core")["asyncComputed"];
|
||||
const autoResetRef: typeof import("@vueuse/core")["autoResetRef"];
|
||||
const beforeAll: typeof import("vitest")["beforeAll"];
|
||||
const beforeEach: typeof import("vitest")["beforeEach"];
|
||||
const biSyncRef: typeof import("@vueuse/core")["biSyncRef"];
|
||||
const chai: typeof import("vitest")["chai"];
|
||||
const computed: typeof import("vue")["computed"];
|
||||
const computedInject: typeof import("@vueuse/core")["computedInject"];
|
||||
const controlledComputed: typeof import("@vueuse/core")["controlledComputed"];
|
||||
const controlledRef: typeof import("@vueuse/core")["controlledRef"];
|
||||
const createApp: typeof import("vue")["createApp"];
|
||||
const createEventHook: typeof import("@vueuse/core")["createEventHook"];
|
||||
const createGlobalState: typeof import("@vueuse/core")["createGlobalState"];
|
||||
const createReactiveFn: typeof import("@vueuse/core")["createReactiveFn"];
|
||||
const createSharedComposable: typeof import("@vueuse/core")["createSharedComposable"];
|
||||
const createUnrefFn: typeof import("@vueuse/core")["createUnrefFn"];
|
||||
const customRef: typeof import("vue")["customRef"];
|
||||
const debouncedRef: typeof import("@vueuse/core")["debouncedRef"];
|
||||
const debouncedWatch: typeof import("@vueuse/core")["debouncedWatch"];
|
||||
const defineAsyncComponent: typeof import("vue")["defineAsyncComponent"];
|
||||
const defineComponent: typeof import("vue")["defineComponent"];
|
||||
const describe: typeof import("vitest")["describe"];
|
||||
const eagerComputed: typeof import("@vueuse/core")["eagerComputed"];
|
||||
const effectScope: typeof import("vue")["effectScope"];
|
||||
const EffectScope: typeof import("vue")["EffectScope"];
|
||||
const expect: typeof import("vitest")["expect"];
|
||||
const extendRef: typeof import("@vueuse/core")["extendRef"];
|
||||
const getCurrentInstance: typeof import("vue")["getCurrentInstance"];
|
||||
const getCurrentScope: typeof import("vue")["getCurrentScope"];
|
||||
const h: typeof import("vue")["h"];
|
||||
const ignorableWatch: typeof import("@vueuse/core")["ignorableWatch"];
|
||||
const inject: typeof import("vue")["inject"];
|
||||
const isDefined: typeof import("@vueuse/core")["isDefined"];
|
||||
const isReadonly: typeof import("vue")["isReadonly"];
|
||||
const isRef: typeof import("vue")["isRef"];
|
||||
const it: typeof import("vitest")["it"];
|
||||
const makeDestructurable: typeof import("@vueuse/core")["makeDestructurable"];
|
||||
const markRaw: typeof import("vue")["markRaw"];
|
||||
const nextTick: typeof import("vue")["nextTick"];
|
||||
const onActivated: typeof import("vue")["onActivated"];
|
||||
const onBeforeMount: typeof import("vue")["onBeforeMount"];
|
||||
const onBeforeUnmount: typeof import("vue")["onBeforeUnmount"];
|
||||
const onBeforeUpdate: typeof import("vue")["onBeforeUpdate"];
|
||||
const onClickOutside: typeof import("@vueuse/core")["onClickOutside"];
|
||||
const onDeactivated: typeof import("vue")["onDeactivated"];
|
||||
const onErrorCaptured: typeof import("vue")["onErrorCaptured"];
|
||||
const onKeyStroke: typeof import("@vueuse/core")["onKeyStroke"];
|
||||
const onMounted: typeof import("vue")["onMounted"];
|
||||
const onRenderTracked: typeof import("vue")["onRenderTracked"];
|
||||
const onRenderTriggered: typeof import("vue")["onRenderTriggered"];
|
||||
const onScopeDispose: typeof import("vue")["onScopeDispose"];
|
||||
const onServerPrefetch: typeof import("vue")["onServerPrefetch"];
|
||||
const onStartTyping: typeof import("@vueuse/core")["onStartTyping"];
|
||||
const onUnmounted: typeof import("vue")["onUnmounted"];
|
||||
const onUpdated: typeof import("vue")["onUpdated"];
|
||||
const pausableWatch: typeof import("@vueuse/core")["pausableWatch"];
|
||||
const provide: typeof import("vue")["provide"];
|
||||
const reactify: typeof import("@vueuse/core")["reactify"];
|
||||
const reactifyObject: typeof import("@vueuse/core")["reactifyObject"];
|
||||
const reactive: typeof import("vue")["reactive"];
|
||||
const reactivePick: typeof import("@vueuse/core")["reactivePick"];
|
||||
const readonly: typeof import("vue")["readonly"];
|
||||
const ref: typeof import("vue")["ref"];
|
||||
const refDefault: typeof import("@vueuse/core")["refDefault"];
|
||||
const resolveComponent: typeof import("vue")["resolveComponent"];
|
||||
const shallowReactive: typeof import("vue")["shallowReactive"];
|
||||
const shallowReadonly: typeof import("vue")["shallowReadonly"];
|
||||
const shallowRef: typeof import("vue")["shallowRef"];
|
||||
const suite: typeof import("vitest")["suite"];
|
||||
const syncRef: typeof import("@vueuse/core")["syncRef"];
|
||||
const templateRef: typeof import("@vueuse/core")["templateRef"];
|
||||
const test: typeof import("vitest")["test"];
|
||||
const throttledRef: typeof import("@vueuse/core")["throttledRef"];
|
||||
const throttledWatch: typeof import("@vueuse/core")["throttledWatch"];
|
||||
const toRaw: typeof import("vue")["toRaw"];
|
||||
const toReactive: typeof import("@vueuse/core")["toReactive"];
|
||||
const toRef: typeof import("vue")["toRef"];
|
||||
const toRefs: typeof import("vue")["toRefs"];
|
||||
const triggerRef: typeof import("vue")["triggerRef"];
|
||||
const tryOnBeforeUnmount: typeof import("@vueuse/core")["tryOnBeforeUnmount"];
|
||||
const tryOnMounted: typeof import("@vueuse/core")["tryOnMounted"];
|
||||
const tryOnScopeDispose: typeof import("@vueuse/core")["tryOnScopeDispose"];
|
||||
const tryOnUnmounted: typeof import("@vueuse/core")["tryOnUnmounted"];
|
||||
const unref: typeof import("vue")["unref"];
|
||||
const unrefElement: typeof import("@vueuse/core")["unrefElement"];
|
||||
const until: typeof import("@vueuse/core")["until"];
|
||||
const useActiveElement: typeof import("@vueuse/core")["useActiveElement"];
|
||||
const useAsyncQueue: typeof import("@vueuse/core")["useAsyncQueue"];
|
||||
const useAsyncState: typeof import("@vueuse/core")["useAsyncState"];
|
||||
const useAttrs: typeof import("vue")["useAttrs"];
|
||||
const useBase64: typeof import("@vueuse/core")["useBase64"];
|
||||
const useBattery: typeof import("@vueuse/core")["useBattery"];
|
||||
const useBreakpoints: typeof import("@vueuse/core")["useBreakpoints"];
|
||||
const useBroadcastChannel: typeof import("@vueuse/core")["useBroadcastChannel"];
|
||||
const useBrowserLocation: typeof import("@vueuse/core")["useBrowserLocation"];
|
||||
const useClamp: typeof import("@vueuse/core")["useClamp"];
|
||||
const useClipboard: typeof import("@vueuse/core")["useClipboard"];
|
||||
const useColorMode: typeof import("@vueuse/core")["useColorMode"];
|
||||
const useConfirmDialog: typeof import("@vueuse/core")["useConfirmDialog"];
|
||||
const useCounter: typeof import("@vueuse/core")["useCounter"];
|
||||
const useCssModule: typeof import("vue")["useCssModule"];
|
||||
const useCssVar: typeof import("@vueuse/core")["useCssVar"];
|
||||
const useCssVars: typeof import("vue")["useCssVars"];
|
||||
const useCycleList: typeof import("@vueuse/core")["useCycleList"];
|
||||
const useDark: typeof import("@vueuse/core")["useDark"];
|
||||
const useDebounce: typeof import("@vueuse/core")["useDebounce"];
|
||||
const useDebouncedRefHistory: typeof import("@vueuse/core")["useDebouncedRefHistory"];
|
||||
const useDebounceFn: typeof import("@vueuse/core")["useDebounceFn"];
|
||||
const useDeviceMotion: typeof import("@vueuse/core")["useDeviceMotion"];
|
||||
const useDeviceOrientation: typeof import("@vueuse/core")["useDeviceOrientation"];
|
||||
const useDevicePixelRatio: typeof import("@vueuse/core")["useDevicePixelRatio"];
|
||||
const useDevicesList: typeof import("@vueuse/core")["useDevicesList"];
|
||||
const useDisplayMedia: typeof import("@vueuse/core")["useDisplayMedia"];
|
||||
const useDocumentVisibility: typeof import("@vueuse/core")["useDocumentVisibility"];
|
||||
const useDraggable: typeof import("@vueuse/core")["useDraggable"];
|
||||
const useElementBounding: typeof import("@vueuse/core")["useElementBounding"];
|
||||
const useElementByPoint: typeof import("@vueuse/core")["useElementByPoint"];
|
||||
const useElementHover: typeof import("@vueuse/core")["useElementHover"];
|
||||
const useElementSize: typeof import("@vueuse/core")["useElementSize"];
|
||||
const useElementVisibility: typeof import("@vueuse/core")["useElementVisibility"];
|
||||
const useEventBus: typeof import("@vueuse/core")["useEventBus"];
|
||||
const useEventListener: typeof import("@vueuse/core")["useEventListener"];
|
||||
const useEventSource: typeof import("@vueuse/core")["useEventSource"];
|
||||
const useEyeDropper: typeof import("@vueuse/core")["useEyeDropper"];
|
||||
const useFavicon: typeof import("@vueuse/core")["useFavicon"];
|
||||
const useFetch: typeof import("@vueuse/core")["useFetch"];
|
||||
const useFocus: typeof import("@vueuse/core")["useFocus"];
|
||||
const useFocusWithin: typeof import("@vueuse/core")["useFocusWithin"];
|
||||
const useFps: typeof import("@vueuse/core")["useFps"];
|
||||
const useFullscreen: typeof import("@vueuse/core")["useFullscreen"];
|
||||
const useGeolocation: typeof import("@vueuse/core")["useGeolocation"];
|
||||
const useHead: typeof import("@vueuse/head")["useHead"];
|
||||
const useI18n: typeof import("vue-i18n")["useI18n"];
|
||||
const useIdle: typeof import("@vueuse/core")["useIdle"];
|
||||
const useIntersectionObserver: typeof import("@vueuse/core")["useIntersectionObserver"];
|
||||
const useInterval: typeof import("@vueuse/core")["useInterval"];
|
||||
const useIntervalFn: typeof import("@vueuse/core")["useIntervalFn"];
|
||||
const useKeyModifier: typeof import("@vueuse/core")["useKeyModifier"];
|
||||
const useLastChanged: typeof import("@vueuse/core")["useLastChanged"];
|
||||
const useLocalStorage: typeof import("@vueuse/core")["useLocalStorage"];
|
||||
const useMagicKeys: typeof import("@vueuse/core")["useMagicKeys"];
|
||||
const useManualRefHistory: typeof import("@vueuse/core")["useManualRefHistory"];
|
||||
const useMediaControls: typeof import("@vueuse/core")["useMediaControls"];
|
||||
const useMediaQuery: typeof import("@vueuse/core")["useMediaQuery"];
|
||||
const useMemoize: typeof import("@vueuse/core")["useMemoize"];
|
||||
const useMemory: typeof import("@vueuse/core")["useMemory"];
|
||||
const useMounted: typeof import("@vueuse/core")["useMounted"];
|
||||
const useMouse: typeof import("@vueuse/core")["useMouse"];
|
||||
const useMouseInElement: typeof import("@vueuse/core")["useMouseInElement"];
|
||||
const useMousePressed: typeof import("@vueuse/core")["useMousePressed"];
|
||||
const useMutationObserver: typeof import("@vueuse/core")["useMutationObserver"];
|
||||
const useNavigatorLanguage: typeof import("@vueuse/core")["useNavigatorLanguage"];
|
||||
const useNetwork: typeof import("@vueuse/core")["useNetwork"];
|
||||
const useNow: typeof import("@vueuse/core")["useNow"];
|
||||
const useOnline: typeof import("@vueuse/core")["useOnline"];
|
||||
const usePageLeave: typeof import("@vueuse/core")["usePageLeave"];
|
||||
const useParallax: typeof import("@vueuse/core")["useParallax"];
|
||||
const usePermission: typeof import("@vueuse/core")["usePermission"];
|
||||
const usePointer: typeof import("@vueuse/core")["usePointer"];
|
||||
const usePointerSwipe: typeof import("@vueuse/core")["usePointerSwipe"];
|
||||
const usePreferredColorScheme: typeof import("@vueuse/core")["usePreferredColorScheme"];
|
||||
const usePreferredDark: typeof import("@vueuse/core")["usePreferredDark"];
|
||||
const usePreferredLanguages: typeof import("@vueuse/core")["usePreferredLanguages"];
|
||||
const useRafFn: typeof import("@vueuse/core")["useRafFn"];
|
||||
const useRefHistory: typeof import("@vueuse/core")["useRefHistory"];
|
||||
const useResizeObserver: typeof import("@vueuse/core")["useResizeObserver"];
|
||||
const useRoute: typeof import("vue-router")["useRoute"];
|
||||
const useRouter: typeof import("vue-router")["useRouter"];
|
||||
const useScreenSafeArea: typeof import("@vueuse/core")["useScreenSafeArea"];
|
||||
const useScriptTag: typeof import("@vueuse/core")["useScriptTag"];
|
||||
const useScroll: typeof import("@vueuse/core")["useScroll"];
|
||||
const useScrollLock: typeof import("@vueuse/core")["useScrollLock"];
|
||||
const useSessionStorage: typeof import("@vueuse/core")["useSessionStorage"];
|
||||
const useShare: typeof import("@vueuse/core")["useShare"];
|
||||
const useSlots: typeof import("vue")["useSlots"];
|
||||
const useSpeechRecognition: typeof import("@vueuse/core")["useSpeechRecognition"];
|
||||
const useSpeechSynthesis: typeof import("@vueuse/core")["useSpeechSynthesis"];
|
||||
const useStorage: typeof import("@vueuse/core")["useStorage"];
|
||||
const useStorageAsync: typeof import("@vueuse/core")["useStorageAsync"];
|
||||
const useStyleTag: typeof import("@vueuse/core")["useStyleTag"];
|
||||
const useSwipe: typeof import("@vueuse/core")["useSwipe"];
|
||||
const useTemplateRefsList: typeof import("@vueuse/core")["useTemplateRefsList"];
|
||||
const useTextSelection: typeof import("@vueuse/core")["useTextSelection"];
|
||||
const useThrottle: typeof import("@vueuse/core")["useThrottle"];
|
||||
const useThrottledRefHistory: typeof import("@vueuse/core")["useThrottledRefHistory"];
|
||||
const useThrottleFn: typeof import("@vueuse/core")["useThrottleFn"];
|
||||
const useTimeAgo: typeof import("@vueuse/core")["useTimeAgo"];
|
||||
const useTimeout: typeof import("@vueuse/core")["useTimeout"];
|
||||
const useTimeoutFn: typeof import("@vueuse/core")["useTimeoutFn"];
|
||||
const useTimestamp: typeof import("@vueuse/core")["useTimestamp"];
|
||||
const useTitle: typeof import("@vueuse/core")["useTitle"];
|
||||
const useToggle: typeof import("@vueuse/core")["useToggle"];
|
||||
const useTransition: typeof import("@vueuse/core")["useTransition"];
|
||||
const useUrlSearchParams: typeof import("@vueuse/core")["useUrlSearchParams"];
|
||||
const useUserMedia: typeof import("@vueuse/core")["useUserMedia"];
|
||||
const useVibrate: typeof import("@vueuse/core")["useVibrate"];
|
||||
const useVirtualList: typeof import("@vueuse/core")["useVirtualList"];
|
||||
const useVModel: typeof import("@vueuse/core")["useVModel"];
|
||||
const useVModels: typeof import("@vueuse/core")["useVModels"];
|
||||
const useWakeLock: typeof import("@vueuse/core")["useWakeLock"];
|
||||
const useWebNotification: typeof import("@vueuse/core")["useWebNotification"];
|
||||
const useWebSocket: typeof import("@vueuse/core")["useWebSocket"];
|
||||
const useWebWorker: typeof import("@vueuse/core")["useWebWorker"];
|
||||
const useWebWorkerFn: typeof import("@vueuse/core")["useWebWorkerFn"];
|
||||
const useWindowFocus: typeof import("@vueuse/core")["useWindowFocus"];
|
||||
const useWindowScroll: typeof import("@vueuse/core")["useWindowScroll"];
|
||||
const useWindowSize: typeof import("@vueuse/core")["useWindowSize"];
|
||||
const vi: typeof import("vitest")["vi"];
|
||||
const vitest: typeof import("vitest")["vitest"];
|
||||
const watch: typeof import("vue")["watch"];
|
||||
const watchAtMost: typeof import("@vueuse/core")["watchAtMost"];
|
||||
const watchEffect: typeof import("vue")["watchEffect"];
|
||||
const watchOnce: typeof import("@vueuse/core")["watchOnce"];
|
||||
const watchWithFilter: typeof import("@vueuse/core")["watchWithFilter"];
|
||||
const whenever: typeof import("@vueuse/core")["whenever"];
|
||||
}
|
||||
export {}
|
||||
export {};
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
<script setup lang="ts">
|
||||
import { PropType } from "vue";
|
||||
import { GenericDoc } from "tauri-search";
|
||||
import { useSearch } from "~/modules/search";
|
||||
|
||||
const props = defineProps({
|
||||
document: {
|
||||
type: Object as PropType<GenericDoc>, required: true}
|
||||
});
|
||||
|
||||
const s = useSearch();
|
||||
|
||||
const doc = computed(() => props.document);
|
||||
const showDetails = ref(false);
|
||||
|
||||
@@ -30,6 +33,8 @@ const details = () => {
|
||||
showDetails.value = !showDetails.value;
|
||||
};
|
||||
|
||||
const searchable =s.indexSettings[doc.value._idx as any].searchableAttributes as string[];
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -57,28 +62,26 @@ const details = () => {
|
||||
<vscode-icons:file-type-rust v-if="doc.language === 'rust'" class="flex" />
|
||||
<vscode-icons:file-type-typescript-official v-else class="flex" />
|
||||
|
||||
<div class="symbolName font-semibold">{{doc.lvl0}}</div>
|
||||
<div class="symbolName font-semibold">{{doc.hierarchy_lvl0}}</div>
|
||||
<div class="text-sm font-light">{{doc.symbol}}</div>
|
||||
</div>
|
||||
|
||||
<!-- PROSE -->
|
||||
<div v-if="doc.from === 'prose'" class="flex flex-row flex-grow space-x-2 place-items-center items-center">
|
||||
<teenyicons:text-document-solid class="flex" />
|
||||
<div class="title font-semibold flex-shrink-0">{{doc.lvl0}}</div>
|
||||
<div class="title font-light truncate text-gray-500">{{doc.lvl1}}</div>
|
||||
<div class="title font-semibold flex-shrink-0">{{doc.hierarchy_lvl0}}</div>
|
||||
<div class="title font-light truncate text-gray-500">{{doc.hierarchy_lvl1}}</div>
|
||||
</div>
|
||||
|
||||
<!-- REPOs -->
|
||||
<div v-if="doc.from === 'repo'" class="flex flex-row flex-grow space-x-2 place-items-center items-center">
|
||||
<mdi:github class="flex flex-shrink-0" />
|
||||
<div class="name font-semibold flex-shrink-0">{{doc.lvl0}}</div>
|
||||
<div class="description truncate flex-shrink text-gray-500 font-light">{{doc.lvl1}}</div>
|
||||
<div class="name font-semibold flex-shrink-0">{{doc.hierarchy_lvl0}}</div>
|
||||
<div class="description truncate flex-shrink text-gray-500 font-light">{{doc.hierarchy_lvl0}}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div v-if="doc._idx === 'api'" class="flex text-xs font-medium px-1 py-0.5 bg-blue-500 dark:bg-blue-600 text-gray-50 rounded">
|
||||
{{apiKind}}
|
||||
@@ -91,10 +94,16 @@ const details = () => {
|
||||
|
||||
|
||||
</div>
|
||||
<div v-if="showDetails" class="items-start">
|
||||
<div v-for="key in Object.keys(doc)" :key="key" class="flex flex-row">
|
||||
<span class="flex font-bold">{{key}}:</span>
|
||||
<span class="flex ml-1">{{doc[key]}}</span>
|
||||
<div v-if="showDetails" class="items-start mt-2">
|
||||
<div
|
||||
v-for="key in Object.keys(doc)" :key="key" class="flex items-start justify-start" :class="[
|
||||
searchable?.includes(key) || searchable[0] === '*' || false ? 'text-gray-800 dark:text-gray-200' : 'text-gray-500',
|
||||
String(doc[key]).length > 70 ? 'flex-col space-y-1' : 'flex-row space-x-2'
|
||||
].join(' ')">
|
||||
<div class="flex font-medium">{{key}}:</div>
|
||||
<div class="flex font-light place-self-start">
|
||||
{{doc[key]}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,11 +6,11 @@ export const SERVERS = [
|
||||
},
|
||||
{
|
||||
name: "prod",
|
||||
url: "https://search.tauri.com",
|
||||
url: "https://search.tauri.studio",
|
||||
indexes: [""],
|
||||
},
|
||||
{
|
||||
name: "pre-prod",
|
||||
url: "https://search2.tauri.com",
|
||||
url: "https://search2.tauri.studio",
|
||||
},
|
||||
];
|
||||
@@ -1,6 +1,3 @@
|
||||
<script setup lang="ts">
|
||||
/* eslint-disabl evue/multi-word-component-names */
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<main class="px-4 py-10 text-center text-gray-700 dark:text-gray-200 flex items-center justify-center">
|
||||
|
||||
@@ -6,7 +6,7 @@ const el = ref();
|
||||
const s = useSearch();
|
||||
const searchText = ref(s.$state.searchQuery);
|
||||
const { t } = useI18n();
|
||||
|
||||
const serverChosen = ref("local");
|
||||
|
||||
debouncedWatch(
|
||||
searchText,
|
||||
@@ -20,6 +20,10 @@ onStartTyping(() => {
|
||||
if (!el.value.active) {el.value.focus();};
|
||||
});
|
||||
|
||||
const changeServer = (_server: {name: string; url: string}) => {
|
||||
//
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -28,9 +32,20 @@ onStartTyping(() => {
|
||||
MeiliSearch Playground
|
||||
</h1>
|
||||
<div class="grid grid-cols-3 gap-x-4">
|
||||
<div class="left">
|
||||
Server:
|
||||
<div v-for="server in SERVERS.map(i => i.name)" :key="server" class="server"></div>
|
||||
<div class="left flex flex-grow items-center justify-center">
|
||||
<div class="flex flex-row space-x-2">
|
||||
<div class="mr-2">Server:</div>
|
||||
<div
|
||||
v-for="server in SERVERS"
|
||||
:key="server.name"
|
||||
v-tooltip="{content: server.url}"
|
||||
class="server text-gray-500 font-light"
|
||||
:class="server.name === serverChosen ? `text-gray-800 dark:text-gray-200 border-b-1 cursor-default` : `cursor-pointer`"
|
||||
@click="() => changeServer(server)"
|
||||
>
|
||||
{{server.name}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="centered">
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
"gray-matter": "^4.0.3",
|
||||
"inferred-types": "^0.18.4",
|
||||
"native-dash": "^1.21.5",
|
||||
"simple-markdown-2": "^0.7.4"
|
||||
"simple-markdown-2": "^0.7.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@octokit/types": "^6.34.0",
|
||||
@@ -55,7 +55,7 @@
|
||||
"@types/node": "^14.18.10",
|
||||
"@typescript-eslint/eslint-plugin": "^5.10.2",
|
||||
"@typescript-eslint/parser": "^5.10.2",
|
||||
"@vitest/ui": "^0.2.5",
|
||||
"@vitest/ui": "^0.2.6",
|
||||
"changeset": "^0.2.6",
|
||||
"eslint": "^8.8.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
@@ -74,7 +74,7 @@
|
||||
"vite": "^2.7.13",
|
||||
"vite-plugin-dts": "^0.9.9",
|
||||
"vite-plugin-inspect": "^0.3.13",
|
||||
"vitest": "^0.2.5"
|
||||
"vitest": "^0.2.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* eslint-disable no-console */
|
||||
import { ApiModel } from "../../dist";
|
||||
import { ApiModel } from "~/models";
|
||||
|
||||
(async () => {
|
||||
const active = (await ApiModel.query.currentIndexes()).map((i) => i.name);
|
||||
|
||||
@@ -2,43 +2,43 @@ import { ModelMapper, isRepoDocument, isApiDocument } from "~/types";
|
||||
import { IApiModel, IConsolidatedModel, IProseModel, IRepoModel } from "~/models";
|
||||
|
||||
export enum IndexRank {
|
||||
prose = 5,
|
||||
prose = 2,
|
||||
repo = 3,
|
||||
api = 2,
|
||||
api = 5,
|
||||
}
|
||||
|
||||
export const ConsolidatedMapper: ModelMapper<
|
||||
IApiModel | IRepoModel | IProseModel,
|
||||
IConsolidatedModel
|
||||
> = (i): IConsolidatedModel => ({
|
||||
id: i.id,
|
||||
lvl0: isRepoDocument(i) ? i.name : isApiDocument(i) ? i.name : i.title,
|
||||
lvl1: isRepoDocument(i)
|
||||
objectID: i.id,
|
||||
hierarchy_lvl0: isRepoDocument(i) ? i.name : isApiDocument(i) ? i.name : i.title,
|
||||
hierarchy_lvl1: isRepoDocument(i)
|
||||
? i.description || null
|
||||
: isApiDocument(i)
|
||||
? i.module
|
||||
: i.tags?.join(" ") || null,
|
||||
lvl2: isRepoDocument(i)
|
||||
hierarchy_lvl2: isRepoDocument(i)
|
||||
? i.kind || null
|
||||
: isApiDocument(i)
|
||||
? i.comment || null
|
||||
? null
|
||||
: i.sections?.join(" ") || null,
|
||||
lvl3: isRepoDocument(i)
|
||||
hierarchy_lvl3: isRepoDocument(i)
|
||||
? i.topics?.join(" ") || null
|
||||
: isApiDocument(i)
|
||||
? i.language || null
|
||||
: i.subSections?.join(" ") || null,
|
||||
lvl4: isRepoDocument(i)
|
||||
hierarchy_lvl4: isRepoDocument(i)
|
||||
? i.language || null
|
||||
: isApiDocument(i)
|
||||
? null
|
||||
: i.category || null,
|
||||
lvl5: isRepoDocument(i)
|
||||
hierarchy_lvl5: isRepoDocument(i)
|
||||
? i.license || null
|
||||
: isApiDocument(i)
|
||||
? null
|
||||
: i.code?.join(" ") || null,
|
||||
lvl6: isRepoDocument(i) ? String(i.stars) || null : isApiDocument(i) ? null : null,
|
||||
hierarchy_lvl6: isRepoDocument(i) ? String(i.stars) || null : isApiDocument(i) ? null : null,
|
||||
from: isRepoDocument(i) ? "repo" : isApiDocument(i) ? "api" : "prose",
|
||||
symbol: isApiDocument(i) ? i.kind : null,
|
||||
language: isApiDocument(i)
|
||||
@@ -47,11 +47,17 @@ export const ConsolidatedMapper: ModelMapper<
|
||||
? i.language
|
||||
: i.code?.pop() || null,
|
||||
|
||||
content: isRepoDocument(i) ? i.text : isApiDocument(i) ? null : i.text,
|
||||
content: isRepoDocument(i) ? i.text : isApiDocument(i) ? i.comment || null : i.text,
|
||||
rank: isRepoDocument(i)
|
||||
? IndexRank.repo
|
||||
: isApiDocument(i)
|
||||
? IndexRank.api
|
||||
: IndexRank.prose,
|
||||
hierarchy_radio_lvl0: null,
|
||||
hierarchy_radio_lvl1: null,
|
||||
hierarchy_radio_lvl2: null,
|
||||
hierarchy_radio_lvl3: null,
|
||||
hierarchy_radio_lvl4: null,
|
||||
hierarchy_radio_lvl5: null,
|
||||
url: i.url,
|
||||
});
|
||||
|
||||
@@ -11,6 +11,7 @@ export type IConsolidatedModel = IScrapeSelectorTargets & {
|
||||
|
||||
export const ConsolidatedModel = createModel<IConsolidatedModel>("consolidated", (c) =>
|
||||
c
|
||||
.pk("objectID")
|
||||
.stopWords(en)
|
||||
.synonyms({
|
||||
ts: ["typescript", "javascript", "js"],
|
||||
@@ -19,5 +20,6 @@ export const ConsolidatedModel = createModel<IConsolidatedModel>("consolidated",
|
||||
javascript: ["ts", "typescript", "js"],
|
||||
})
|
||||
.filterable("from", "language", "symbol")
|
||||
.sortable("lvl0", "lvl3", "lvl2")
|
||||
.searchable("hierarchy_lvl0", "rank", "hierarchy_lvl3", "hierarchy_lvl2", "hierarchy_lvl1", "symbol", "content")
|
||||
.rankingRules((r) => r.words().typo().sort().attribute().proximity().exactness())
|
||||
);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/* eslint-disable no-console */
|
||||
import { ProseModel, ApiModel, RepoModel } from "~/models";
|
||||
import { IMeilisearchIndexSettings } from "..";
|
||||
|
||||
const models = {
|
||||
api: ApiModel,
|
||||
@@ -21,7 +20,7 @@ export async function createIndexes() {
|
||||
if (!skipping.includes(model.name)) {
|
||||
created.push(key);
|
||||
// create the index and configure it
|
||||
console.log(await model.query.createIndex());
|
||||
await model.query.createIndex();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,10 @@ export type Wildcard<T> = (keyof T)[] | ["*"];
|
||||
|
||||
export type IndexApi<TDoc, TExclude extends string = never> = Omit<
|
||||
{
|
||||
/**
|
||||
* By default the primary key will be `id` but this can be overridden where it makes sense
|
||||
*/
|
||||
pk: (pk: string) => IndexApi<TDoc, TExclude | "pk">;
|
||||
searchable: (...props: Wildcard<TDoc>) => IndexApi<TDoc, TExclude | "searchable">;
|
||||
displayed: (...props: Wildcard<TDoc>) => IndexApi<TDoc, TExclude | "displayed">;
|
||||
distinct: (...props: Wildcard<TDoc>) => IndexApi<TDoc, TExclude | "distinct">;
|
||||
|
||||
@@ -18,14 +18,20 @@ export type ScrapeSelector =
|
||||
};
|
||||
|
||||
export type IScrapeSelectorTargets = {
|
||||
id: string;
|
||||
lvl0: ScrapeSelector;
|
||||
lvl1: ScrapeSelector;
|
||||
lvl2: ScrapeSelector;
|
||||
lvl3: ScrapeSelector;
|
||||
lvl4: ScrapeSelector;
|
||||
lvl5: ScrapeSelector;
|
||||
lvl6: ScrapeSelector;
|
||||
objectID: string;
|
||||
hierarchy_lvl0: ScrapeSelector;
|
||||
hierarchy_lvl1: ScrapeSelector;
|
||||
hierarchy_lvl2: ScrapeSelector;
|
||||
hierarchy_lvl3: ScrapeSelector;
|
||||
hierarchy_lvl4: ScrapeSelector;
|
||||
hierarchy_lvl5: ScrapeSelector;
|
||||
hierarchy_lvl6: ScrapeSelector;
|
||||
hierarchy_radio_lvl0: ScrapeSelector;
|
||||
hierarchy_radio_lvl1: ScrapeSelector;
|
||||
hierarchy_radio_lvl2: ScrapeSelector;
|
||||
hierarchy_radio_lvl3: ScrapeSelector;
|
||||
hierarchy_radio_lvl4: ScrapeSelector;
|
||||
hierarchy_radio_lvl5: ScrapeSelector;
|
||||
/** the main body of text */
|
||||
content: ScrapeSelector;
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@ const modelConfigApi = <TDoc extends {}>(update: (s: PartialModel<TDoc>) => void
|
||||
TExclude
|
||||
> =>
|
||||
({
|
||||
pk(pk: string) {
|
||||
update({ index: { pk } });
|
||||
return api<TExclude | "pk", M>();
|
||||
},
|
||||
searchable(...props) {
|
||||
if (props?.length > 0) {
|
||||
update({ index: { searchable: props } });
|
||||
|
||||
198
packages/tauri-search/test/fixtures/example-search-from-scrape.json
vendored
Normal file
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"hits": [
|
||||
{
|
||||
"objectID": 22,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for Windows",
|
||||
"hierarchy_lvl2": null,
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": null,
|
||||
"url": "getting-started/setup-windows",
|
||||
"content": null,
|
||||
"_formatted": {
|
||||
"objectID": 22,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for <em>Window</em>s",
|
||||
"hierarchy_lvl2": null,
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": null,
|
||||
"url": "getting-started/setup-<em>window</em>s",
|
||||
"content": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectID": 23,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for Windows",
|
||||
"hierarchy_lvl2": "1. System Dependencies",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "1-system-dependencies",
|
||||
"url": "getting-started/setup-windows",
|
||||
"content": "You'll need to install Microsoft Visual Studio C++ build tools. Download the installer here, and then run it. When it asks you what packages you would like to install, select C++ Build Tools.",
|
||||
"_formatted": {
|
||||
"objectID": 23,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for <em>Window</em>s",
|
||||
"hierarchy_lvl2": "1. System Dependencies",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "1-system-dependencies",
|
||||
"url": "getting-started/setup-<em>window</em>s",
|
||||
"content": "You'll need to install Microsoft"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectID": 24,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for Windows",
|
||||
"hierarchy_lvl2": "2. Node.js Runtime and Package Manager",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "2-nodejs-runtime-and-package-manager",
|
||||
"url": "getting-started/setup-windows",
|
||||
"_formatted": {
|
||||
"objectID": 24,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for <em>Window</em>s",
|
||||
"hierarchy_lvl2": "2. Node.js Runtime and Package Manager",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "2-nodejs-runtime-and-package-manager",
|
||||
"url": "getting-started/setup-<em>window</em>s"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectID": 25,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for Windows",
|
||||
"hierarchy_lvl2": "Node.js (npm included)",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "nodejs-npm-included",
|
||||
"url": "getting-started/setup-windows",
|
||||
"content": "We recommend using nvm-windows to manage your Node.js runtime. It allows you to easily switch versions and update Node.js.",
|
||||
"_formatted": {
|
||||
"objectID": 25,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for <em>Window</em>s",
|
||||
"hierarchy_lvl2": "Node.js (npm included)",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "nodejs-npm-included",
|
||||
"url": "getting-started/setup-<em>window</em>s",
|
||||
"content": "We recommend using nvm-<em>window</em>s to manage your Node.js"
|
||||
}
|
||||
},
|
||||
{
|
||||
"objectID": 26,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for Windows",
|
||||
"hierarchy_lvl2": "Optional Node.js Package Manager",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "optional-nodejs-package-manager",
|
||||
"url": "getting-started/setup-windows",
|
||||
"content": "You may want to use an alternative to npm:",
|
||||
"_formatted": {
|
||||
"objectID": 26,
|
||||
"hierarchy_radio_lvl0": null,
|
||||
"hierarchy_radio_lvl1": null,
|
||||
"hierarchy_radio_lvl2": null,
|
||||
"hierarchy_radio_lvl3": null,
|
||||
"hierarchy_radio_lvl4": null,
|
||||
"hierarchy_radio_lvl5": null,
|
||||
"hierarchy_lvl0": "Getting started",
|
||||
"hierarchy_lvl1": "Setup for <em>Window</em>s",
|
||||
"hierarchy_lvl2": "Optional Node.js Package Manager",
|
||||
"hierarchy_lvl3": null,
|
||||
"hierarchy_lvl4": null,
|
||||
"hierarchy_lvl5": null,
|
||||
"hierarchy_lvl6": null,
|
||||
"anchor": "optional-nodejs-package-manager",
|
||||
"url": "getting-started/setup-<em>window</em>s",
|
||||
"content": "You may want to use an alternative"
|
||||
}
|
||||
}
|
||||
],
|
||||
"offset": 0,
|
||||
"limit": 5,
|
||||
"nbHits": 438,
|
||||
"exhaustiveNbHits": false,
|
||||
"processingTimeMs": 2,
|
||||
"query": "window"
|
||||
}
|
||||