Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 29x 29x 29x 29x 29x 29x 29x 29x 29x 29x 29x | import type { App } from 'vue'
import { LOADING_CONFIG, type LoadingKitConfig } from './config'
import { PAGE_PROGRESS, bindRouter, createPageProgress, type RouterLike } from './utils/pageProgress'
import Skeleton from './components/Skeleton/Skeleton.vue'
import Spinner from './components/Spinner/Spinner.vue'
import SmartLoader from './components/SmartLoader.vue'
import ProgressBar from './components/ProgressBar/ProgressBar.vue'
import PageProgress from './components/PageProgress/PageProgress.vue'
import { vSkeleton } from './skeletonize/directive'
import './skeletonize/skeletonize.css'
export { Skeleton, Spinner, SmartLoader, ProgressBar, PageProgress }
export { usePageProgress } from './utils/pageProgress'
export { vSkeleton } from './skeletonize/directive'
export type { SkeletonDirectiveValue } from './skeletonize/directive'
export type { PageProgress as PageProgressController, RouterLike } from './utils/pageProgress'
export { useDelayedLoading } from './utils/useDelayedLoading'
export { provideLoadingConfig, useLoadingConfig } from './config'
export type { LoadingKitConfig } from './config'
export interface LoadingKitOptions extends LoadingKitConfig {
/** A vue-router instance: <PageProgress> then follows every navigation. */
router?: RouterLike
}
export type { DelayedLoadingOptions } from './utils/useDelayedLoading'
export type {
SkeletonBaseProps,
SkeletonVariantName,
SkeletonAnimationName,
SkeletonOutline,
} from './components/Skeleton/types'
export type {
SpinnerProps,
SpinnerVariantName,
SpinnerType,
} from './components/Spinner/spinner.types'
export default {
install(app: App, options: LoadingKitOptions = {}) {
const { router, ...config } = options
app.provide(LOADING_CONFIG, config)
// one page progress per app (not a module singleton, so SSR requests
// never share it), driven by the router and by usePageProgress()
const progress = createPageProgress()
app.provide(PAGE_PROGRESS, progress)
if (router) bindRouter(progress, router)
app.component('Skeleton', Skeleton)
app.component('Spinner', Spinner)
app.component('SmartLoader', SmartLoader)
app.component('ProgressBar', ProgressBar)
app.component('PageProgress', PageProgress)
app.directive('skeleton', vSkeleton)
}
}
|