{"version":3,"file":"AppLink.ff7d49c0.js","sources":["../../../../node_modules/nuxt/dist/app/compat/idle-callback.js","../../../../node_modules/nuxt/dist/app/composables/ready.js","../../../../node_modules/nuxt/dist/app/composables/preload.js","../../../../node_modules/nuxt/dist/app/components/nuxt-link.js","../../../../components/global/elements/AppLink.ts"],"sourcesContent":["export const requestIdleCallback = process.server ? () => {\n} : globalThis.requestIdleCallback || ((cb) => {\n const start = Date.now();\n const idleDeadline = {\n didTimeout: false,\n timeRemaining: () => Math.max(0, 50 - (Date.now() - start))\n };\n return setTimeout(() => {\n cb(idleDeadline);\n }, 1);\n});\nexport const cancelIdleCallback = process.server ? () => {\n} : globalThis.cancelIdleCallback || ((id) => {\n clearTimeout(id);\n});\n","import { useNuxtApp } from \"../nuxt.js\";\nimport { requestIdleCallback } from \"../compat/idle-callback.js\";\nexport const onNuxtReady = (callback) => {\n if (process.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n if (nuxtApp.isHydrating) {\n nuxtApp.hooks.hookOnce(\"app:suspense:resolve\", () => {\n requestIdleCallback(callback);\n });\n } else {\n requestIdleCallback(callback);\n }\n};\n","import { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nexport const preloadComponents = async (components) => {\n if (process.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n components = Array.isArray(components) ? components : [components];\n await Promise.all(components.map((name) => _loadAsyncComponent(nuxtApp.vueApp._context.components[name])));\n};\nexport const prefetchComponents = (components) => {\n return preloadComponents(components);\n};\nfunction _loadAsyncComponent(component) {\n if (component?.__asyncLoader && !component.__asyncResolved) {\n return component.__asyncLoader();\n }\n}\nexport async function preloadRouteComponents(to, router = useRouter()) {\n if (process.server) {\n return;\n }\n const { path, matched } = router.resolve(to);\n if (!matched.length) {\n return;\n }\n if (!router._routePreloaded) {\n router._routePreloaded = /* @__PURE__ */ new Set();\n }\n if (router._routePreloaded.has(path)) {\n return;\n }\n const promises = router._preloadPromises = router._preloadPromises || [];\n if (promises.length > 4) {\n return Promise.all(promises).then(() => preloadRouteComponents(to, router));\n }\n router._routePreloaded.add(path);\n const components = matched.map((component) => component.components?.default).filter((component) => typeof component === \"function\");\n for (const component of components) {\n const promise = Promise.resolve(component()).catch(() => {\n }).finally(() => promises.splice(promises.indexOf(promise)));\n promises.push(promise);\n }\n await Promise.all(promises);\n}\n","import { computed, defineComponent, h, onBeforeUnmount, onMounted, ref, resolveComponent } from \"vue\";\nimport { hasProtocol, parseQuery, parseURL, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { preloadRouteComponents } from \"../composables/preload.js\";\nimport { onNuxtReady } from \"../composables/ready.js\";\nimport { navigateTo, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { cancelIdleCallback, requestIdleCallback } from \"../compat/idle-callback.js\";\nconst firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);\nconst DEFAULT_EXTERNAL_REL_ATTRIBUTE = \"noopener noreferrer\";\nexport function defineNuxtLink(options) {\n const componentName = options.componentName || \"NuxtLink\";\n const checkPropConflicts = (props, main, sub) => {\n if (process.dev && props[main] !== void 0 && props[sub] !== void 0) {\n console.warn(`[${componentName}] \\`${main}\\` and \\`${sub}\\` cannot be used together. \\`${sub}\\` will be ignored.`);\n }\n };\n const resolveTrailingSlashBehavior = (to, resolve) => {\n if (!to || options.trailingSlash !== \"append\" && options.trailingSlash !== \"remove\") {\n return to;\n }\n const normalizeTrailingSlash = options.trailingSlash === \"append\" ? withTrailingSlash : withoutTrailingSlash;\n if (typeof to === \"string\") {\n return normalizeTrailingSlash(to, true);\n }\n const path = \"path\" in to ? to.path : resolve(to).path;\n return {\n ...to,\n name: void 0,\n // named routes would otherwise always override trailing slash behavior\n path: normalizeTrailingSlash(path, true)\n };\n };\n return defineComponent({\n name: componentName,\n props: {\n // Routing\n to: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n href: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n // Attributes\n target: {\n type: String,\n default: void 0,\n required: false\n },\n rel: {\n type: String,\n default: void 0,\n required: false\n },\n noRel: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Prefetching\n prefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n noPrefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Styling\n activeClass: {\n type: String,\n default: void 0,\n required: false\n },\n exactActiveClass: {\n type: String,\n default: void 0,\n required: false\n },\n prefetchedClass: {\n type: String,\n default: void 0,\n required: false\n },\n // Vue Router's `` additional props\n replace: {\n type: Boolean,\n default: void 0,\n required: false\n },\n ariaCurrentValue: {\n type: String,\n default: void 0,\n required: false\n },\n // Edge cases handling\n external: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Slot API\n custom: {\n type: Boolean,\n default: void 0,\n required: false\n }\n },\n setup(props, { slots }) {\n const router = useRouter();\n const to = computed(() => {\n checkPropConflicts(props, \"to\", \"href\");\n const path = props.to || props.href || \"\";\n return resolveTrailingSlashBehavior(path, router.resolve);\n });\n const isExternal = computed(() => {\n if (props.external) {\n return true;\n }\n if (props.target && props.target !== \"_self\") {\n return true;\n }\n if (typeof to.value === \"object\") {\n return false;\n }\n return to.value === \"\" || hasProtocol(to.value, { acceptRelative: true });\n });\n const prefetched = ref(false);\n const el = process.server ? void 0 : ref(null);\n const elRef = process.server ? void 0 : (ref2) => {\n el.value = props.custom ? ref2?.$el?.nextElementSibling : ref2?.$el;\n };\n if (process.client) {\n checkPropConflicts(props, \"prefetch\", \"noPrefetch\");\n const shouldPrefetch = props.prefetch !== false && props.noPrefetch !== true && props.target !== \"_blank\" && !isSlowConnection();\n if (shouldPrefetch) {\n const nuxtApp = useNuxtApp();\n let idleId;\n let unobserve = null;\n onMounted(() => {\n const observer = useObserver();\n onNuxtReady(() => {\n idleId = requestIdleCallback(() => {\n if (el?.value?.tagName) {\n unobserve = observer.observe(el.value, async () => {\n unobserve?.();\n unobserve = null;\n const path = typeof to.value === \"string\" ? to.value : router.resolve(to.value).fullPath;\n await Promise.all([\n nuxtApp.hooks.callHook(\"link:prefetch\", path).catch(() => {\n }),\n !isExternal.value && preloadRouteComponents(to.value, router).catch(() => {\n })\n ]);\n prefetched.value = true;\n });\n }\n });\n });\n });\n onBeforeUnmount(() => {\n if (idleId) {\n cancelIdleCallback(idleId);\n }\n unobserve?.();\n unobserve = null;\n });\n }\n }\n return () => {\n if (!isExternal.value) {\n const routerLinkProps = {\n ref: elRef,\n to: to.value,\n activeClass: props.activeClass || options.activeClass,\n exactActiveClass: props.exactActiveClass || options.exactActiveClass,\n replace: props.replace,\n ariaCurrentValue: props.ariaCurrentValue,\n custom: props.custom\n };\n if (!props.custom) {\n if (prefetched.value) {\n routerLinkProps.class = props.prefetchedClass || options.prefetchedClass;\n }\n routerLinkProps.rel = props.rel;\n }\n return h(\n resolveComponent(\"RouterLink\"),\n routerLinkProps,\n slots.default\n );\n }\n const href = typeof to.value === \"object\" ? router.resolve(to.value)?.href ?? null : to.value || null;\n const target = props.target || null;\n checkPropConflicts(props, \"noRel\", \"rel\");\n const rel = props.noRel ? null : firstNonUndefined(props.rel, options.externalRelAttribute, href ? DEFAULT_EXTERNAL_REL_ATTRIBUTE : \"\") || null;\n const navigate = () => navigateTo(href, { replace: props.replace });\n if (props.custom) {\n if (!slots.default) {\n return null;\n }\n return slots.default({\n href,\n navigate,\n get route() {\n if (!href) {\n return void 0;\n }\n const url = parseURL(href);\n return {\n path: url.pathname,\n fullPath: url.pathname,\n get query() {\n return parseQuery(url.search);\n },\n hash: url.hash,\n // stub properties for compat with vue-router\n params: {},\n name: void 0,\n matched: [],\n redirectedFrom: void 0,\n meta: {},\n href\n };\n },\n rel,\n target,\n isExternal: isExternal.value,\n isActive: false,\n isExactActive: false\n });\n }\n return h(\"a\", { ref: el, href, rel, target }, slots.default?.());\n };\n }\n });\n}\nexport default defineNuxtLink({ componentName: \"NuxtLink\" });\nfunction useObserver() {\n if (process.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n if (nuxtApp._observer) {\n return nuxtApp._observer;\n }\n let observer = null;\n const callbacks = /* @__PURE__ */ new Map();\n const observe = (element, callback) => {\n if (!observer) {\n observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n const callback2 = callbacks.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (isVisible && callback2) {\n callback2();\n }\n }\n });\n }\n callbacks.set(element, callback);\n observer.observe(element);\n return () => {\n callbacks.delete(element);\n observer.unobserve(element);\n if (callbacks.size === 0) {\n observer.disconnect();\n observer = null;\n }\n };\n };\n const _observer = nuxtApp._observer = {\n observe\n };\n return _observer;\n}\nfunction isSlowConnection() {\n if (process.server) {\n return;\n }\n const cn = navigator.connection;\n if (cn && (cn.saveData || /2g/.test(cn.effectiveType))) {\n return true;\n }\n return false;\n}\n","export default defineNuxtLink({\n componentName: 'AppLink',\n externalRelAttribute: '',\n activeClass: 'is-active',\n exactActiveClass: 'is-exact',\n});\n"],"names":["requestIdleCallback","cb","start","idleDeadline","cancelIdleCallback","id","onNuxtReady","callback","nuxtApp","useNuxtApp","preloadRouteComponents","to","router","useRouter","path","matched","promises","components","component","_a","promise","firstNonUndefined","args","arg","DEFAULT_EXTERNAL_REL_ATTRIBUTE","defineNuxtLink","options","componentName","resolveTrailingSlashBehavior","resolve","normalizeTrailingSlash","withTrailingSlash","withoutTrailingSlash","defineComponent","props","slots","computed","isExternal","hasProtocol","prefetched","ref","el","elRef","ref2","isSlowConnection","idleId","unobserve","onMounted","observer","useObserver","onBeforeUnmount","routerLinkProps","h","resolveComponent","href","target","rel","navigate","navigateTo","url","parseURL","parseQuery","_b","callbacks","observe","element","entries","entry","callback2","cn","AppLink"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}