{"version":3,"file":"@unhead-d41f33a8.js","sources":["../../node_modules/@unhead/shared/dist/index.mjs","../../node_modules/@unhead/dom/dist/index.mjs","../../node_modules/@unhead/vue/dist/shared/vue.505b826e.mjs"],"sourcesContent":["function asArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\nconst SelfClosingTags = [\"meta\", \"link\", \"base\"];\nconst TagsWithInnerContent = [\"title\", \"script\", \"style\", \"noscript\"];\nconst HasElementTags = [\n \"base\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n];\nconst ValidHeadTags = [\n \"title\",\n \"titleTemplate\",\n \"templateParams\",\n \"base\",\n \"htmlAttrs\",\n \"bodyAttrs\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n];\nconst UniqueTags = [\"base\", \"title\", \"titleTemplate\", \"bodyAttrs\", \"htmlAttrs\", \"templateParams\"];\nconst TagConfigKeys = [\"tagPosition\", \"tagPriority\", \"tagDuplicateStrategy\", \"innerHTML\", \"textContent\"];\n\nfunction defineHeadPlugin(plugin) {\n return plugin;\n}\n\nfunction hashCode(s) {\n let h = 9;\n for (let i = 0; i < s.length; )\n h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);\n return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();\n}\nfunction hashTag(tag) {\n return hashCode(`${tag.tag}:${tag.textContent || tag.innerHTML || \"\"}:${Object.entries(tag.props).map(([key, value]) => `${key}:${String(value)}`).join(\",\")}`);\n}\nfunction computeHashes(hashes) {\n let h = 9;\n for (const s of hashes) {\n for (let i = 0; i < s.length; )\n h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);\n }\n return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();\n}\n\nfunction tagDedupeKey(tag, fn) {\n const { props, tag: tagName } = tag;\n if (UniqueTags.includes(tagName))\n return tagName;\n if (tagName === \"link\" && props.rel === \"canonical\")\n return \"canonical\";\n if (props.charset)\n return \"charset\";\n const name = [\"id\"];\n if (tagName === \"meta\")\n name.push(...[\"name\", \"property\", \"http-equiv\"]);\n for (const n of name) {\n if (typeof props[n] !== \"undefined\") {\n const val = String(props[n]);\n if (fn && !fn(val))\n return false;\n return `${tagName}:${n}:${val}`;\n }\n }\n return false;\n}\n\nfunction resolveTitleTemplate(template, title) {\n if (template == null)\n return title || null;\n if (typeof template === \"function\")\n return template(title);\n return template;\n}\n\nexport { HasElementTags, SelfClosingTags, TagConfigKeys, TagsWithInnerContent, UniqueTags, ValidHeadTags, asArray, computeHashes, defineHeadPlugin, hashCode, hashTag, resolveTitleTemplate, tagDedupeKey };\n","import { TagsWithInnerContent, computeHashes, hashTag, HasElementTags, tagDedupeKey, defineHeadPlugin } from '@unhead/shared';\n\nfunction setAttrs(ctx, newEntry = false, markSideEffect) {\n const { tag, $el } = ctx;\n if (!$el)\n return;\n Object.entries(tag.props).forEach(([k, value]) => {\n value = String(value);\n const attrSdeKey = `attr:${k}`;\n if (k === \"class\") {\n if (!value)\n return;\n for (const c of value.split(\" \")) {\n const classSdeKey = `${attrSdeKey}:${c}`;\n if (markSideEffect)\n markSideEffect(ctx, classSdeKey, () => $el.classList.remove(c));\n if (!$el.classList.contains(c))\n $el.classList.add(c);\n }\n return;\n }\n if (markSideEffect && !k.startsWith(\"data-h-\"))\n markSideEffect(ctx, attrSdeKey, () => $el.removeAttribute(k));\n if (newEntry || $el.getAttribute(k) !== value)\n $el.setAttribute(k, value);\n });\n if (TagsWithInnerContent.includes(tag.tag)) {\n if (tag.textContent && tag.textContent !== $el.textContent)\n $el.textContent = tag.textContent;\n else if (tag.innerHTML && tag.innerHTML !== $el.innerHTML)\n $el.innerHTML = tag.innerHTML;\n }\n}\n\nlet prevHash = false;\nasync function renderDOMHead(head, options = {}) {\n const beforeRenderCtx = { shouldRender: true };\n await head.hooks.callHook(\"dom:beforeRender\", beforeRenderCtx);\n if (!beforeRenderCtx.shouldRender)\n return;\n const dom = options.document || head.resolvedOptions.document || window.document;\n const tagContexts = (await head.resolveTags()).map(setupTagRenderCtx);\n if (head.resolvedOptions.experimentalHashHydration) {\n prevHash = prevHash || head._hash || false;\n if (prevHash) {\n const hash = computeHashes(tagContexts.map((ctx) => ctx.tag._h));\n if (prevHash === hash)\n return;\n prevHash = hash;\n }\n }\n const staleSideEffects = head._popSideEffectQueue();\n head.headEntries().map((entry) => entry._sde).forEach((sde) => {\n Object.entries(sde).forEach(([key, fn]) => {\n staleSideEffects[key] = fn;\n });\n });\n const markSideEffect = (ctx, key, fn) => {\n key = `${ctx.renderId}:${key}`;\n if (ctx.entry)\n ctx.entry._sde[key] = fn;\n delete staleSideEffects[key];\n };\n function setupTagRenderCtx(tag) {\n const entry = head.headEntries().find((e) => e._i === tag._e);\n const renderCtx = {\n renderId: tag._d || hashTag(tag),\n $el: null,\n shouldRender: true,\n tag,\n entry,\n markSideEffect: (key, fn) => markSideEffect(renderCtx, key, fn)\n };\n return renderCtx;\n }\n const renders = [];\n const pendingRenders = {\n body: [],\n head: []\n };\n const markEl = (ctx) => {\n head._elMap[ctx.renderId] = ctx.$el;\n renders.push(ctx);\n markSideEffect(ctx, \"el\", () => {\n ctx.$el?.remove();\n delete head._elMap[ctx.renderId];\n });\n };\n for (const ctx of tagContexts) {\n await head.hooks.callHook(\"dom:beforeRenderTag\", ctx);\n if (!ctx.shouldRender)\n continue;\n const { tag } = ctx;\n if (tag.tag === \"title\") {\n dom.title = tag.textContent || \"\";\n renders.push(ctx);\n continue;\n }\n if (tag.tag === \"htmlAttrs\" || tag.tag === \"bodyAttrs\") {\n ctx.$el = dom[tag.tag === \"htmlAttrs\" ? \"documentElement\" : \"body\"];\n setAttrs(ctx, false, markSideEffect);\n renders.push(ctx);\n continue;\n }\n ctx.$el = head._elMap[ctx.renderId];\n if (!ctx.$el && tag.key)\n ctx.$el = dom.querySelector(`${tag.tagPosition?.startsWith(\"body\") ? \"body\" : \"head\"} > ${tag.tag}[data-h-${tag._h}]`);\n if (ctx.$el) {\n if (ctx.tag._d)\n setAttrs(ctx);\n markEl(ctx);\n continue;\n }\n pendingRenders[tag.tagPosition?.startsWith(\"body\") ? \"body\" : \"head\"].push(ctx);\n }\n const fragments = {\n bodyClose: void 0,\n bodyOpen: void 0,\n head: void 0\n };\n Object.entries(pendingRenders).forEach(([pos, queue]) => {\n if (!queue.length)\n return;\n const children = dom?.[pos]?.children;\n if (!children)\n return;\n for (const $el of [...children].reverse()) {\n const elTag = $el.tagName.toLowerCase();\n if (!HasElementTags.includes(elTag))\n continue;\n const props = $el.getAttributeNames().reduce((props2, name) => ({ ...props2, [name]: $el.getAttribute(name) }), {});\n const tmpTag = { tag: elTag, props };\n if ($el.innerHTML)\n tmpTag.innerHTML = $el.innerHTML;\n const tmpRenderId = hashTag(tmpTag);\n let matchIdx = queue.findIndex((ctx) => ctx?.renderId === tmpRenderId);\n if (matchIdx === -1) {\n const tmpDedupeKey = tagDedupeKey(tmpTag);\n matchIdx = queue.findIndex((ctx) => ctx?.tag._d && ctx.tag._d === tmpDedupeKey);\n }\n if (matchIdx !== -1) {\n const ctx = queue[matchIdx];\n ctx.$el = $el;\n setAttrs(ctx);\n markEl(ctx);\n delete queue[matchIdx];\n }\n }\n queue.forEach((ctx) => {\n const pos2 = ctx.tag.tagPosition || \"head\";\n fragments[pos2] = fragments[pos2] || dom.createDocumentFragment();\n if (!ctx.$el) {\n ctx.$el = dom.createElement(ctx.tag.tag);\n setAttrs(ctx, true);\n }\n fragments[pos2].appendChild(ctx.$el);\n markEl(ctx);\n });\n });\n if (fragments.head)\n dom.head.appendChild(fragments.head);\n if (fragments.bodyOpen)\n dom.body.insertBefore(fragments.bodyOpen, dom.body.firstChild);\n if (fragments.bodyClose)\n dom.body.appendChild(fragments.bodyClose);\n for (const ctx of renders)\n await head.hooks.callHook(\"dom:renderTag\", ctx);\n Object.values(staleSideEffects).forEach((fn) => fn());\n}\nlet domUpdatePromise = null;\nasync function debouncedRenderDOMHead(head, options = {}) {\n function doDomUpdate() {\n domUpdatePromise = null;\n return renderDOMHead(head, options);\n }\n const delayFn = options.delayFn || ((fn) => setTimeout(fn, 10));\n return domUpdatePromise = domUpdatePromise || new Promise((resolve) => delayFn(() => resolve(doDomUpdate())));\n}\n\nfunction PatchDomOnEntryUpdatesPlugin(options) {\n return defineHeadPlugin({\n hooks: {\n \"entries:updated\": function(head) {\n if (typeof options?.document === \"undefined\" && typeof window === \"undefined\")\n return;\n let delayFn = options?.delayFn;\n if (!delayFn && typeof requestAnimationFrame !== \"undefined\")\n delayFn = requestAnimationFrame;\n debouncedRenderDOMHead(head, { document: options?.document || window.document, delayFn });\n }\n }\n });\n}\n\nfunction maybeGetSSRHash(document) {\n return document?.head.querySelector('meta[name=\"unhead:ssr\"]')?.getAttribute(\"content\") || false;\n}\n\nexport { PatchDomOnEntryUpdatesPlugin, debouncedRenderDOMHead, domUpdatePromise, maybeGetSSRHash, renderDOMHead, setAttrs };\n","import { unref, version, getCurrentInstance, inject, nextTick, ref, watchEffect, watch, onBeforeUnmount, onDeactivated, onActivated } from 'vue';\nimport { getActiveHead, createServerHead as createServerHead$1, createHead as createHead$1 } from 'unhead';\nimport { defineHeadPlugin } from '@unhead/shared';\n\nfunction resolveUnref(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nfunction resolveUnrefHeadInput(ref, lastKey = \"\") {\n if (ref instanceof Promise)\n return ref;\n const root = resolveUnref(ref);\n if (!ref || !root)\n return root;\n if (Array.isArray(root))\n return root.map((r) => resolveUnrefHeadInput(r, lastKey));\n if (typeof root === \"object\") {\n return Object.fromEntries(\n Object.entries(root).map(([k, v]) => {\n if (k === \"titleTemplate\" || k.startsWith(\"on\"))\n return [k, unref(v)];\n return [k, resolveUnrefHeadInput(v, k)];\n })\n );\n }\n return root;\n}\n\nconst Vue3 = version.startsWith(\"3\");\nconst IsBrowser = typeof window !== \"undefined\";\n\nconst headSymbol = \"usehead\";\nfunction injectHead() {\n return getCurrentInstance() && inject(headSymbol) || getActiveHead();\n}\nfunction vueInstall(head) {\n const plugin = {\n install(app) {\n if (Vue3) {\n app.config.globalProperties.$unhead = head;\n app.config.globalProperties.$head = head;\n app.provide(headSymbol, head);\n }\n }\n };\n return plugin.install;\n}\nfunction createServerHead(options = {}) {\n const head = createServerHead$1({\n ...options,\n plugins: [\n VueReactiveUseHeadPlugin(),\n ...options?.plugins || []\n ]\n });\n head.install = vueInstall(head);\n return head;\n}\nfunction createHead(options = {}) {\n const head = createHead$1({\n ...options,\n // arbitrary delay the dom update for batch updates\n domDelayFn: (fn) => setTimeout(() => nextTick(() => fn()), 10),\n plugins: [\n VueReactiveUseHeadPlugin(),\n ...options?.plugins || []\n ]\n });\n head.install = vueInstall(head);\n return head;\n}\n\nfunction VueReactiveUseHeadPlugin() {\n return defineHeadPlugin({\n hooks: {\n \"entries:resolve\": function(ctx) {\n for (const entry of ctx.entries)\n entry.resolvedInput = resolveUnrefHeadInput(entry.input);\n }\n }\n });\n}\n\nfunction clientUseHead(input, options = {}) {\n const head = injectHead();\n const deactivated = ref(false);\n const resolvedInput = ref({});\n watchEffect(() => {\n resolvedInput.value = deactivated.value ? {} : resolveUnrefHeadInput(input);\n });\n const entry = head.push(resolvedInput.value, options);\n watch(resolvedInput, (e) => {\n entry.patch(e);\n });\n const vm = getCurrentInstance();\n if (vm) {\n onBeforeUnmount(() => {\n entry.dispose();\n });\n onDeactivated(() => {\n deactivated.value = true;\n });\n onActivated(() => {\n deactivated.value = false;\n });\n }\n return entry;\n}\n\nfunction serverUseHead(input, options = {}) {\n const head = injectHead();\n return head.push(input, options);\n}\n\nfunction useHead(input, options = {}) {\n const head = injectHead();\n if (head) {\n const isBrowser = IsBrowser || !!head.resolvedOptions?.document;\n if (options.mode === \"server\" && isBrowser || options.mode === \"client\" && !isBrowser)\n return;\n return isBrowser ? clientUseHead(input, options) : serverUseHead(input, options);\n }\n}\n\nexport { VueReactiveUseHeadPlugin as V, createHead as a, createServerHead as c, headSymbol as h, injectHead as i, resolveUnrefHeadInput as r, serverUseHead as s, useHead as u };\n"],"names":["asArray","value","TagsWithInnerContent","HasElementTags","ValidHeadTags","UniqueTags","TagConfigKeys","defineHeadPlugin","plugin","hashCode","s","h","i","hashTag","tag","key","computeHashes","hashes","tagDedupeKey","fn","props","tagName","name","n","val","resolveTitleTemplate","template","title","setAttrs","ctx","newEntry","markSideEffect","$el","k","attrSdeKey","c","classSdeKey","prevHash","renderDOMHead","head","options","beforeRenderCtx","dom","tagContexts","setupTagRenderCtx","hash","staleSideEffects","entry","sde","e","renderCtx","renders","pendingRenders","markEl","_a","_b","fragments","pos","queue","children","elTag","props2","tmpTag","tmpRenderId","matchIdx","tmpDedupeKey","pos2","domUpdatePromise","debouncedRenderDOMHead","doDomUpdate","delayFn","resolve","PatchDomOnEntryUpdatesPlugin","maybeGetSSRHash","document","resolveUnref","r","unref","resolveUnrefHeadInput","ref","lastKey","root","v","Vue3","version","IsBrowser","headSymbol","injectHead","getCurrentInstance","inject","getActiveHead","vueInstall","app","createHead","createHead$1","nextTick","VueReactiveUseHeadPlugin","clientUseHead","input","deactivated","resolvedInput","watchEffect","watch","onBeforeUnmount","onDeactivated","onActivated","serverUseHead","useHead","isBrowser"],"mappings":"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","x_google_ignoreList":[0,1,2]}