[READ-ONLY] Mirror of https://github.com/sxzz/element-plus-best-practices. Element Plus Best Practices 最佳实践 element-plus-best-practices.vercel.app
best-practices element-plus vue vuejs
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: support dark mode

+443 -43
+2 -1
.vscode/extensions.json
··· 3 3 "vue.volar", 4 4 "dbaeumer.vscode-eslint", 5 5 "esbenp.prettier-vscode", 6 - "antfu.iconify" 6 + "antfu.iconify", 7 + "antfu.unocss" 7 8 ] 8 9 }
+3
package.json
··· 11 11 "lint:fix": "pnpm lint --fix" 12 12 }, 13 13 "dependencies": { 14 + "@vueuse/core": "^8.7.5", 14 15 "element-plus": "^2.2.6", 15 16 "vue": "^3.2.37" 16 17 }, 17 18 "devDependencies": { 19 + "@iconify-json/carbon": "^1.1.5", 18 20 "@iconify-json/ep": "^1.1.5", 19 21 "@sxzz/eslint-config-prettier": "^2.2.2", 20 22 "@sxzz/eslint-config-vue": "^2.2.2", ··· 25 27 "eslint": "^8.18.0", 26 28 "eslint-define-config": "^1.5.1", 27 29 "typescript": "^4.7.4", 30 + "unocss": "^0.39.3", 28 31 "unplugin-auto-import": "^0.9.0", 29 32 "unplugin-icons": "^0.14.5", 30 33 "unplugin-vue-components": "^0.19.6",
+30 -38
src/App.vue
··· 1 1 <script lang="ts" setup> 2 - // Method 1: Import and register icon component manually. 3 - // 方式 1:手动导入并注册图标组件 4 - import IconEpApple from '~icons/ep/apple' 5 - 6 2 let msg = $ref('') 7 3 8 4 const handleClick = () => { ··· 11 7 } 12 8 </script> 13 9 14 - <script lang="ts"> 15 - export default defineComponent({ 16 - components: { 17 - // Method 2: or we can use `unplugin-auto-import` to auto import icon component and register manally. not recommended) 18 - // 方法 2:或者我们还可以使用 `unplugin-auto-import` 来自动导入组件,再手动注册组件。(不推荐) 19 - IconEpRefresh, 20 - }, 21 - }) 22 - </script> 23 - 24 10 <template> 25 - <el-space> 26 - <IconEpApple /> 11 + <div text="center"> 12 + <el-space mb-2> 13 + <!-- we can use `unplugin-vue-components` to auto register icon component --> 14 + <!-- 我们可以使用 `unplugin-vue-components` 插件来自动注册图标 --> 15 + <!-- Please refer to vite.config.ts --> 16 + <!-- 请参阅 vite.config.ts --> 17 + <i-ep-add-location /> 18 + <i-ep-aim /> 27 19 28 - <!-- Method 2 --> 29 - <!-- 方法 2 --> 30 - <IconEpRefresh /> 20 + <!-- 或者使用 UnoCSS 的图标功能 --> 21 + <!-- Or use the icon feature of UnoCSS --> 22 + <div i-ep-check /> 31 23 32 - <!-- (recommended) Method 3: or we can use `unplugin-vue-components` to auto register icon component --> 33 - <!-- (推荐)方法 3:我们可以使用 `unplugin-vue-components` 插件来自动注册图标 --> 34 - <!-- Please refer to vite.config.ts --> 35 - <!-- 请参阅 vite.config.ts --> 36 - <i-ep-add-location /> 37 - <i-ep-aim /> 24 + <!-- For more icons please refer to https://icones.js.org/ --> 25 + <!-- 更多图标请参阅 https://icones.js.org/ --> 38 26 39 - <!-- For more icons please refer to https://icones.js.org/ --> 40 - <!-- 更多图标请参阅 https://icones.js.org/ --> 27 + <el-button @click="handleClick"> 28 + <template #icon><i-ep-circle-check-filled /></template> 29 + Hello world 30 + </el-button> 31 + <el-input v-model="msg" /> 32 + </el-space> 41 33 42 - <el-button @click="handleClick"> 43 - <template #icon><i-ep-circle-check-filled /></template> 44 - Hello world 45 - </el-button> 46 - <el-input v-model="msg" /> 47 - </el-space> 34 + <div 35 + v-loading="{ text: 'Loading...' }" 36 + p-2 37 + w-300px 38 + h-300px 39 + border="1px #ccc" 40 + ma 41 + > 42 + Loading Area 43 + </div> 48 44 49 - <div 50 - v-loading="{ text: 'Loading...' }" 51 - style="height: 300px; width: 300px; border: 1px solid #ccc" 52 - > 53 - Loading Area 45 + <Footer /> 54 46 </div> 55 47 </template>
+17
src/components/Footer.vue
··· 1 + <template> 2 + <nav text-xl mt-6 inline-flex gap-2> 3 + <el-button text @click="toggleDark()"> 4 + <div dark:i-ep-moon i-ep-sunny text-lg /> 5 + </el-button> 6 + 7 + <el-link 8 + :underline="false" 9 + rel="noreferrer" 10 + href="https://github.com/sxzz/element-plus-best-practices" 11 + target="_blank" 12 + title="GitHub" 13 + > 14 + <div i-carbon-logo-github textlg /> 15 + </el-link> 16 + </nav> 17 + </template>
+2
src/composables/dark.ts
··· 1 + export const isDark = useDark() 2 + export const toggleDark = useToggle(isDark)
+1
src/composables/index.ts
··· 1 + export * from './dark'
+2
src/main.ts
··· 1 1 import { createApp } from 'vue' 2 2 import App from './App.vue' 3 + import 'uno.css' 4 + import 'element-plus/theme-chalk/dark/css-vars.css' 3 5 4 6 createApp(App).mount('#app')
+374 -2
src/typings/auto-imports.d.ts
··· 3 3 declare global { 4 4 const EffectScope: typeof import('vue')['EffectScope'] 5 5 const ElMessage: typeof import('element-plus/es')['ElMessage'] 6 - const IconEpRefresh: typeof import('~icons/ep/refresh')['default'] 6 + const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] 7 + const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] 7 8 const computed: typeof import('vue')['computed'] 9 + const computedAsync: typeof import('@vueuse/core')['computedAsync'] 10 + const computedEager: typeof import('@vueuse/core')['computedEager'] 11 + const computedInject: typeof import('@vueuse/core')['computedInject'] 12 + const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] 13 + const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] 14 + const controlledRef: typeof import('@vueuse/core')['controlledRef'] 8 15 const createApp: typeof import('vue')['createApp'] 16 + const createEventHook: typeof import('@vueuse/core')['createEventHook'] 17 + const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] 18 + const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] 19 + const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] 20 + const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] 21 + const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] 9 22 const customRef: typeof import('vue')['customRef'] 23 + const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] 24 + const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] 10 25 const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] 11 26 const defineComponent: typeof import('vue')['defineComponent'] 27 + const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] 12 28 const effectScope: typeof import('vue')['effectScope'] 29 + const extendRef: typeof import('@vueuse/core')['extendRef'] 13 30 const getCurrentInstance: typeof import('vue')['getCurrentInstance'] 14 31 const getCurrentScope: typeof import('vue')['getCurrentScope'] 15 32 const h: typeof import('vue')['h'] 33 + const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] 16 34 const inject: typeof import('vue')['inject'] 35 + const isDark: typeof import('../composables/dark')['isDark'] 36 + const isDefined: typeof import('@vueuse/core')['isDefined'] 17 37 const isProxy: typeof import('vue')['isProxy'] 18 38 const isReactive: typeof import('vue')['isReactive'] 19 39 const isReadonly: typeof import('vue')['isReadonly'] 20 40 const isRef: typeof import('vue')['isRef'] 41 + const logicAnd: typeof import('@vueuse/core')['logicAnd'] 42 + const logicNot: typeof import('@vueuse/core')['logicNot'] 43 + const logicOr: typeof import('@vueuse/core')['logicOr'] 44 + const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] 21 45 const markRaw: typeof import('vue')['markRaw'] 22 46 const nextTick: typeof import('vue')['nextTick'] 23 47 const onActivated: typeof import('vue')['onActivated'] 24 48 const onBeforeMount: typeof import('vue')['onBeforeMount'] 25 49 const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] 26 50 const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] 51 + const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] 27 52 const onDeactivated: typeof import('vue')['onDeactivated'] 28 53 const onErrorCaptured: typeof import('vue')['onErrorCaptured'] 54 + const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] 55 + const onLongPress: typeof import('@vueuse/core')['onLongPress'] 29 56 const onMounted: typeof import('vue')['onMounted'] 30 57 const onRenderTracked: typeof import('vue')['onRenderTracked'] 31 58 const onRenderTriggered: typeof import('vue')['onRenderTriggered'] 32 59 const onScopeDispose: typeof import('vue')['onScopeDispose'] 33 60 const onServerPrefetch: typeof import('vue')['onServerPrefetch'] 61 + const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] 34 62 const onUnmounted: typeof import('vue')['onUnmounted'] 35 63 const onUpdated: typeof import('vue')['onUpdated'] 64 + const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] 36 65 const provide: typeof import('vue')['provide'] 66 + const reactify: typeof import('@vueuse/core')['reactify'] 67 + const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] 37 68 const reactive: typeof import('vue')['reactive'] 69 + const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] 70 + const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] 71 + const reactivePick: typeof import('@vueuse/core')['reactivePick'] 38 72 const readonly: typeof import('vue')['readonly'] 39 73 const ref: typeof import('vue')['ref'] 74 + const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] 75 + const refDebounced: typeof import('@vueuse/core')['refDebounced'] 76 + const refDefault: typeof import('@vueuse/core')['refDefault'] 77 + const refThrottled: typeof import('@vueuse/core')['refThrottled'] 78 + const refWithControl: typeof import('@vueuse/core')['refWithControl'] 40 79 const resolveComponent: typeof import('vue')['resolveComponent'] 41 80 const shallowReactive: typeof import('vue')['shallowReactive'] 42 81 const shallowReadonly: typeof import('vue')['shallowReadonly'] 43 82 const shallowRef: typeof import('vue')['shallowRef'] 83 + const syncRef: typeof import('@vueuse/core')['syncRef'] 84 + const syncRefs: typeof import('@vueuse/core')['syncRefs'] 85 + const templateRef: typeof import('@vueuse/core')['templateRef'] 86 + const throttledRef: typeof import('@vueuse/core')['throttledRef'] 87 + const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] 44 88 const toRaw: typeof import('vue')['toRaw'] 89 + const toReactive: typeof import('@vueuse/core')['toReactive'] 45 90 const toRef: typeof import('vue')['toRef'] 46 91 const toRefs: typeof import('vue')['toRefs'] 92 + const toggleDark: typeof import('../composables/dark')['toggleDark'] 47 93 const triggerRef: typeof import('vue')['triggerRef'] 94 + const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] 95 + const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] 96 + const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] 97 + const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] 98 + const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] 48 99 const unref: typeof import('vue')['unref'] 100 + const unrefElement: typeof import('@vueuse/core')['unrefElement'] 101 + const until: typeof import('@vueuse/core')['until'] 102 + const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] 103 + const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] 104 + const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] 49 105 const useAttrs: typeof import('vue')['useAttrs'] 106 + const useBase64: typeof import('@vueuse/core')['useBase64'] 107 + const useBattery: typeof import('@vueuse/core')['useBattery'] 108 + const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] 109 + const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] 110 + const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] 111 + const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] 112 + const useCached: typeof import('@vueuse/core')['useCached'] 113 + const useClamp: typeof import('@vueuse/core')['useClamp'] 114 + const useClipboard: typeof import('@vueuse/core')['useClipboard'] 115 + const useColorMode: typeof import('@vueuse/core')['useColorMode'] 116 + const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] 117 + const useCounter: typeof import('@vueuse/core')['useCounter'] 50 118 const useCssModule: typeof import('vue')['useCssModule'] 119 + const useCssVar: typeof import('@vueuse/core')['useCssVar'] 51 120 const useCssVars: typeof import('vue')['useCssVars'] 121 + const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] 122 + const useCycleList: typeof import('@vueuse/core')['useCycleList'] 123 + const useDark: typeof import('@vueuse/core')['useDark'] 124 + const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] 125 + const useDebounce: typeof import('@vueuse/core')['useDebounce'] 126 + const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] 127 + const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] 128 + const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] 129 + const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] 130 + const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] 131 + const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] 132 + const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] 133 + const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] 134 + const useDraggable: typeof import('@vueuse/core')['useDraggable'] 135 + const useDropZone: typeof import('@vueuse/core')['useDropZone'] 136 + const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] 137 + const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] 138 + const useElementHover: typeof import('@vueuse/core')['useElementHover'] 139 + const useElementSize: typeof import('@vueuse/core')['useElementSize'] 140 + const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] 141 + const useEventBus: typeof import('@vueuse/core')['useEventBus'] 142 + const useEventListener: typeof import('@vueuse/core')['useEventListener'] 143 + const useEventSource: typeof import('@vueuse/core')['useEventSource'] 144 + const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] 145 + const useFavicon: typeof import('@vueuse/core')['useFavicon'] 146 + const useFetch: typeof import('@vueuse/core')['useFetch'] 147 + const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] 148 + const useFocus: typeof import('@vueuse/core')['useFocus'] 149 + const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] 150 + const useFps: typeof import('@vueuse/core')['useFps'] 151 + const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] 152 + const useGamepad: typeof import('@vueuse/core')['useGamepad'] 153 + const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] 154 + const useIdle: typeof import('@vueuse/core')['useIdle'] 155 + const useImage: typeof import('@vueuse/core')['useImage'] 156 + const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] 157 + const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] 158 + const useInterval: typeof import('@vueuse/core')['useInterval'] 159 + const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] 160 + const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] 161 + const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] 162 + const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] 163 + const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] 164 + const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] 165 + const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] 166 + const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] 167 + const useMemoize: typeof import('@vueuse/core')['useMemoize'] 168 + const useMemory: typeof import('@vueuse/core')['useMemory'] 169 + const useMounted: typeof import('@vueuse/core')['useMounted'] 170 + const useMouse: typeof import('@vueuse/core')['useMouse'] 171 + const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] 172 + const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] 173 + const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] 174 + const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] 175 + const useNetwork: typeof import('@vueuse/core')['useNetwork'] 176 + const useNow: typeof import('@vueuse/core')['useNow'] 177 + const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] 178 + const useOnline: typeof import('@vueuse/core')['useOnline'] 179 + const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] 180 + const useParallax: typeof import('@vueuse/core')['useParallax'] 181 + const usePermission: typeof import('@vueuse/core')['usePermission'] 182 + const usePointer: typeof import('@vueuse/core')['usePointer'] 183 + const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] 184 + const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] 185 + const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] 186 + const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] 187 + const useRafFn: typeof import('@vueuse/core')['useRafFn'] 188 + const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] 189 + const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] 190 + const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] 191 + const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] 192 + const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] 193 + const useScroll: typeof import('@vueuse/core')['useScroll'] 194 + const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] 195 + const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] 196 + const useShare: typeof import('@vueuse/core')['useShare'] 52 197 const useSlots: typeof import('vue')['useSlots'] 198 + const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] 199 + const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] 200 + const useStorage: typeof import('@vueuse/core')['useStorage'] 201 + const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] 202 + const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] 203 + const useSwipe: typeof import('@vueuse/core')['useSwipe'] 204 + const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] 205 + const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] 206 + const useThrottle: typeof import('@vueuse/core')['useThrottle'] 207 + const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] 208 + const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] 209 + const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] 210 + const useTimeout: typeof import('@vueuse/core')['useTimeout'] 211 + const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] 212 + const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] 213 + const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] 214 + const useTitle: typeof import('@vueuse/core')['useTitle'] 215 + const useToggle: typeof import('@vueuse/core')['useToggle'] 216 + const useTransition: typeof import('@vueuse/core')['useTransition'] 217 + const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] 218 + const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] 219 + const useVModel: typeof import('@vueuse/core')['useVModel'] 220 + const useVModels: typeof import('@vueuse/core')['useVModels'] 221 + const useVibrate: typeof import('@vueuse/core')['useVibrate'] 222 + const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] 223 + const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] 224 + const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] 225 + const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] 226 + const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] 227 + const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] 228 + const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] 229 + const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] 230 + const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] 53 231 const watch: typeof import('vue')['watch'] 232 + const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] 233 + const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] 54 234 const watchEffect: typeof import('vue')['watchEffect'] 235 + const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] 236 + const watchOnce: typeof import('@vueuse/core')['watchOnce'] 237 + const watchPausable: typeof import('@vueuse/core')['watchPausable'] 55 238 const watchPostEffect: typeof import('vue')['watchPostEffect'] 56 239 const watchSyncEffect: typeof import('vue')['watchSyncEffect'] 240 + const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] 241 + const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] 242 + const whenever: typeof import('@vueuse/core')['whenever'] 57 243 } 58 244 // for vue template auto import 59 245 import { UnwrapRef } from 'vue' ··· 61 247 interface ComponentCustomProperties { 62 248 readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']> 63 249 readonly ElMessage: UnwrapRef<typeof import('element-plus/es')['ElMessage']> 64 - readonly IconEpRefresh: UnwrapRef<typeof import('~icons/ep/refresh')['default']> 250 + readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']> 251 + readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']> 65 252 readonly computed: UnwrapRef<typeof import('vue')['computed']> 253 + readonly computedAsync: UnwrapRef<typeof import('@vueuse/core')['computedAsync']> 254 + readonly computedEager: UnwrapRef<typeof import('@vueuse/core')['computedEager']> 255 + readonly computedInject: UnwrapRef<typeof import('@vueuse/core')['computedInject']> 256 + readonly computedWithControl: UnwrapRef<typeof import('@vueuse/core')['computedWithControl']> 257 + readonly controlledComputed: UnwrapRef<typeof import('@vueuse/core')['controlledComputed']> 258 + readonly controlledRef: UnwrapRef<typeof import('@vueuse/core')['controlledRef']> 66 259 readonly createApp: UnwrapRef<typeof import('vue')['createApp']> 260 + readonly createEventHook: UnwrapRef<typeof import('@vueuse/core')['createEventHook']> 261 + readonly createGlobalState: UnwrapRef<typeof import('@vueuse/core')['createGlobalState']> 262 + readonly createInjectionState: UnwrapRef<typeof import('@vueuse/core')['createInjectionState']> 263 + readonly createReactiveFn: UnwrapRef<typeof import('@vueuse/core')['createReactiveFn']> 264 + readonly createSharedComposable: UnwrapRef<typeof import('@vueuse/core')['createSharedComposable']> 265 + readonly createUnrefFn: UnwrapRef<typeof import('@vueuse/core')['createUnrefFn']> 67 266 readonly customRef: UnwrapRef<typeof import('vue')['customRef']> 267 + readonly debouncedRef: UnwrapRef<typeof import('@vueuse/core')['debouncedRef']> 268 + readonly debouncedWatch: UnwrapRef<typeof import('@vueuse/core')['debouncedWatch']> 68 269 readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']> 69 270 readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']> 271 + readonly eagerComputed: UnwrapRef<typeof import('@vueuse/core')['eagerComputed']> 70 272 readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']> 273 + readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']> 71 274 readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']> 72 275 readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']> 73 276 readonly h: UnwrapRef<typeof import('vue')['h']> 277 + readonly ignorableWatch: UnwrapRef<typeof import('@vueuse/core')['ignorableWatch']> 74 278 readonly inject: UnwrapRef<typeof import('vue')['inject']> 279 + readonly isDark: UnwrapRef<typeof import('../composables/dark')['isDark']> 280 + readonly isDefined: UnwrapRef<typeof import('@vueuse/core')['isDefined']> 75 281 readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']> 76 282 readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']> 77 283 readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']> 78 284 readonly isRef: UnwrapRef<typeof import('vue')['isRef']> 285 + readonly logicAnd: UnwrapRef<typeof import('@vueuse/core')['logicAnd']> 286 + readonly logicNot: UnwrapRef<typeof import('@vueuse/core')['logicNot']> 287 + readonly logicOr: UnwrapRef<typeof import('@vueuse/core')['logicOr']> 288 + readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']> 79 289 readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']> 80 290 readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']> 81 291 readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']> 82 292 readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']> 83 293 readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']> 84 294 readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']> 295 + readonly onClickOutside: UnwrapRef<typeof import('@vueuse/core')['onClickOutside']> 85 296 readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']> 86 297 readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']> 298 + readonly onKeyStroke: UnwrapRef<typeof import('@vueuse/core')['onKeyStroke']> 299 + readonly onLongPress: UnwrapRef<typeof import('@vueuse/core')['onLongPress']> 87 300 readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']> 88 301 readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']> 89 302 readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']> 90 303 readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']> 91 304 readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']> 305 + readonly onStartTyping: UnwrapRef<typeof import('@vueuse/core')['onStartTyping']> 92 306 readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']> 93 307 readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']> 308 + readonly pausableWatch: UnwrapRef<typeof import('@vueuse/core')['pausableWatch']> 94 309 readonly provide: UnwrapRef<typeof import('vue')['provide']> 310 + readonly reactify: UnwrapRef<typeof import('@vueuse/core')['reactify']> 311 + readonly reactifyObject: UnwrapRef<typeof import('@vueuse/core')['reactifyObject']> 95 312 readonly reactive: UnwrapRef<typeof import('vue')['reactive']> 313 + readonly reactiveComputed: UnwrapRef<typeof import('@vueuse/core')['reactiveComputed']> 314 + readonly reactiveOmit: UnwrapRef<typeof import('@vueuse/core')['reactiveOmit']> 315 + readonly reactivePick: UnwrapRef<typeof import('@vueuse/core')['reactivePick']> 96 316 readonly readonly: UnwrapRef<typeof import('vue')['readonly']> 97 317 readonly ref: UnwrapRef<typeof import('vue')['ref']> 318 + readonly refAutoReset: UnwrapRef<typeof import('@vueuse/core')['refAutoReset']> 319 + readonly refDebounced: UnwrapRef<typeof import('@vueuse/core')['refDebounced']> 320 + readonly refDefault: UnwrapRef<typeof import('@vueuse/core')['refDefault']> 321 + readonly refThrottled: UnwrapRef<typeof import('@vueuse/core')['refThrottled']> 322 + readonly refWithControl: UnwrapRef<typeof import('@vueuse/core')['refWithControl']> 98 323 readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']> 99 324 readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']> 100 325 readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']> 101 326 readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']> 327 + readonly syncRef: UnwrapRef<typeof import('@vueuse/core')['syncRef']> 328 + readonly syncRefs: UnwrapRef<typeof import('@vueuse/core')['syncRefs']> 329 + readonly templateRef: UnwrapRef<typeof import('@vueuse/core')['templateRef']> 330 + readonly throttledRef: UnwrapRef<typeof import('@vueuse/core')['throttledRef']> 331 + readonly throttledWatch: UnwrapRef<typeof import('@vueuse/core')['throttledWatch']> 102 332 readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']> 333 + readonly toReactive: UnwrapRef<typeof import('@vueuse/core')['toReactive']> 103 334 readonly toRef: UnwrapRef<typeof import('vue')['toRef']> 104 335 readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']> 336 + readonly toggleDark: UnwrapRef<typeof import('../composables/dark')['toggleDark']> 105 337 readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']> 338 + readonly tryOnBeforeMount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeMount']> 339 + readonly tryOnBeforeUnmount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeUnmount']> 340 + readonly tryOnMounted: UnwrapRef<typeof import('@vueuse/core')['tryOnMounted']> 341 + readonly tryOnScopeDispose: UnwrapRef<typeof import('@vueuse/core')['tryOnScopeDispose']> 342 + readonly tryOnUnmounted: UnwrapRef<typeof import('@vueuse/core')['tryOnUnmounted']> 106 343 readonly unref: UnwrapRef<typeof import('vue')['unref']> 344 + readonly unrefElement: UnwrapRef<typeof import('@vueuse/core')['unrefElement']> 345 + readonly until: UnwrapRef<typeof import('@vueuse/core')['until']> 346 + readonly useActiveElement: UnwrapRef<typeof import('@vueuse/core')['useActiveElement']> 347 + readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']> 348 + readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']> 107 349 readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']> 350 + readonly useBase64: UnwrapRef<typeof import('@vueuse/core')['useBase64']> 351 + readonly useBattery: UnwrapRef<typeof import('@vueuse/core')['useBattery']> 352 + readonly useBluetooth: UnwrapRef<typeof import('@vueuse/core')['useBluetooth']> 353 + readonly useBreakpoints: UnwrapRef<typeof import('@vueuse/core')['useBreakpoints']> 354 + readonly useBroadcastChannel: UnwrapRef<typeof import('@vueuse/core')['useBroadcastChannel']> 355 + readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']> 356 + readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']> 357 + readonly useClamp: UnwrapRef<typeof import('@vueuse/core')['useClamp']> 358 + readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']> 359 + readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']> 360 + readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']> 361 + readonly useCounter: UnwrapRef<typeof import('@vueuse/core')['useCounter']> 108 362 readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']> 363 + readonly useCssVar: UnwrapRef<typeof import('@vueuse/core')['useCssVar']> 109 364 readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']> 365 + readonly useCurrentElement: UnwrapRef<typeof import('@vueuse/core')['useCurrentElement']> 366 + readonly useCycleList: UnwrapRef<typeof import('@vueuse/core')['useCycleList']> 367 + readonly useDark: UnwrapRef<typeof import('@vueuse/core')['useDark']> 368 + readonly useDateFormat: UnwrapRef<typeof import('@vueuse/core')['useDateFormat']> 369 + readonly useDebounce: UnwrapRef<typeof import('@vueuse/core')['useDebounce']> 370 + readonly useDebounceFn: UnwrapRef<typeof import('@vueuse/core')['useDebounceFn']> 371 + readonly useDebouncedRefHistory: UnwrapRef<typeof import('@vueuse/core')['useDebouncedRefHistory']> 372 + readonly useDeviceMotion: UnwrapRef<typeof import('@vueuse/core')['useDeviceMotion']> 373 + readonly useDeviceOrientation: UnwrapRef<typeof import('@vueuse/core')['useDeviceOrientation']> 374 + readonly useDevicePixelRatio: UnwrapRef<typeof import('@vueuse/core')['useDevicePixelRatio']> 375 + readonly useDevicesList: UnwrapRef<typeof import('@vueuse/core')['useDevicesList']> 376 + readonly useDisplayMedia: UnwrapRef<typeof import('@vueuse/core')['useDisplayMedia']> 377 + readonly useDocumentVisibility: UnwrapRef<typeof import('@vueuse/core')['useDocumentVisibility']> 378 + readonly useDraggable: UnwrapRef<typeof import('@vueuse/core')['useDraggable']> 379 + readonly useDropZone: UnwrapRef<typeof import('@vueuse/core')['useDropZone']> 380 + readonly useElementBounding: UnwrapRef<typeof import('@vueuse/core')['useElementBounding']> 381 + readonly useElementByPoint: UnwrapRef<typeof import('@vueuse/core')['useElementByPoint']> 382 + readonly useElementHover: UnwrapRef<typeof import('@vueuse/core')['useElementHover']> 383 + readonly useElementSize: UnwrapRef<typeof import('@vueuse/core')['useElementSize']> 384 + readonly useElementVisibility: UnwrapRef<typeof import('@vueuse/core')['useElementVisibility']> 385 + readonly useEventBus: UnwrapRef<typeof import('@vueuse/core')['useEventBus']> 386 + readonly useEventListener: UnwrapRef<typeof import('@vueuse/core')['useEventListener']> 387 + readonly useEventSource: UnwrapRef<typeof import('@vueuse/core')['useEventSource']> 388 + readonly useEyeDropper: UnwrapRef<typeof import('@vueuse/core')['useEyeDropper']> 389 + readonly useFavicon: UnwrapRef<typeof import('@vueuse/core')['useFavicon']> 390 + readonly useFetch: UnwrapRef<typeof import('@vueuse/core')['useFetch']> 391 + readonly useFileSystemAccess: UnwrapRef<typeof import('@vueuse/core')['useFileSystemAccess']> 392 + readonly useFocus: UnwrapRef<typeof import('@vueuse/core')['useFocus']> 393 + readonly useFocusWithin: UnwrapRef<typeof import('@vueuse/core')['useFocusWithin']> 394 + readonly useFps: UnwrapRef<typeof import('@vueuse/core')['useFps']> 395 + readonly useFullscreen: UnwrapRef<typeof import('@vueuse/core')['useFullscreen']> 396 + readonly useGamepad: UnwrapRef<typeof import('@vueuse/core')['useGamepad']> 397 + readonly useGeolocation: UnwrapRef<typeof import('@vueuse/core')['useGeolocation']> 398 + readonly useIdle: UnwrapRef<typeof import('@vueuse/core')['useIdle']> 399 + readonly useImage: UnwrapRef<typeof import('@vueuse/core')['useImage']> 400 + readonly useInfiniteScroll: UnwrapRef<typeof import('@vueuse/core')['useInfiniteScroll']> 401 + readonly useIntersectionObserver: UnwrapRef<typeof import('@vueuse/core')['useIntersectionObserver']> 402 + readonly useInterval: UnwrapRef<typeof import('@vueuse/core')['useInterval']> 403 + readonly useIntervalFn: UnwrapRef<typeof import('@vueuse/core')['useIntervalFn']> 404 + readonly useKeyModifier: UnwrapRef<typeof import('@vueuse/core')['useKeyModifier']> 405 + readonly useLastChanged: UnwrapRef<typeof import('@vueuse/core')['useLastChanged']> 406 + readonly useLocalStorage: UnwrapRef<typeof import('@vueuse/core')['useLocalStorage']> 407 + readonly useMagicKeys: UnwrapRef<typeof import('@vueuse/core')['useMagicKeys']> 408 + readonly useManualRefHistory: UnwrapRef<typeof import('@vueuse/core')['useManualRefHistory']> 409 + readonly useMediaControls: UnwrapRef<typeof import('@vueuse/core')['useMediaControls']> 410 + readonly useMediaQuery: UnwrapRef<typeof import('@vueuse/core')['useMediaQuery']> 411 + readonly useMemoize: UnwrapRef<typeof import('@vueuse/core')['useMemoize']> 412 + readonly useMemory: UnwrapRef<typeof import('@vueuse/core')['useMemory']> 413 + readonly useMounted: UnwrapRef<typeof import('@vueuse/core')['useMounted']> 414 + readonly useMouse: UnwrapRef<typeof import('@vueuse/core')['useMouse']> 415 + readonly useMouseInElement: UnwrapRef<typeof import('@vueuse/core')['useMouseInElement']> 416 + readonly useMousePressed: UnwrapRef<typeof import('@vueuse/core')['useMousePressed']> 417 + readonly useMutationObserver: UnwrapRef<typeof import('@vueuse/core')['useMutationObserver']> 418 + readonly useNavigatorLanguage: UnwrapRef<typeof import('@vueuse/core')['useNavigatorLanguage']> 419 + readonly useNetwork: UnwrapRef<typeof import('@vueuse/core')['useNetwork']> 420 + readonly useNow: UnwrapRef<typeof import('@vueuse/core')['useNow']> 421 + readonly useOffsetPagination: UnwrapRef<typeof import('@vueuse/core')['useOffsetPagination']> 422 + readonly useOnline: UnwrapRef<typeof import('@vueuse/core')['useOnline']> 423 + readonly usePageLeave: UnwrapRef<typeof import('@vueuse/core')['usePageLeave']> 424 + readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']> 425 + readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']> 426 + readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']> 427 + readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']> 428 + readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']> 429 + readonly usePreferredDark: UnwrapRef<typeof import('@vueuse/core')['usePreferredDark']> 430 + readonly usePreferredLanguages: UnwrapRef<typeof import('@vueuse/core')['usePreferredLanguages']> 431 + readonly useRafFn: UnwrapRef<typeof import('@vueuse/core')['useRafFn']> 432 + readonly useRefHistory: UnwrapRef<typeof import('@vueuse/core')['useRefHistory']> 433 + readonly useResizeObserver: UnwrapRef<typeof import('@vueuse/core')['useResizeObserver']> 434 + readonly useScreenOrientation: UnwrapRef<typeof import('@vueuse/core')['useScreenOrientation']> 435 + readonly useScreenSafeArea: UnwrapRef<typeof import('@vueuse/core')['useScreenSafeArea']> 436 + readonly useScriptTag: UnwrapRef<typeof import('@vueuse/core')['useScriptTag']> 437 + readonly useScroll: UnwrapRef<typeof import('@vueuse/core')['useScroll']> 438 + readonly useScrollLock: UnwrapRef<typeof import('@vueuse/core')['useScrollLock']> 439 + readonly useSessionStorage: UnwrapRef<typeof import('@vueuse/core')['useSessionStorage']> 440 + readonly useShare: UnwrapRef<typeof import('@vueuse/core')['useShare']> 110 441 readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']> 442 + readonly useSpeechRecognition: UnwrapRef<typeof import('@vueuse/core')['useSpeechRecognition']> 443 + readonly useSpeechSynthesis: UnwrapRef<typeof import('@vueuse/core')['useSpeechSynthesis']> 444 + readonly useStorage: UnwrapRef<typeof import('@vueuse/core')['useStorage']> 445 + readonly useStorageAsync: UnwrapRef<typeof import('@vueuse/core')['useStorageAsync']> 446 + readonly useStyleTag: UnwrapRef<typeof import('@vueuse/core')['useStyleTag']> 447 + readonly useSwipe: UnwrapRef<typeof import('@vueuse/core')['useSwipe']> 448 + readonly useTemplateRefsList: UnwrapRef<typeof import('@vueuse/core')['useTemplateRefsList']> 449 + readonly useTextSelection: UnwrapRef<typeof import('@vueuse/core')['useTextSelection']> 450 + readonly useThrottle: UnwrapRef<typeof import('@vueuse/core')['useThrottle']> 451 + readonly useThrottleFn: UnwrapRef<typeof import('@vueuse/core')['useThrottleFn']> 452 + readonly useThrottledRefHistory: UnwrapRef<typeof import('@vueuse/core')['useThrottledRefHistory']> 453 + readonly useTimeAgo: UnwrapRef<typeof import('@vueuse/core')['useTimeAgo']> 454 + readonly useTimeout: UnwrapRef<typeof import('@vueuse/core')['useTimeout']> 455 + readonly useTimeoutFn: UnwrapRef<typeof import('@vueuse/core')['useTimeoutFn']> 456 + readonly useTimeoutPoll: UnwrapRef<typeof import('@vueuse/core')['useTimeoutPoll']> 457 + readonly useTimestamp: UnwrapRef<typeof import('@vueuse/core')['useTimestamp']> 458 + readonly useTitle: UnwrapRef<typeof import('@vueuse/core')['useTitle']> 459 + readonly useToggle: UnwrapRef<typeof import('@vueuse/core')['useToggle']> 460 + readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']> 461 + readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']> 462 + readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']> 463 + readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']> 464 + readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']> 465 + readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']> 466 + readonly useVirtualList: UnwrapRef<typeof import('@vueuse/core')['useVirtualList']> 467 + readonly useWakeLock: UnwrapRef<typeof import('@vueuse/core')['useWakeLock']> 468 + readonly useWebNotification: UnwrapRef<typeof import('@vueuse/core')['useWebNotification']> 469 + readonly useWebSocket: UnwrapRef<typeof import('@vueuse/core')['useWebSocket']> 470 + readonly useWebWorker: UnwrapRef<typeof import('@vueuse/core')['useWebWorker']> 471 + readonly useWebWorkerFn: UnwrapRef<typeof import('@vueuse/core')['useWebWorkerFn']> 472 + readonly useWindowFocus: UnwrapRef<typeof import('@vueuse/core')['useWindowFocus']> 473 + readonly useWindowScroll: UnwrapRef<typeof import('@vueuse/core')['useWindowScroll']> 474 + readonly useWindowSize: UnwrapRef<typeof import('@vueuse/core')['useWindowSize']> 111 475 readonly watch: UnwrapRef<typeof import('vue')['watch']> 476 + readonly watchAtMost: UnwrapRef<typeof import('@vueuse/core')['watchAtMost']> 477 + readonly watchDebounced: UnwrapRef<typeof import('@vueuse/core')['watchDebounced']> 112 478 readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']> 479 + readonly watchIgnorable: UnwrapRef<typeof import('@vueuse/core')['watchIgnorable']> 480 + readonly watchOnce: UnwrapRef<typeof import('@vueuse/core')['watchOnce']> 481 + readonly watchPausable: UnwrapRef<typeof import('@vueuse/core')['watchPausable']> 113 482 readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']> 114 483 readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']> 484 + readonly watchThrottled: UnwrapRef<typeof import('@vueuse/core')['watchThrottled']> 485 + readonly watchWithFilter: UnwrapRef<typeof import('@vueuse/core')['watchWithFilter']> 486 + readonly whenever: UnwrapRef<typeof import('@vueuse/core')['whenever']> 115 487 } 116 488 }
+2 -1
src/typings/components.d.ts
··· 6 6 declare module '@vue/runtime-core' { 7 7 export interface GlobalComponents { 8 8 ElButton: typeof import('element-plus/es')['ElButton'] 9 - ElIcon: typeof import('element-plus/es')['ElIcon'] 10 9 ElInput: typeof import('element-plus/es')['ElInput'] 10 + ElLink: typeof import('element-plus/es')['ElLink'] 11 11 ElSpace: typeof import('element-plus/es')['ElSpace'] 12 + Footer: typeof import('./../components/Footer.vue')['default'] 12 13 IEpAddLocation: typeof import('~icons/ep/add-location')['default'] 13 14 IEpAim: typeof import('~icons/ep/aim')['default'] 14 15 IEpCircleCheckFilled: typeof import('~icons/ep/circle-check-filled')['default']
+5
unocss.config.ts
··· 1 + import { defineConfig, presetAttributify, presetIcons, presetUno } from 'unocss' 2 + 3 + export default defineConfig({ 4 + presets: [presetAttributify(), presetIcons(), presetUno()], 5 + })
+5 -1
vite.config.ts
··· 6 6 import AutoImport from 'unplugin-auto-import/vite' 7 7 import Components from 'unplugin-vue-components/vite' 8 8 import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' 9 + import UnoCSS from 'unocss/vite' 9 10 import Inspect from 'vite-plugin-inspect' 10 11 11 12 const pathSrc = path.resolve(__dirname, 'src') ··· 23 24 AutoImport({ 24 25 // Auto import functions from Vue, e.g. ref, reactive, toRef... 25 26 // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等 26 - imports: ['vue'], 27 + imports: ['vue', '@vueuse/core'], 28 + dirs: [path.resolve(pathSrc, 'composables')], 27 29 28 30 // Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style) 29 31 // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式) ··· 58 60 Icons({ 59 61 autoInstall: true, 60 62 }), 63 + 64 + UnoCSS(), 61 65 62 66 Inspect(), 63 67 ],