UNPKG

@fastkit/vue-page

Version:

Middleware for more convenient control of routing in Vue applications.

1 lines 87.6 kB
{"version":3,"sources":["../src/composables/router/suspense-route-bucket.ts","../src/composables/router/scroll-behavior.ts","../src/utils.ts","../src/logger.ts","../src/injections.ts","../src/composables/page-error.ts","../src/components/VErrorPage/VErrorPage.tsx","../src/composables/page-control.ts","../src/composables/plugin.ts","../src/composables/state.ts","../src/components/VPage.tsx","../src/components/VPageProgress/VPageProgress.tsx","../src/components/VPageLink.ts","../src/components/VPageRoot/VPageRoot.tsx"],"names":["name","_createVNode","Component","EV","ref","computed","IN_WINDOW","stringifyQuery","prefetch","inject","defineComponent","h","_Fragment"],"mappings":"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","file":"vue-page.mjs","sourcesContent":["import { EV } from '@fastkit/ev';\nimport { ref, VNode, ComputedRef, computed } from 'vue';\n\nexport type SuspenseRouteSource = VNode;\n\nexport interface SuspenseRouteBucketPayload {\n bucket: SuspenseRouteBucket;\n source: SuspenseRouteSource;\n}\n\nexport interface SuspenseRouteBucketEventMap {\n push: SuspenseRouteBucketPayload;\n remove: SuspenseRouteBucketPayload;\n start: SuspenseRouteBucketPayload;\n finish: SuspenseRouteBucketPayload;\n}\n\nexport interface SuspenseRouteBucketProgress {\n total: number;\n resolved: number;\n}\n\nclass SuspenseRouteBucket extends EV<SuspenseRouteBucketEventMap> {\n private readonly _sources = ref<SuspenseRouteSource[]>([]);\n\n private readonly _total = ref(0);\n\n private readonly _progress: ComputedRef<SuspenseRouteBucketProgress>;\n\n get sources() {\n return this._sources.value;\n }\n\n get total() {\n return this._total.value;\n }\n\n get progress() {\n return this._progress.value;\n }\n\n constructor() {\n super();\n this._progress = computed(() => {\n const { total, sources } = this;\n return {\n total,\n resolved: total - sources.length,\n };\n });\n this.push = this.push.bind(this);\n this.remove = this.remove.bind(this);\n }\n\n push(source?: SuspenseRouteSource) {\n if (!source) return;\n const { sources } = this;\n if (!sources.includes(source)) {\n sources.push(source);\n this._total.value++;\n const payload: SuspenseRouteBucketPayload = { bucket: this, source };\n this.emit('push', payload);\n if (sources.length === 1) {\n this.emit('start', payload);\n }\n }\n }\n\n remove(source?: SuspenseRouteSource) {\n if (!source) return;\n const { sources } = this;\n const index = sources.indexOf(source);\n if (index !== -1) {\n sources.splice(index, 1);\n const payload: SuspenseRouteBucketPayload = { bucket: this, source };\n this.emit('remove', payload);\n if (sources.length === 0) {\n this._total.value = 0;\n this.emit('finish', payload);\n }\n }\n }\n\n ensureReady() {\n return new Promise<void>((resolve) => {\n const { total } = this;\n if (total === 0) return resolve();\n this.once('finish', () => {\n resolve();\n });\n });\n }\n}\n\nlet _suspenseRouteBucket: SuspenseRouteBucket | undefined;\n\nexport function getSuspenseRouteBucket() {\n if (!_suspenseRouteBucket) {\n _suspenseRouteBucket = new SuspenseRouteBucket();\n }\n return _suspenseRouteBucket;\n}\n","import { ComponentCustomOptions } from 'vue';\nimport type { RouterScrollBehavior, RouteLocationNormalized } from 'vue-router';\nimport { getRouteMatchedComponents } from '@fastkit/vue-utils';\nimport { getSuspenseRouteBucket } from './suspense-route-bucket';\n\nexport type RawRouterScrollBehavior = 'top' | RouterScrollBehavior;\n\ndeclare module 'vue' {\n // eslint-disable-next-line no-shadow\n export interface ComponentCustomOptions {\n scrollBehavior?: RawRouterScrollBehavior;\n }\n}\n\nexport type ScrollBehaviorMessengerFn = (canceled: boolean) => any;\n\nexport class ScrollBehaviorMessenger {\n private static fns: ScrollBehaviorMessengerFn[] = [];\n\n static trigger() {\n this.fns.forEach((fn) => fn(false));\n this.fns = [];\n }\n\n static reserveNextPosition(position: any) {\n return new Promise<any>((resolve) => {\n this.fns.push((canceled) => {\n resolve(canceled ? undefined : position);\n });\n });\n }\n\n static release() {\n this.fns.forEach((fn) => fn(true));\n this.fns = [];\n }\n}\n\nfunction resolveRawRouterScrollBehavior(\n source: RawRouterScrollBehavior,\n): RouterScrollBehavior {\n if (source === 'top') {\n source = (to, from, savedPosition) => savedPosition || { top: 0, left: 0 };\n }\n return source;\n}\n\nfunction extractMatchedBehaviors(route: RouteLocationNormalized) {\n const components = getRouteMatchedComponents(\n route,\n ) as ComponentCustomOptions[];\n const behaviors: RouterScrollBehavior[] = [];\n components.forEach(({ scrollBehavior }) => {\n if (scrollBehavior != null) {\n behaviors.push(resolveRawRouterScrollBehavior(scrollBehavior));\n }\n });\n return behaviors;\n}\n\nfunction findLastMatchedBehavior(\n route: RouteLocationNormalized,\n): RouterScrollBehavior | undefined {\n const behaviors = extractMatchedBehaviors(route);\n return behaviors[behaviors.length - 1];\n}\n\nexport function createScrollBehavior(): RouterScrollBehavior {\n const scrollBehavior: RouterScrollBehavior = (to, from, savedPosition) => {\n // If the returned position is falsy or an empty object, will retain current scroll position\n let position: any = false;\n const isRouteChanged = to !== from;\n\n // savedPosition is only available for popstate navigations (back button)\n if (savedPosition) {\n position = savedPosition;\n } else if (isRouteChanged) {\n const matchedBehavior =\n findLastMatchedBehavior(to) || resolveRawRouterScrollBehavior('top');\n position = matchedBehavior(to, from, savedPosition);\n } else if (to.path === from.path && to.hash !== from.hash) {\n // nextTick(() => nuxt.$emit('triggerScroll'));\n }\n\n return getSuspenseRouteBucket()\n .ensureReady()\n .then(async () => {\n // coords will be used if no selector is provided,\n // or if the selector didn't match any element.\n if (to.hash) {\n let { hash } = to;\n // CSS.escape() is not supported with IE and Edge.\n if (\n typeof window.CSS !== 'undefined' &&\n typeof window.CSS.escape !== 'undefined'\n ) {\n hash = `#${window.CSS.escape(hash.substr(1))}`;\n }\n try {\n const el = document.querySelector(hash);\n if (el) {\n // scroll to anchor by returning the selector\n position = { el: hash };\n // Respect any scroll-margin-top set in CSS when scrolling to anchor\n // const _scrollMarginTop = getComputedStyle(el).scrollMarginTop;\n // if (_scrollMarginTop != null) {\n // position.behavior =\n // }\n // const y = Number(getComputedStyle(el)['scroll-margin-top']?.replace('px', ''))\n // if (y) {\n // position.offset = { y }\n // }\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).',\n );\n }\n }\n\n return ScrollBehaviorMessenger.reserveNextPosition(position);\n });\n };\n return scrollBehavior;\n}\n","import {\n stringifyQuery,\n RouteLocationMatched,\n RouteLocationNormalized,\n} from 'vue-router';\nimport { isObject, IN_WINDOW } from '@fastkit/helpers';\nimport { RouteMatchedItem, RawRouteComponent } from '@fastkit/vue-utils';\nimport {\n WatchQueryOption,\n RouterViewSlotProps,\n VuePageKeyOverride,\n} from './schemes';\n\nexport function parseWatchQueryOption(\n route: RouteLocationNormalized,\n opts?: WatchQueryOption,\n): string {\n // if (!opts) return route.path;\n if (opts === true) {\n opts = Object.keys(route.query);\n }\n if (!opts || !opts.length) return '';\n const query: RouteLocationNormalized['query'] = {};\n opts.forEach((row) => {\n query[row] = route.query[row];\n });\n const queryStr = stringifyQuery(query);\n // let key = route.path;\n let key = '&';\n if (queryStr) {\n key += `?${queryStr}`;\n }\n return key;\n}\n\nexport function extractWatchQueryOption(\n source: any,\n): WatchQueryOption | undefined {\n if (!isObject<any>(source)) return;\n if (source.watchQuery) return source.watchQuery;\n if (isObject(source.type) && source.type.watchQuery) {\n return source.type.watchQuery;\n }\n}\n\nexport function generateWatchQueryKeySuffix(routeProps: {\n Component: RouterViewSlotProps['Component'] | RawRouteComponent;\n route: RouteLocationNormalized;\n}): string {\n const option = extractWatchQueryOption(routeProps.Component);\n return parseWatchQueryOption(routeProps.route, option);\n}\n\nconst interpolatePath = (\n route: {\n params: RouteLocationNormalized['params'];\n },\n match: {\n path: RouteLocationMatched['path'];\n },\n) =>\n match.path\n .replace(/(:\\w+)\\([^)]+\\)/g, '$1')\n .replace(/(:\\w+)[?+*]/g, '$1')\n .replace(/:\\w+/g, (r) => route.params[r.slice(1)]?.toString() || '');\n\nexport const generateRouteKey = (\n routeProps: RouterViewSlotProps,\n override?: VuePageKeyOverride,\n): string => {\n const matchedRoute = routeProps.route.matched.find(\n (m) =>\n routeProps.Component &&\n m.components?.default === routeProps.Component.type,\n );\n if (!matchedRoute) {\n return '';\n }\n const source =\n override ??\n matchedRoute?.meta.key ??\n interpolatePath(routeProps.route, matchedRoute);\n return typeof source === 'function' ? source(routeProps.route) : source;\n};\n\nexport const generateRouteKeyWithWatchQuery = (\n routeProps: RouterViewSlotProps,\n override?: VuePageKeyOverride,\n) => {\n const routeKey = generateRouteKey(routeProps, override);\n if (!routeKey) return routeKey;\n return `${routeKey}${generateWatchQueryKeySuffix(routeProps)}`;\n};\n\nexport function routeKeyWithWatchQueryByRouteItem(\n route: RouteLocationNormalized,\n item: RouteMatchedItem,\n) {\n const routeKey = interpolatePath(route, item.route);\n const routeProps = {\n Component: item.Component,\n route,\n };\n return `${routeKey}${generateWatchQueryKeySuffix(routeProps)}`;\n}\n\nlet __forcePrefetchStates: {\n [pageKey: string]: boolean;\n} = {};\n\nexport function getForcePrefetchStates(pageKey: string) {\n return __forcePrefetchStates[pageKey];\n}\n\nexport function consumeForcePrefetchStates(pageKey: string) {\n const value = getForcePrefetchStates(pageKey);\n setForcePrefetchStates(pageKey, false);\n return value;\n}\n\nexport function setForcePrefetchStates(pageKey: string, value: boolean) {\n if (IN_WINDOW) return;\n if (value) {\n __forcePrefetchStates[pageKey] = value;\n } else {\n delete __forcePrefetchStates[pageKey];\n }\n}\n\nexport function resetForcePrefetchStates() {\n __forcePrefetchStates = {};\n}\n","import { TinyLogger, createTinyError } from '@fastkit/tiny-logger';\n\nconst name = 'vue-page';\n\nexport const logger = new TinyLogger(name);\n\nexport const VuePageError = createTinyError(name);\n","import { InjectionKey, inject, onBeforeUnmount } from 'vue';\nimport type { VuePageControl, UseVuePageControlOptions } from './composables';\nimport { VuePageError } from './logger';\n\nexport const VuePageControlInjectionKey: InjectionKey<VuePageControl> =\n Symbol('VuePageControl');\n\nexport function useVuePageControl(opts: UseVuePageControlOptions = {}) {\n const pageControl = inject(VuePageControlInjectionKey, null);\n if (!pageControl) {\n throw new VuePageError(`missing provided VuePageControl.`);\n }\n\n const { onStart, onFinish, onError } = opts;\n if (onStart || onFinish) {\n onStart && pageControl.on('start', onStart);\n onFinish && pageControl.on('finish', onFinish);\n onError && pageControl.on('error', onError);\n\n onBeforeUnmount(() => {\n onStart && pageControl.off('start', onStart);\n onFinish && pageControl.off('finish', onFinish);\n onError && pageControl.off('error', onError);\n });\n }\n return pageControl;\n}\n","const name = 'VuePageControlError';\n\nexport interface VuePageControlErrorSettings {\n statusCode?: number;\n message?: string;\n stack?: string;\n}\n\nexport function isVuePageControlError(\n source: unknown,\n): source is VuePageControlError {\n return source instanceof VuePageControlError;\n}\n\nexport class VuePageControlError extends Error {\n readonly name = name;\n\n readonly statusCode: number;\n\n constructor(\n rawSettings: VuePageControlErrorSettings | unknown | string | Error = {},\n ) {\n let settings: VuePageControlErrorSettings;\n if (rawSettings instanceof Error) {\n if (isVuePageControlError(rawSettings)) {\n settings = {\n statusCode: rawSettings.statusCode,\n message: rawSettings.message,\n stack: rawSettings.stack,\n };\n } else {\n settings = {\n message: rawSettings.message,\n stack: rawSettings.stack,\n };\n }\n } else {\n settings =\n // eslint-disable-next-line no-nested-ternary\n typeof rawSettings === 'string'\n ? { message: rawSettings }\n : rawSettings && typeof rawSettings === 'object'\n ? {\n statusCode: (rawSettings as VuePageControlErrorSettings)\n .statusCode,\n message: (rawSettings as VuePageControlErrorSettings).message,\n stack: (rawSettings as VuePageControlErrorSettings).stack,\n }\n : {};\n }\n\n const {\n statusCode = 500,\n message = 'An error has occurred.',\n stack,\n } = settings;\n super(message);\n this.statusCode = statusCode;\n if (stack) {\n this.stack = stack;\n }\n }\n\n toJSON() {\n return {\n name: this.name,\n statusCode: this.statusCode,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","import { createVNode as _createVNode } from \"vue\";\nimport { defineComponent } from 'vue';\nimport { useVuePageControl } from '../../injections';\nimport { VuePageControlError } from '../../composables/page-error';\nexport const VErrorPage = defineComponent({\n name: 'VErrorPage',\n setup() {\n const control = useVuePageControl();\n return () => {\n const pageError = control.pageError || new VuePageControlError();\n return _createVNode(\"div\", {\n \"class\": \"v-error-page\",\n \"style\": {\n padding: '32px',\n fontSize: '16px',\n lineHeight: '1.5'\n }\n }, [_createVNode(\"h1\", {\n \"class\": \"v-error-page__status-code\",\n \"style\": {\n fontSize: '3em',\n margin: '16px 0'\n }\n }, [pageError.statusCode]), _createVNode(\"p\", {\n \"class\": \"v-error-page__message\",\n \"style\": {\n margin: '1em 0'