nuxt-og-image 6.5.2 → 6.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/tw4.cjs +1 -1
- package/dist/chunks/tw4.mjs +1 -1
- package/dist/chunks/uno.cjs +1 -1
- package/dist/chunks/uno.mjs +1 -1
- package/dist/devtools/200.html +1 -1
- package/dist/devtools/404.html +1 -1
- package/dist/devtools/_nuxt/{BWKJ0Uxb.js → BZ_CG9ll.js} +8 -8
- package/dist/devtools/_nuxt/{Bdtz4ZK9.js → BdMalyEU.js} +1 -1
- package/dist/devtools/_nuxt/{BOEXnX7x.js → BhkGaWEe.js} +1 -1
- package/dist/devtools/_nuxt/Bm4Q-nTW.js +3 -0
- package/dist/devtools/_nuxt/{DSl3mlLY.js → CBcJg2GG.js} +1 -1
- package/dist/devtools/_nuxt/{CdmciVPJ.js → CXAM78_A.js} +1 -1
- package/dist/devtools/_nuxt/{BA-4cUNc.js → CYDI7SLa.js} +1 -1
- package/dist/devtools/_nuxt/CkbDfutK.js +152 -0
- package/dist/devtools/_nuxt/{B9jrmesR.js → Co8Tk_C2.js} +1 -1
- package/dist/devtools/_nuxt/{C_JnDlx-.js → D49I50CU.js} +1 -1
- package/dist/devtools/_nuxt/DevtoolsSection.DkT2bJJh.css +1 -0
- package/dist/devtools/_nuxt/DevtoolsSnippet.zV_SDojn.css +1 -0
- package/dist/devtools/_nuxt/builds/latest.json +1 -1
- package/dist/devtools/_nuxt/builds/meta/0f3dbc15-8308-4956-81b9-5507cac7018c.json +1 -0
- package/dist/devtools/_nuxt/{entry.CcrXpo2y.css → entry.D7u2asd2.css} +1 -1
- package/dist/devtools/_nuxt/pO9PmtPW.js +6 -0
- package/dist/devtools/_nuxt/{pages.Ci_xvfJ8.css → pages.0Jk10xlb.css} +1 -1
- package/dist/devtools/_nuxt/renderer-select.CN5IWe60.css +1 -0
- package/dist/devtools/debug/index.html +1 -1
- package/dist/devtools/docs/index.html +1 -1
- package/dist/devtools/index.html +1 -1
- package/dist/devtools/templates/index.html +1 -1
- package/dist/module.cjs +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/server/og-image/core/style-attr.d.ts +8 -0
- package/dist/runtime/server/og-image/core/style-attr.js +34 -0
- package/dist/runtime/server/og-image/core/vnodes.d.ts +2 -1
- package/dist/runtime/server/og-image/core/vnodes.js +3 -27
- package/dist/shared/{nuxt-og-image.CgPzmzQY.cjs → nuxt-og-image.CfTPCtaS.cjs} +38 -24
- package/dist/shared/{nuxt-og-image.DGAMxBol.mjs → nuxt-og-image.DdbTs-xp.mjs} +37 -23
- package/package.json +5 -5
- package/dist/devtools/_nuxt/D4EkL0XJ.js +0 -6
- package/dist/devtools/_nuxt/DKaW7clv.js +0 -1
- package/dist/devtools/_nuxt/DYta7Mdi.js +0 -3
- package/dist/devtools/_nuxt/DevtoolsSection.CcOMr_vO.css +0 -1
- package/dist/devtools/_nuxt/DevtoolsSnippet.BhrTdbXn.css +0 -1
- package/dist/devtools/_nuxt/builds/meta/a36bc212-7179-4aa2-a534-6366229bd7b1.json +0 -1
- package/dist/devtools/_nuxt/renderer-select.COGJ4ZQe.css +0 -1
- package/dist/devtools/_nuxt/wMBdlVF-.js +0 -152
- /package/dist/devtools/_nuxt/{CuJezOxb.js → BsRKQH5X.js} +0 -0
- /package/dist/devtools/_nuxt/{E8AZ6HoH.js → CDaXKRRu.js} +0 -0
- /package/dist/devtools/_nuxt/{C5jzcy9i.js → CM-t-6ZT.js} +0 -0
- /package/dist/devtools/_nuxt/{CCTv7mmB.js → HWyD49jH.js} +0 -0
- /package/dist/devtools/_nuxt/{O5eLyffU.js → PONEy9N-.js} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { splitCssDeclarations } from "../utils/css.js";
|
|
2
|
+
const RE_KEBAB_SEGMENT = /-([a-z])/g;
|
|
3
|
+
const RE_CSS_QUOTES = /^['"](.+)['"]$/;
|
|
4
|
+
const RE_IMPORTANT = /\s*!important\s*$/;
|
|
5
|
+
const RE_HTML_ENTITY = /&(?:amp|quot|#39|#x27);/g;
|
|
6
|
+
const HTML_ENTITY_MAP = {
|
|
7
|
+
"&": "&",
|
|
8
|
+
""": '"',
|
|
9
|
+
"'": "'",
|
|
10
|
+
"'": "'"
|
|
11
|
+
};
|
|
12
|
+
function camelCase(str) {
|
|
13
|
+
return str.replace(RE_KEBAB_SEGMENT, (_, c) => c.toUpperCase());
|
|
14
|
+
}
|
|
15
|
+
function decodeHtmlEntities(value) {
|
|
16
|
+
return value.replace(RE_HTML_ENTITY, (m) => HTML_ENTITY_MAP[m] ?? m);
|
|
17
|
+
}
|
|
18
|
+
export function parseStyleAttr(style) {
|
|
19
|
+
if (!style)
|
|
20
|
+
return void 0;
|
|
21
|
+
const result = {};
|
|
22
|
+
for (const decl of splitCssDeclarations(decodeHtmlEntities(style))) {
|
|
23
|
+
const colonIdx = decl.indexOf(":");
|
|
24
|
+
if (colonIdx === -1)
|
|
25
|
+
continue;
|
|
26
|
+
const prop = decl.slice(0, colonIdx).trim();
|
|
27
|
+
const val = decl.slice(colonIdx + 1).trim();
|
|
28
|
+
if (prop && val) {
|
|
29
|
+
const cleanVal = val.replace(RE_IMPORTANT, "");
|
|
30
|
+
result[camelCase(prop)] = prop === "font-family" ? cleanVal.replace(RE_CSS_QUOTES, "$1") : cleanVal;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return Object.keys(result).length ? result : void 0;
|
|
34
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ElementNode } from 'ultrahtml';
|
|
2
2
|
import type { OgImageRenderEventContext, VNode } from '../../../types.js';
|
|
3
|
+
import { parseStyleAttr } from './style-attr.js';
|
|
4
|
+
export { parseStyleAttr };
|
|
3
5
|
export declare const SVG_CAMEL_ATTR_VALUES: Set<string>;
|
|
4
6
|
/**
|
|
5
7
|
* Resolve an SVG element's width or height from multiple sources:
|
|
@@ -11,7 +13,6 @@ export declare const SVG_CAMEL_ATTR_VALUES: Set<string>;
|
|
|
11
13
|
* can fall back to ancestor or renderer-specific resolution.
|
|
12
14
|
*/
|
|
13
15
|
export declare function resolveSvgDimension(props: Record<string, any>, style: Record<string, any> | undefined, key: 'width' | 'height'): number | undefined;
|
|
14
|
-
export declare function parseStyleAttr(style: string | null | undefined): Record<string, any> | undefined;
|
|
15
16
|
export declare function elementToVNode(el: ElementNode): VNode;
|
|
16
17
|
export declare function htmlToVNode(html: string): VNode;
|
|
17
18
|
export declare function warnUnsupportedSvgElements(vnode: VNode, component?: string): void;
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import { ELEMENT_NODE, parse, TEXT_NODE } from "ultrahtml";
|
|
2
2
|
import { querySelector } from "ultrahtml/selector";
|
|
3
|
-
import { decodeHtml
|
|
3
|
+
import { decodeHtml } from "../../util/encoding.js";
|
|
4
4
|
import { fetchIsland } from "../../util/kit.js";
|
|
5
5
|
import { logger } from "../../util/logger.js";
|
|
6
|
-
import { splitCssDeclarations } from "../utils/css.js";
|
|
7
6
|
import { walkTree } from "./plugins.js";
|
|
8
7
|
import encoding from "./plugins/encoding.js";
|
|
9
8
|
import imageSrc from "./plugins/imageSrc.js";
|
|
10
9
|
import styleDirectives from "./plugins/styleDirectives.js";
|
|
10
|
+
import { parseStyleAttr } from "./style-attr.js";
|
|
11
11
|
import { applyEmojis } from "./transforms/emojis/index.js";
|
|
12
|
-
|
|
13
|
-
const RE_AMP_ENTITY = /&/g;
|
|
14
|
-
const RE_CSS_QUOTES = /^['"](.+)['"]$/;
|
|
15
|
-
const RE_IMPORTANT = /\s*!important\s*$/;
|
|
12
|
+
export { parseStyleAttr };
|
|
16
13
|
const RE_BODY_CONTENT = /<body>([\s\S]*)<\/body>/;
|
|
17
|
-
function camelCase(str) {
|
|
18
|
-
return str.replace(RE_KEBAB_SEGMENT, (_, c) => c.toUpperCase());
|
|
19
|
-
}
|
|
20
14
|
const SVG_CAMEL_ATTRS = {
|
|
21
15
|
viewbox: "viewBox",
|
|
22
16
|
preserveaspectratio: "preserveAspectRatio",
|
|
@@ -94,23 +88,6 @@ export function resolveSvgDimension(props, style, key) {
|
|
|
94
88
|
}
|
|
95
89
|
}
|
|
96
90
|
}
|
|
97
|
-
export function parseStyleAttr(style) {
|
|
98
|
-
if (!style)
|
|
99
|
-
return void 0;
|
|
100
|
-
const result = {};
|
|
101
|
-
for (const decl of splitCssDeclarations(style.replace(RE_AMP_ENTITY, "&"))) {
|
|
102
|
-
const colonIdx = decl.indexOf(":");
|
|
103
|
-
if (colonIdx === -1)
|
|
104
|
-
continue;
|
|
105
|
-
const prop = decl.slice(0, colonIdx).trim();
|
|
106
|
-
const val = decl.slice(colonIdx + 1).trim();
|
|
107
|
-
if (prop && val) {
|
|
108
|
-
const cleanVal = val.replace(RE_IMPORTANT, "");
|
|
109
|
-
result[camelCase(prop)] = prop === "font-family" ? cleanVal.replace(RE_CSS_QUOTES, "$1") : cleanVal;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return Object.keys(result).length ? result : void 0;
|
|
113
|
-
}
|
|
114
91
|
export function elementToVNode(el) {
|
|
115
92
|
const props = {};
|
|
116
93
|
const { style, ...attrs } = el.attributes;
|
|
@@ -180,7 +157,6 @@ export async function createVNodes(ctx, options) {
|
|
|
180
157
|
if (!html) {
|
|
181
158
|
const islandTimeout = ctx.runtimeConfig.security?.renderTimeout ?? 15e3;
|
|
182
159
|
const island = await ctx.timings.measure("island-fetch", () => fetchIsland(ctx.e, ctx.options.component, typeof ctx.options.props !== "undefined" ? ctx.options.props : ctx.options, islandTimeout));
|
|
183
|
-
island.html = htmlDecodeQuotes(island.html);
|
|
184
160
|
await applyEmojis(ctx, island);
|
|
185
161
|
html = island.html;
|
|
186
162
|
if (html?.includes("<body>")) {
|
|
@@ -3125,7 +3125,6 @@ const RE_SVG_ID_ATTR = /\bid="([^"]+)"/g;
|
|
|
3125
3125
|
const RE_SVG_VIEWBOX = /viewBox="([^"]*)"/;
|
|
3126
3126
|
const RE_SVG_BODY = /<svg[^>]*>([\s\S]*)<\/svg>/;
|
|
3127
3127
|
const RE_OG_IMAGE_QUERY$1 = /\?og-image(?:-depth=\d+)?$/;
|
|
3128
|
-
const RE_TEMPLATE_CONTENT = /<template>([\s\S]*?)<\/template>/;
|
|
3129
3128
|
const RE_TEXT_BETWEEN_TAGS = />([^<]*)</g;
|
|
3130
3129
|
const RE_SPECIAL_REGEX_CHARS = /[.*+?^${}()|[\]\\]/g;
|
|
3131
3130
|
const RE_WRAPPER_DIV_START = /^<div>/;
|
|
@@ -3137,7 +3136,6 @@ const RE_DATA_ATTR = /\bdata-([\w-]+)="([^"]*)"/g;
|
|
|
3137
3136
|
const RE_DYNAMIC_DATA_THEME = /\s:data-theme="[^"]+"/;
|
|
3138
3137
|
const RE_COLOR_ATTR_NAME = /^(?:color|fill|stroke|flood-color|lighting-color|stop-color)$/;
|
|
3139
3138
|
const RE_NON_STYLE_VAR_ATTR = /\b(?!style|class)([a-zA-Z-]+)="([^"]*var\(--[^"]+)"/g;
|
|
3140
|
-
const RE_QUOTED_ATTR = /^([a-z-]+)="(.*)"$/i;
|
|
3141
3139
|
const RE_COLOR_PROP_NAME = /color|fill|stroke|background|border|outline|shadow|accent|caret/;
|
|
3142
3140
|
const RE_STYLE_VAR_ATTR = /\bstyle="([^"]*var\(--[^"]+)"/g;
|
|
3143
3141
|
const RE_INLINE_STYLE = /\bstyle="([^"]*)"/g;
|
|
@@ -3187,11 +3185,11 @@ function buildIconSvg(iconData, defaultWidth, defaultHeight, attrs) {
|
|
|
3187
3185
|
existingStyle = value;
|
|
3188
3186
|
continue;
|
|
3189
3187
|
}
|
|
3190
|
-
filteredAttrs.push(`${key}="${value}"`);
|
|
3188
|
+
filteredAttrs.push(`${key}="${escapeAttrValue(value)}"`);
|
|
3191
3189
|
}
|
|
3192
3190
|
const attrsStr = filteredAttrs.length > 0 ? ` ${filteredAttrs.join(" ")}` : "";
|
|
3193
3191
|
const mergedStyle = existingStyle ? `display:flex; ${existingStyle}` : "display:flex";
|
|
3194
|
-
let svg = `<span${attrsStr} style="${mergedStyle}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" width="100%" height="100%" fill="currentColor">${body}</svg></span>`;
|
|
3192
|
+
let svg = `<span${attrsStr} style="${escapeAttrValue(mergedStyle)}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" width="100%" height="100%" fill="currentColor">${body}</svg></span>`;
|
|
3195
3193
|
svg = makeIdsUnique(svg);
|
|
3196
3194
|
return svg;
|
|
3197
3195
|
}
|
|
@@ -3343,6 +3341,21 @@ function mergeThemePairs(classes, light, dark) {
|
|
|
3343
3341
|
}
|
|
3344
3342
|
return result;
|
|
3345
3343
|
}
|
|
3344
|
+
function getOuterTemplateBounds(code) {
|
|
3345
|
+
let descriptor;
|
|
3346
|
+
try {
|
|
3347
|
+
descriptor = compilerSfc.parse(code).descriptor;
|
|
3348
|
+
} catch {
|
|
3349
|
+
return void 0;
|
|
3350
|
+
}
|
|
3351
|
+
const template = descriptor.template;
|
|
3352
|
+
if (!template)
|
|
3353
|
+
return void 0;
|
|
3354
|
+
return {
|
|
3355
|
+
templateStart: template.loc.start.offset,
|
|
3356
|
+
templateEnd: template.loc.end.offset
|
|
3357
|
+
};
|
|
3358
|
+
}
|
|
3346
3359
|
const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
3347
3360
|
let emojiIcons = null;
|
|
3348
3361
|
return {
|
|
@@ -3359,12 +3372,11 @@ const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
|
3359
3372
|
const id = rawId.replace(RE_OG_IMAGE_QUERY$1, "");
|
|
3360
3373
|
if (rawId.includes("?og-image"))
|
|
3361
3374
|
options.onNestedTransform?.(id);
|
|
3362
|
-
const
|
|
3363
|
-
if (!
|
|
3375
|
+
const bounds = getOuterTemplateBounds(code);
|
|
3376
|
+
if (!bounds)
|
|
3364
3377
|
return;
|
|
3365
3378
|
const s = new MagicString__default(code);
|
|
3366
|
-
const templateStart
|
|
3367
|
-
const templateEnd = code.indexOf("</template>");
|
|
3379
|
+
const { templateStart, templateEnd } = bounds;
|
|
3368
3380
|
let template = code.slice(templateStart, templateEnd);
|
|
3369
3381
|
let hasChanges = false;
|
|
3370
3382
|
if (options.emojiSet && emojiUtils_js.RE_MATCH_EMOJIS.test(template)) {
|
|
@@ -3551,10 +3563,11 @@ const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
|
3551
3563
|
}
|
|
3552
3564
|
});
|
|
3553
3565
|
if (result) {
|
|
3554
|
-
const
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3566
|
+
const newBounds = getOuterTemplateBounds(result.code);
|
|
3567
|
+
if (newBounds) {
|
|
3568
|
+
template = result.code.slice(newBounds.templateStart, newBounds.templateEnd);
|
|
3569
|
+
hasChanges = true;
|
|
3570
|
+
}
|
|
3558
3571
|
}
|
|
3559
3572
|
} catch (err) {
|
|
3560
3573
|
const componentName = id.split("/").pop();
|
|
@@ -3578,16 +3591,16 @@ const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
|
3578
3591
|
template.replace(RE_NON_STYLE_VAR_ATTR, (match, attr, value) => {
|
|
3579
3592
|
const resolved = resolveCssVars(value, vars);
|
|
3580
3593
|
if (resolved !== value) {
|
|
3581
|
-
replacements.push({ from: match, to:
|
|
3594
|
+
replacements.push({ from: match, to: "", attr, value: resolved });
|
|
3582
3595
|
}
|
|
3583
3596
|
return match;
|
|
3584
3597
|
});
|
|
3585
3598
|
for (const r of replacements) {
|
|
3586
|
-
|
|
3587
|
-
if (
|
|
3588
|
-
|
|
3589
|
-
r.to = `${attrMatch[1]}="${downleveled}"`;
|
|
3599
|
+
let value = r.value;
|
|
3600
|
+
if (RE_COLOR_ATTR_NAME.test(r.attr)) {
|
|
3601
|
+
value = await downlevelColor(r.attr, value);
|
|
3590
3602
|
}
|
|
3603
|
+
r.to = `${r.attr}="${escapeAttrValue(value)}"`;
|
|
3591
3604
|
template = template.replace(r.from, r.to);
|
|
3592
3605
|
hasChanges = true;
|
|
3593
3606
|
}
|
|
@@ -3596,12 +3609,11 @@ const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
|
3596
3609
|
template.replace(RE_STYLE_VAR_ATTR, (match, styleValue) => {
|
|
3597
3610
|
const resolved = resolveCssVars(styleValue, vars);
|
|
3598
3611
|
if (resolved !== styleValue)
|
|
3599
|
-
styleReplacements.push({ from: match,
|
|
3612
|
+
styleReplacements.push({ from: match, content: resolved });
|
|
3600
3613
|
return match;
|
|
3601
3614
|
});
|
|
3602
3615
|
for (const r of styleReplacements) {
|
|
3603
|
-
const
|
|
3604
|
-
const declarations = styleContent.split(";").filter(Boolean);
|
|
3616
|
+
const declarations = r.content.split(";").filter(Boolean);
|
|
3605
3617
|
const downleveled = [];
|
|
3606
3618
|
for (const decl of declarations) {
|
|
3607
3619
|
const colonIdx = decl.indexOf(":");
|
|
@@ -3618,8 +3630,8 @@ const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
|
3618
3630
|
}
|
|
3619
3631
|
downleveled.push(`${prop}: ${value}`);
|
|
3620
3632
|
}
|
|
3621
|
-
|
|
3622
|
-
template = template.replace(r.from,
|
|
3633
|
+
const to = `style="${escapeAttrValue(downleveled.join("; "))}"`;
|
|
3634
|
+
template = template.replace(r.from, to);
|
|
3623
3635
|
hasChanges = true;
|
|
3624
3636
|
}
|
|
3625
3637
|
RE_DYNAMIC_STYLE_VAR.lastIndex = 0;
|
|
@@ -3719,7 +3731,9 @@ const AssetTransformPlugin = unplugin.createUnplugin((options) => {
|
|
|
3719
3731
|
existingProps[prop.trim()] = value;
|
|
3720
3732
|
}
|
|
3721
3733
|
const merged = { ...matchedStyles, ...existingProps };
|
|
3722
|
-
el.attributes.style =
|
|
3734
|
+
el.attributes.style = escapeAttrValue(
|
|
3735
|
+
Object.entries(merged).map(([p, v]) => `${p}:${v}`).join(";")
|
|
3736
|
+
);
|
|
3723
3737
|
const remaining = elClasses.filter((c) => !consumedClasses.has(c));
|
|
3724
3738
|
if (remaining.length > 0)
|
|
3725
3739
|
el.attributes.class = remaining.join(" ");
|
|
@@ -4699,7 +4713,7 @@ const module$1 = kit.defineNuxtModule({
|
|
|
4699
4713
|
await onUpgrade(nuxt, options, previousVersion);
|
|
4700
4714
|
},
|
|
4701
4715
|
async setup(config, nuxt) {
|
|
4702
|
-
const _resolver = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/nuxt-og-image.
|
|
4716
|
+
const _resolver = kit.createResolver((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('shared/nuxt-og-image.CfTPCtaS.cjs', document.baseURI).href)));
|
|
4703
4717
|
const fixSharedPath = (p) => {
|
|
4704
4718
|
return p.replace(/\/shared\/runtime(\/|$)/, "/runtime$1").replace(/\/shared\/client(\/|$)/, "/client$1").replace(/\/shared\/devtools(\/|$)/, "/devtools$1");
|
|
4705
4719
|
};
|
|
@@ -3105,7 +3105,6 @@ const RE_SVG_ID_ATTR = /\bid="([^"]+)"/g;
|
|
|
3105
3105
|
const RE_SVG_VIEWBOX = /viewBox="([^"]*)"/;
|
|
3106
3106
|
const RE_SVG_BODY = /<svg[^>]*>([\s\S]*)<\/svg>/;
|
|
3107
3107
|
const RE_OG_IMAGE_QUERY$1 = /\?og-image(?:-depth=\d+)?$/;
|
|
3108
|
-
const RE_TEMPLATE_CONTENT = /<template>([\s\S]*?)<\/template>/;
|
|
3109
3108
|
const RE_TEXT_BETWEEN_TAGS = />([^<]*)</g;
|
|
3110
3109
|
const RE_SPECIAL_REGEX_CHARS = /[.*+?^${}()|[\]\\]/g;
|
|
3111
3110
|
const RE_WRAPPER_DIV_START = /^<div>/;
|
|
@@ -3117,7 +3116,6 @@ const RE_DATA_ATTR = /\bdata-([\w-]+)="([^"]*)"/g;
|
|
|
3117
3116
|
const RE_DYNAMIC_DATA_THEME = /\s:data-theme="[^"]+"/;
|
|
3118
3117
|
const RE_COLOR_ATTR_NAME = /^(?:color|fill|stroke|flood-color|lighting-color|stop-color)$/;
|
|
3119
3118
|
const RE_NON_STYLE_VAR_ATTR = /\b(?!style|class)([a-zA-Z-]+)="([^"]*var\(--[^"]+)"/g;
|
|
3120
|
-
const RE_QUOTED_ATTR = /^([a-z-]+)="(.*)"$/i;
|
|
3121
3119
|
const RE_COLOR_PROP_NAME = /color|fill|stroke|background|border|outline|shadow|accent|caret/;
|
|
3122
3120
|
const RE_STYLE_VAR_ATTR = /\bstyle="([^"]*var\(--[^"]+)"/g;
|
|
3123
3121
|
const RE_INLINE_STYLE = /\bstyle="([^"]*)"/g;
|
|
@@ -3167,11 +3165,11 @@ function buildIconSvg(iconData, defaultWidth, defaultHeight, attrs) {
|
|
|
3167
3165
|
existingStyle = value;
|
|
3168
3166
|
continue;
|
|
3169
3167
|
}
|
|
3170
|
-
filteredAttrs.push(`${key}="${value}"`);
|
|
3168
|
+
filteredAttrs.push(`${key}="${escapeAttrValue(value)}"`);
|
|
3171
3169
|
}
|
|
3172
3170
|
const attrsStr = filteredAttrs.length > 0 ? ` ${filteredAttrs.join(" ")}` : "";
|
|
3173
3171
|
const mergedStyle = existingStyle ? `display:flex; ${existingStyle}` : "display:flex";
|
|
3174
|
-
let svg = `<span${attrsStr} style="${mergedStyle}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" width="100%" height="100%" fill="currentColor">${body}</svg></span>`;
|
|
3172
|
+
let svg = `<span${attrsStr} style="${escapeAttrValue(mergedStyle)}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" width="100%" height="100%" fill="currentColor">${body}</svg></span>`;
|
|
3175
3173
|
svg = makeIdsUnique(svg);
|
|
3176
3174
|
return svg;
|
|
3177
3175
|
}
|
|
@@ -3323,6 +3321,21 @@ function mergeThemePairs(classes, light, dark) {
|
|
|
3323
3321
|
}
|
|
3324
3322
|
return result;
|
|
3325
3323
|
}
|
|
3324
|
+
function getOuterTemplateBounds(code) {
|
|
3325
|
+
let descriptor;
|
|
3326
|
+
try {
|
|
3327
|
+
descriptor = parse(code).descriptor;
|
|
3328
|
+
} catch {
|
|
3329
|
+
return void 0;
|
|
3330
|
+
}
|
|
3331
|
+
const template = descriptor.template;
|
|
3332
|
+
if (!template)
|
|
3333
|
+
return void 0;
|
|
3334
|
+
return {
|
|
3335
|
+
templateStart: template.loc.start.offset,
|
|
3336
|
+
templateEnd: template.loc.end.offset
|
|
3337
|
+
};
|
|
3338
|
+
}
|
|
3326
3339
|
const AssetTransformPlugin = createUnplugin((options) => {
|
|
3327
3340
|
let emojiIcons = null;
|
|
3328
3341
|
return {
|
|
@@ -3339,12 +3352,11 @@ const AssetTransformPlugin = createUnplugin((options) => {
|
|
|
3339
3352
|
const id = rawId.replace(RE_OG_IMAGE_QUERY$1, "");
|
|
3340
3353
|
if (rawId.includes("?og-image"))
|
|
3341
3354
|
options.onNestedTransform?.(id);
|
|
3342
|
-
const
|
|
3343
|
-
if (!
|
|
3355
|
+
const bounds = getOuterTemplateBounds(code);
|
|
3356
|
+
if (!bounds)
|
|
3344
3357
|
return;
|
|
3345
3358
|
const s = new MagicString(code);
|
|
3346
|
-
const templateStart
|
|
3347
|
-
const templateEnd = code.indexOf("</template>");
|
|
3359
|
+
const { templateStart, templateEnd } = bounds;
|
|
3348
3360
|
let template = code.slice(templateStart, templateEnd);
|
|
3349
3361
|
let hasChanges = false;
|
|
3350
3362
|
if (options.emojiSet && RE_MATCH_EMOJIS.test(template)) {
|
|
@@ -3531,10 +3543,11 @@ const AssetTransformPlugin = createUnplugin((options) => {
|
|
|
3531
3543
|
}
|
|
3532
3544
|
});
|
|
3533
3545
|
if (result) {
|
|
3534
|
-
const
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3546
|
+
const newBounds = getOuterTemplateBounds(result.code);
|
|
3547
|
+
if (newBounds) {
|
|
3548
|
+
template = result.code.slice(newBounds.templateStart, newBounds.templateEnd);
|
|
3549
|
+
hasChanges = true;
|
|
3550
|
+
}
|
|
3538
3551
|
}
|
|
3539
3552
|
} catch (err) {
|
|
3540
3553
|
const componentName = id.split("/").pop();
|
|
@@ -3558,16 +3571,16 @@ const AssetTransformPlugin = createUnplugin((options) => {
|
|
|
3558
3571
|
template.replace(RE_NON_STYLE_VAR_ATTR, (match, attr, value) => {
|
|
3559
3572
|
const resolved = resolveCssVars(value, vars);
|
|
3560
3573
|
if (resolved !== value) {
|
|
3561
|
-
replacements.push({ from: match, to:
|
|
3574
|
+
replacements.push({ from: match, to: "", attr, value: resolved });
|
|
3562
3575
|
}
|
|
3563
3576
|
return match;
|
|
3564
3577
|
});
|
|
3565
3578
|
for (const r of replacements) {
|
|
3566
|
-
|
|
3567
|
-
if (
|
|
3568
|
-
|
|
3569
|
-
r.to = `${attrMatch[1]}="${downleveled}"`;
|
|
3579
|
+
let value = r.value;
|
|
3580
|
+
if (RE_COLOR_ATTR_NAME.test(r.attr)) {
|
|
3581
|
+
value = await downlevelColor(r.attr, value);
|
|
3570
3582
|
}
|
|
3583
|
+
r.to = `${r.attr}="${escapeAttrValue(value)}"`;
|
|
3571
3584
|
template = template.replace(r.from, r.to);
|
|
3572
3585
|
hasChanges = true;
|
|
3573
3586
|
}
|
|
@@ -3576,12 +3589,11 @@ const AssetTransformPlugin = createUnplugin((options) => {
|
|
|
3576
3589
|
template.replace(RE_STYLE_VAR_ATTR, (match, styleValue) => {
|
|
3577
3590
|
const resolved = resolveCssVars(styleValue, vars);
|
|
3578
3591
|
if (resolved !== styleValue)
|
|
3579
|
-
styleReplacements.push({ from: match,
|
|
3592
|
+
styleReplacements.push({ from: match, content: resolved });
|
|
3580
3593
|
return match;
|
|
3581
3594
|
});
|
|
3582
3595
|
for (const r of styleReplacements) {
|
|
3583
|
-
const
|
|
3584
|
-
const declarations = styleContent.split(";").filter(Boolean);
|
|
3596
|
+
const declarations = r.content.split(";").filter(Boolean);
|
|
3585
3597
|
const downleveled = [];
|
|
3586
3598
|
for (const decl of declarations) {
|
|
3587
3599
|
const colonIdx = decl.indexOf(":");
|
|
@@ -3598,8 +3610,8 @@ const AssetTransformPlugin = createUnplugin((options) => {
|
|
|
3598
3610
|
}
|
|
3599
3611
|
downleveled.push(`${prop}: ${value}`);
|
|
3600
3612
|
}
|
|
3601
|
-
|
|
3602
|
-
template = template.replace(r.from,
|
|
3613
|
+
const to = `style="${escapeAttrValue(downleveled.join("; "))}"`;
|
|
3614
|
+
template = template.replace(r.from, to);
|
|
3603
3615
|
hasChanges = true;
|
|
3604
3616
|
}
|
|
3605
3617
|
RE_DYNAMIC_STYLE_VAR.lastIndex = 0;
|
|
@@ -3699,7 +3711,9 @@ const AssetTransformPlugin = createUnplugin((options) => {
|
|
|
3699
3711
|
existingProps[prop.trim()] = value;
|
|
3700
3712
|
}
|
|
3701
3713
|
const merged = { ...matchedStyles, ...existingProps };
|
|
3702
|
-
el.attributes.style =
|
|
3714
|
+
el.attributes.style = escapeAttrValue(
|
|
3715
|
+
Object.entries(merged).map(([p, v]) => `${p}:${v}`).join(";")
|
|
3716
|
+
);
|
|
3703
3717
|
const remaining = elClasses.filter((c) => !consumedClasses.has(c));
|
|
3704
3718
|
if (remaining.length > 0)
|
|
3705
3719
|
el.attributes.class = remaining.join(" ");
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-og-image",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.5.
|
|
4
|
+
"version": "6.5.3",
|
|
5
5
|
"description": "Enlightened OG Image generation for Nuxt.",
|
|
6
6
|
"author": {
|
|
7
7
|
"website": "https://harlanzw.com",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"devDependencies": {
|
|
139
139
|
"@antfu/eslint-config": "^9.0.0",
|
|
140
140
|
"@fontsource/noto-sans-sc": "^5.2.9",
|
|
141
|
-
"@iconify-json/carbon": "^1.2.
|
|
141
|
+
"@iconify-json/carbon": "^1.2.23",
|
|
142
142
|
"@iconify-json/logos": "^1.2.11",
|
|
143
143
|
"@iconify-json/noto": "^1.2.7",
|
|
144
144
|
"@iconify-json/ri": "^1.2.10",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"@nuxt/image": "^2.0.0",
|
|
154
154
|
"@nuxt/module-builder": "^1.0.2",
|
|
155
155
|
"@nuxt/test-utils": "^4.0.3",
|
|
156
|
-
"@nuxt/ui": "^4.8.
|
|
156
|
+
"@nuxt/ui": "^4.8.2",
|
|
157
157
|
"@nuxtjs/color-mode": "^4.0.0",
|
|
158
158
|
"@nuxtjs/eslint-config-typescript": "^12.1.0",
|
|
159
159
|
"@nuxtjs/i18n": "^10.4.0",
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"fontless": "^0.2.1",
|
|
181
181
|
"get-image-colors": "^4.0.1",
|
|
182
182
|
"globby": "^16.2.0",
|
|
183
|
-
"happy-dom": "^20.10.
|
|
183
|
+
"happy-dom": "^20.10.2",
|
|
184
184
|
"hookable": "^6.1.1",
|
|
185
185
|
"jest-image-snapshot": "^6.5.2",
|
|
186
186
|
"lightningcss": "^1.32.0",
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
"vitest": "^4.1.8",
|
|
202
202
|
"vue": "^3.5.35",
|
|
203
203
|
"vue-tsc": "^3.3.3",
|
|
204
|
-
"wrangler": "^4.
|
|
204
|
+
"wrangler": "^4.98.0",
|
|
205
205
|
"yoga-wasm-web": "^0.3.3",
|
|
206
206
|
"zod": "^4.4.3"
|
|
207
207
|
},
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,Ct as n,E as r,G as i,I as a,O as o,P as s,T as c,Tt as l,V as u,W as d,_t as f,ct as p,dt as m,gt as h,h as g,k as _,lt as v,m as y,mt as b,n as x,pt as ee,tt as te,xt as S,y as C,yt as w}from"./CqjbkMN9.js";var T=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,E=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,ne=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function re(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){ie(e);return}return t}function ie(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function ae(e,t={}){if(typeof e!=`string`)return e;if(e[0]===`"`&&e[e.length-1]===`"`&&e.indexOf(`\\`)===-1)return e.slice(1,-1);let n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case`true`:return!0;case`false`:return!1;case`undefined`:return;case`null`:return null;case`nan`:return NaN;case`infinity`:return 1/0;case`-infinity`:return-1/0}if(!ne.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(T.test(e)||E.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,re)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var oe=/#/g,se=/&/g,ce=/\//g,le=/=/g,ue=/\?/g,D=/\+/g,de=/%5e/gi,fe=/%60/gi,pe=/%7c/gi,me=/%20/gi,he=/%2f/gi,ge=/%252f/gi;function _e(e){return encodeURI(``+e).replace(pe,`|`)}function ve(e){return _e(typeof e==`string`?e:JSON.stringify(e)).replace(D,`%2B`).replace(me,`+`).replace(oe,`%23`).replace(se,`%26`).replace(fe,"`").replace(de,`^`).replace(ce,`%2F`)}function ye(e){return ve(e).replace(le,`%3D`)}function be(e){return _e(e).replace(oe,`%23`).replace(ue,`%3F`).replace(ge,`%2F`).replace(se,`%26`).replace(D,`%2B`)}function O(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function xe(e){return O(e.replace(he,`%252F`))}function Se(e){return O(e.replace(D,` `))}function Ce(e){return O(e.replace(D,` `))}function we(e=``){let t=Object.create(null);e[0]===`?`&&(e=e.slice(1));for(let n of e.split(`&`)){let e=n.match(/([^=]+)=?(.*)/)||[];if(e.length<2)continue;let r=Se(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=Ce(e[2]||``);t[r]===void 0?t[r]=i:Array.isArray(t[r])?t[r].push(i):t[r]=[t[r],i]}return t}function Te(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${ye(e)}=${ve(t)}`).join(`&`):`${ye(e)}=${ve(t)}`:ye(e)}function Ee(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>Te(t,e[t])).filter(Boolean).join(`&`)}var De=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,Oe=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ke=/^([/\\]\s*){2,}[^/\\]/,Ae=/^[\s\0]*(blob|data|javascript|vbscript):$/i,je=/\/$|\/\?|\/#/,Me=/^\.?\//;function k(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?De.test(e):Oe.test(e)||(t.acceptRelative?ke.test(e):!1)}function Ne(e){return!!e&&Ae.test(e)}function Pe(e=``,t){return t?je.test(e):e.endsWith(`/`)}function A(e=``,t){if(!t)return(Pe(e)?e.slice(0,-1):e)||`/`;if(!Pe(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Fe(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(Pe(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Ie(e,t){if(ze(t)||k(e))return e;let n=A(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Ve(n,e)}function Le(e,t){if(ze(t))return e;let n=A(t);if(!e.startsWith(n))return e;let r=e[n.length];return r&&r!==`/`&&r!==`?`?e:`/`+e.slice(n.length).replace(/^\/+/,``)}function Re(e,t){let n=j(e);return n.search=Ee({...we(n.search),...t}),Je(n)}function ze(e){return!e||e===`/`}function Be(e){return e&&e!==`/`}function Ve(e,...t){let n=e||``;for(let e of t.filter(e=>Be(e)))if(n){let t=e.replace(Me,``);n=Fe(n)+t}else n=e;return n}function He(...e){let t=/\/(?!\/)/,n=e.filter(Boolean),r=[],i=0;for(let e of n)if(!(!e||e===`/`)){for(let[n,a]of e.split(t).entries())if(!(!a||a===`.`)){if(a===`..`){if(r.length===1&&k(r[0]))continue;r.pop(),i--;continue}if(n===1&&r[r.length-1]?.endsWith(`:/`)){r[r.length-1]+=`/`+a;continue}r.push(a),i++}}let a=r.join(`/`);return i>=0?n[0]?.startsWith(`/`)&&!a.startsWith(`/`)?a=`/`+a:n[0]?.startsWith(`./`)&&!a.startsWith(`./`)&&(a=`./`+a):a=`../`.repeat(-1*i)+a,n[n.length-1]?.endsWith(`/`)&&!a.endsWith(`/`)&&(a+=`/`),a}function Ue(e){return We(e,`https://`)}function We(e,t){let n=e.match(Oe);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}function Ge(e,t){return O(A(e))===O(A(t))}var Ke=Symbol.for(`ufo:protocolRelative`);function j(e=``,t){let n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){let[,e,t=``]=n;return{protocol:e.toLowerCase(),pathname:t,href:e+t,auth:``,host:``,search:``,hash:``}}if(!k(e,{acceptRelative:!0}))return t?j(t+e):qe(e);let[,r=``,i,a=``]=e.replace(/\\/g,`/`).match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[],[,o=``,s=``]=a.match(/([^#/?]*)(.*)?/)||[];r===`file:`&&(s=s.replace(/\/(?=[A-Za-z]:)/,``));let{pathname:c,search:l,hash:u}=qe(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[Ke]:!r}}function qe(e=``){let[t=``,n=``,r=``]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Je(e){let t=e.pathname||``,n=e.search?(e.search.startsWith(`?`)?``:`?`)+e.search:``,r=e.hash||``,i=e.auth?e.auth+`@`:``,a=e.host||``;return(e.protocol||e[Ke]?(e.protocol||``)+`//`:``)+i+a+t+n+r}function Ye(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?Ye(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var Xe=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function Ze(e,t,n,r){for(let i=n;i<e.length;i+=1)try{let n=r?r.run(()=>e[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>Ze(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function Qe(e,t,n){if(e.length>0)return Ze(e,t,0,Xe(n))}function $e(e,t,n){if(e.length>0){let r=Xe(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function et(e,t){for(let n of[...e])n(t)}var tt=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,`name`,{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=Ye(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=Ye(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(Qe,e,t)}callHookParallel(e,...t){return this.callHookWith($e,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&et(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&et(this._after,r)}):(this._after&&r&&et(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function nt(){return new tt}var rt=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}callHook(e,...t){let n=this._hooks[e];if(!(!n||n.length===0))return Ze(n,t,0)}};function it(e={}){let t,n=!1,r=e=>{if(t&&t!==e)throw Error(`Context conflict`)},i;if(e.asyncContext){let t=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;t?i=new t:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}let a=()=>{if(i){let e=i.getStore();if(e!==void 0)return e}return t};return{use:()=>{let e=a();if(e===void 0)throw Error(`Context is not available`);return e},tryUse:()=>a(),set:(e,i)=>{i||r(e),t=e,n=!0},unset:()=>{t=void 0,n=!1},call:(e,a)=>{r(e),t=e;try{return i?i.run(e,a):a()}finally{n||(t=void 0)}},async callAsync(e,r){t=e;let a=()=>{t=e},o=()=>t===e?a:void 0;ut.add(o);try{let a=i?i.run(e,r):r();return n||(t=void 0),await a}finally{ut.delete(o)}}}}function at(e={}){let t={};return{get(n,r={}){return t[n]||(t[n]=it({...e,...r})),t[n]}}}var M=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof global<`u`?global:typeof window<`u`?window:{},ot=`__unctx__`,st=M[ot]||(M[ot]=at()),ct=(e,t={})=>st.get(e,t),lt=`__unctx_async_handlers__`,ut=M[lt]||(M[lt]=new Set);function dt(e){let t=[];for(let e of ut){let n=e();n&&t.push(n)}let n=()=>{for(let e of t)e()},r=e();return r&&typeof r==`object`&&`catch`in r&&(r=r.catch(e=>{throw n(),e})),[r,n]}var ft={id:`__nuxt-loader`},pt={componentName:`NuxtLink`,prefetch:!0,prefetchOn:{visibility:!0}},mt={deep:!1},ht={},gt=`#__nuxt`,_t=`nuxt-app`,vt=36e5,yt=`vite:preloadError`;function bt(e=`nuxt-app`){return ct(e,{asyncContext:!1})}var xt=`__nuxt_plugin`;function St(e){let t=0,n={_id:e.id||`nuxt-app`,_scope:p(),provide:void 0,versions:{get nuxt(){return`4.4.7`},get vue(){return n.vueApp.version}},payload:f({...e.ssrContext?.payload||{},data:f({}),state:b({}),once:new Set,_errors:f({})}),static:{data:{}},runWithContext(e){return n._scope.active&&!v()?n._scope.run(()=>Dt(n,e)):Dt(n,e)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let e=!1;return()=>{if(!e&&(e=!0,t--,t===0))return n.isHydrating=!1,n.callHook(`app:suspense:resolve`)}},_asyncDataPromises:{},_asyncData:f({}),_state:f({}),_payloadRevivers:{},...e};{let e=window.__NUXT__;if(e)for(let t in e)switch(t){case`data`:case`state`:case`_errors`:Object.assign(n.payload[t],e[t]);break;default:n.payload[t]=e[t]}}n.hooks=nt(),n.hook=n.hooks.hook;{let e=n.hooks.callHook;n.hooks.callHook=(t,...n)=>Promise.resolve().then(()=>e(t,...n))}n.callHook=n.hooks.callHook,n.provide=(e,t)=>{let r=`$`+e;P(n,r,t),P(n.vueApp.config.globalProperties,r,t)},P(n.vueApp,`$nuxt`,n),P(n.vueApp.config.globalProperties,`$nuxt`,n);{window.addEventListener(yt,e=>{n.callHook(`app:chunkError`,{error:e.payload}),e.payload?.message?.includes(`Unable to preload CSS`)&&e.preventDefault()}),window.useNuxtApp||=N;let e=n.hook(`app:error`,(...e)=>{console.error(`[nuxt] error caught during app initialization`,...e)});n.hook(`app:mounted`,e)}let r=n.payload.config;return n.provide(`config`,r),n}function Ct(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function wt(e,t){if(typeof t==`function`){let{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n==`object`)for(let t in n)e.provide(t,n[t])}}async function Tt(e,t){let n=new Set,r=[],i=[],a,o=0;async function s(c){let l=c.dependsOn?.filter(e=>t.some(t=>t._name===e)&&!n.has(e))??[];if(l.length>0)r.push([new Set(l),c]);else{let t=wt(e,c).then(async()=>{c._name&&(n.add(c._name),await Promise.all(r.map(async([e,t])=>{e.has(c._name)&&(e.delete(c._name),e.size===0&&(o++,await s(t)))})))}).catch(t=>{if(!c.parallel&&!e.payload.error)throw t;a||=t});c.parallel?i.push(t):await t}}for(let n of t)Ct(e,n);for(let e of t)await s(e);if(await Promise.all(i),o)for(let e=0;e<o;e++)await Promise.all(i);if(a)throw e.payload.error||a}function Et(e){if(typeof e==`function`)return e;let t=e._name||e.name;return delete e.name,Object.assign(e.setup||(()=>{}),e,{[xt]:!0,_name:t})}function Dt(e,t,n){return bt(e._id).set(e),e.vueApp.runWithContext(()=>n?t(...n):t())}function Ot(e){let t;return _()&&(t=r()?.appContext.app.$nuxt),t||=bt(e).tryUse(),t||null}function N(e){let t=Ot(e);if(!t)throw Error(`[nuxt] instance unavailable`);return t}function kt(e){return N().$config}function P(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function At(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function jt(e,t,n=`.`,r){if(!At(t))return jt(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:At(a)&&At(i[t])?i[t]=jt(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Mt(e){return(...t)=>t.reduce((t,n)=>jt(t,n,``,e),{})}var Nt=Mt(),Pt=Mt((e,t,n)=>{if(e[t]!==void 0&&typeof n==`function`)return e[t]=n(e[t]),!0});function Ft(e,t){try{return t in e}catch{return!1}}var It=class extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(e,t={}){super(e,t),t.cause&&!this.cause&&(this.cause=t.cause)}toJSON(){let e={message:this.message,statusCode:Vt(this.statusCode,500)};return this.statusMessage&&(e.statusMessage=Bt(this.statusMessage)),this.data!==void 0&&(e.data=this.data),e}};function Lt(e){if(typeof e==`string`)return new It(e);if(Rt(e))return e;let t=new It(e.message??e.statusMessage??``,{cause:e.cause||e});if(Ft(e,`stack`))try{Object.defineProperty(t,`stack`,{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=Vt(e.statusCode,t.statusCode):e.status&&(t.statusCode=Vt(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){let e=t.statusMessage;Bt(t.statusMessage)!==e&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function Rt(e){return e?.constructor?.__h3_error__===!0}var zt=/[^\u0009\u0020-\u007E]/g;function Bt(e=``){return e.replace(zt,``)}function Vt(e,t=200){return!e||(typeof e==`string`&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}globalThis.Headers,globalThis.Response;var Ht=Symbol(`layout-meta`),Ut=Symbol(`route`);import.meta.url.replace(/\/app\/.*$/,`/`);var F=()=>N()?.$router,Wt=()=>_()?e(Ut,N()._route):N()._route;function Gt(e){return e}var Kt=()=>{try{if(N()._processingMiddleware)return!0}catch{return!1}return!1},qt=(e,t)=>{e||=`/`;let n=typeof e==`string`?e:`path`in e?Jt(e):F().resolve(e).href;if(t?.open){let{protocol:e}=new URL(n,window.location.href);if(e&&Ne(e))throw Error(`Cannot navigate to a URL with '${e}' protocol.`);let{target:r=`_blank`,windowFeatures:i={}}=t.open,a=[];for(let[e,t]of Object.entries(i))t!==void 0&&a.push(`${e.toLowerCase()}=${t}`);return open(n,r,a.join(`, `)),Promise.resolve()}let r=k(n,{acceptRelative:!0}),i=t?.external||r;if(i){if(!t?.external)throw Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");let{protocol:e}=new URL(n,window.location.href);if(e&&Ne(e))throw Error(`Cannot navigate to a URL with '${e}' protocol.`)}let a=Kt();if(!i&&a){if(t?.replace){if(typeof e==`string`){let{pathname:t,search:n,hash:r}=j(e);return{path:t,...n&&{query:we(n)},...r&&{hash:r},replace:!0}}return{...e,replace:!0}}return e}let o=F(),s=N();if(i)return s._scope.stop(),t?.replace?location.replace(n):location.href=n,a?s.isHydrating?new Promise(()=>{}):!1:Promise.resolve();let c=typeof e==`string`?Yt(e):e;return t?.replace?o.replace(c):o.push(c)};function Jt(e){return Re(e.path||``,e.query||{})+(e.hash||``)}function Yt(e){let t=j(e);return be(xe(t.pathname))+t.search+t.hash}var Xt=`__nuxt_error`,Zt=()=>S(N().payload,`error`),Qt=e=>{let t=tn(e);try{let e=Zt();N().hooks.callHook(`app:error`,t),e.value||=t}catch{throw t}return t},$t=async(e={})=>{let t=N(),n=Zt();t.callHook(`app:error:cleared`,e),e.redirect&&await F().replace(e.redirect),n.value=void 0},en=e=>!!e&&typeof e==`object`&&`__nuxt_error`in e,tn=e=>{typeof e!=`string`&&e.statusText&&(e.message??=e.statusText);let t=Lt(e);return Object.defineProperty(t,Xt,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,`status`,{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,`statusText`,{get:()=>t.statusMessage,configurable:!0}),t};function I(e){return typeof e==`string`?`'${e}'`:new nn().serialize(e)}var nn=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function rn(e,t){return e===t||I(e)===I(t)}var an=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],on=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],sn=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,L=[],cn=class{_data=new R;_hash=new R([...an]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)L[n]=e[t+n]|0;else{let e=L[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=L[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;L[n]=t+L[n-7]+i+L[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+on[n]+L[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=R.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new R(t,i)}},R=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(sn.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function ln(e){return new cn().finalize(e).toBase64()}function un(e){return ln(I(e))}var dn={trailing:!0};function fn(e,t=25,n={}){if(n={...dn,...n},!Number.isFinite(t))throw TypeError("Expected `wait` to be a finite number");let r,i,a=[],o,s,c=(t,r)=>(o=pn(e,t,r),o.finally(()=>{if(o=null,n.trailing&&s&&!i){let e=c(t,s);return s=null,e}}),o),l=function(...e){return n.trailing&&(s=e),o||new Promise(o=>{let l=!i&&n.leading;clearTimeout(i),i=setTimeout(()=>{i=null;let t=n.leading?r:c(this,e);s=null;for(let e of a)e(t);a=[]},t),l?(r=c(this,e),o(r)):a.push(o)})},u=e=>{e&&(clearTimeout(e),i=null)};return l.isPending=()=>!!i,l.cancel=()=>{u(i),a=[],s=null},l.flush=()=>{if(u(i),!s||o)return;let e=s;return s=null,c(this,e)},l}async function pn(e,t,n){return await e.apply(t,n)}c({name:`ServerPlaceholder`,render(){return C(`div`)}});var mn=typeof document<`u`;function hn(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function gn(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&hn(e.default)}var _n=Object.assign;function vn(e,t){let n={};for(let r in t){let i=t[r];n[r]=z(i)?i.map(e):e(i)}return n}var yn=()=>{},z=Array.isArray;function bn(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var xn=Symbol(``);function Sn(e,t){return _n(Error(),{type:e,[xn]:!0},t)}function Cn(e,t){return e instanceof Error&&xn in e&&(t==null||!!(e.type&t))}var wn=Symbol(``),Tn=Symbol(``),En=Symbol(``),Dn=Symbol(``),On=Symbol(``),kn=/#/g,An=/&/g,jn=/\//g,Mn=/=/g,Nn=/\?/g,Pn=/\+/g,Fn=/%5B/g,In=/%5D/g,Ln=/%5E/g,Rn=/%60/g,zn=/%7B/g,Bn=/%7C/g,Vn=/%7D/g,Hn=/%20/g;function Un(e){return e==null?``:encodeURI(``+e).replace(Bn,`|`).replace(Fn,`[`).replace(In,`]`)}function Wn(e){return Un(e).replace(zn,`{`).replace(Vn,`}`).replace(Ln,`^`)}function Gn(e){return Un(e).replace(Pn,`%2B`).replace(Hn,`+`).replace(kn,`%23`).replace(An,`%26`).replace(Rn,"`").replace(zn,`{`).replace(Vn,`}`).replace(Ln,`^`)}function Kn(e){return Gn(e).replace(Mn,`%3D`)}function qn(e){return Un(e).replace(kn,`%23`).replace(Nn,`%3F`)}function Jn(e){return qn(e).replace(jn,`%2F`)}function B(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Yn=/\/$/,Xn=e=>e.replace(Yn,``);function Zn(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=ir(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:B(o)}}function Qn(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function $n(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function er(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&V(t.matched[r],n.matched[i])&&tr(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function V(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function tr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!nr(e[n],t[n]))return!1;return!0}function nr(e,t){return z(e)?rr(e,t):z(t)?rr(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function rr(e,t){return z(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function ir(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var ar={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function or(e){if(!e)if(mn){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Xn(e)}var sr=/^[^#]+#/;function cr(e,t){return e.replace(sr,`#`)+t}function lr(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var ur=()=>({left:window.scrollX,top:window.scrollY});function dr(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=lr(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function fr(e,t){return(history.state?history.state.position-t:-1)+e}var pr=new Map;function mr(e,t){pr.set(e,t)}function hr(e){let t=pr.get(e);return pr.delete(e),t}function gr(e){return typeof e==`string`||e&&typeof e==`object`}function _r(e){return typeof e==`string`||typeof e==`symbol`}function vr(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Pn,` `),i=r.indexOf(`=`),a=B(i<0?r:r.slice(0,i)),o=i<0?null:B(r.slice(i+1));if(a in t){let e=t[a];z(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function yr(e){let t=``;for(let n in e){let r=e[n];if(n=Kn(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(z(r)?r.map(e=>e&&Gn(e)):[r&&Gn(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function br(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=z(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function xr(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Sr(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(Sn(4,{from:n,to:t})):e instanceof Error?c(e):gr(e)?c(Sn(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Cr(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(hn(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Sr(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=gn(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Sr(c,n,r,o,e,i)()}))}}return a}function wr(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>V(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>V(e,s))||i.push(s))}return[n,r,i]}var Tr=(e,t)=>({default:()=>e?o(x,e===!0?{}:e,t):t.default?.()}),Er=/(:\w+)\([^)]+\)/g,Dr=/(:\w+)[?+*]/g,Or=/:\w+/g;function kr(e){let t=e?.meta.key??e.path.replace(Er,`$1`).replace(Dr,`$1`).replace(Or,t=>e.params[t.slice(1)]?.toString()||``);return typeof t==`function`?t(e):t}function Ar(e,t){return e===t||t===ar?!1:kr(e)===kr(t)?!e.matched.every((e,n)=>e.components&&e.components.default===t.matched[n]?.components?.default):!0}function jr(e){return Array.isArray(e)?e:[e]}function Mr(e){let t=[];for(let n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?jr(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?jr(n.onBeforeLeave):void 0});return Nt(...t)}var Nr=Symbol.for(`nuxt:client-only`);c({name:`ClientOnly`,inheritAttrs:!1,props:[`fallback`,`placeholder`,`placeholderTag`,`fallbackTag`],setup(e,{slots:n,attrs:i}){let a=w(!1);t(()=>{a.value=!0});let s=r();return s&&(s._nuxtClientOnly=!0),d(Nr,!0),()=>{if(a.value){let e=n.default?.();return e&&e.length===1?[y(e[0],i)]:e}let t=n.fallback||n.placeholder;if(t)return o(t);let r=e.fallback||e.placeholder||``;return C(e.fallbackTag||e.placeholderTag||`span`,i,r)}}});var Pr=globalThis.requestIdleCallback||(e=>{let t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Fr=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),Ir=e=>{let t=N();t.isHydrating?t.hooks.hookOnce(`app:suspense:resolve`,()=>{Pr(()=>e())}):Pr(()=>e())};function Lr(e){return Object.defineProperty(function(){throw Error(`[nuxt] \`${e.name}\` is a compiler macro and cannot be called at runtime.`)},`__nuxt_factory`,{enumerable:!1,get:()=>e.factory})}var Rr=Lr({name:`createUseAsyncData`,factory(t={}){function o(...o){let s=typeof o[o.length-1]==`string`?o.pop():void 0;Br(o[0],o[1])&&o.unshift(s);let[c,l,d={}]=o,f=!1,p=m(c)||typeof c==`function`,h=p?g(()=>n(c)):{value:c};if(!h.value||typeof h.value!=`string`)throw TypeError(`[nuxt] [useAsyncData] key must be a non-empty string.`);if(typeof l!=`function`)throw TypeError(`[nuxt] [useAsyncData] handler must be a function.`);let _=typeof t==`function`,y=N(),b=_?t(d):t;if(!_)for(let e in b)b[e]!==void 0&&d[e]===void 0&&(d[e]=b[e]);if(d.server??=!0,d.default??=Wr,d.getCachedData??=Gr,d.lazy??=!1,d.immediate??=!0,d.deep??=mt.deep,d.dedupe??=`cancel`,_)for(let e in b)b[e]!==void 0&&(d[e]=b[e]);y._asyncData[h.value];function x(){let e={cause:`initial`,dedupe:d.dedupe},t=y._asyncData[h.value];return t?._init?y._asyncDataPromises[h.value]&&(e.cachedData=t._initialCachedData):(e.cachedData=d.getCachedData(h.value,y,{cause:`initial`}),y._asyncData[h.value]=Ur(y,h.value,l,d,e.cachedData),y._asyncData[h.value]._initialCachedData=e.cachedData),()=>y._asyncData[h.value].execute(e)}let S=x(),C=y._asyncData[h.value];C._deps++;let w=d.server!==!1&&y.payload.serverRendered;{let t=function(e){let t=y._asyncData[e];t?._deps&&(t._deps--,t._deps===0&&t?._off())},n=r();if(n&&w&&d.immediate&&!n.sp&&(n.sp=[]),n&&!n._nuxtOnBeforeMountCbs){n._nuxtOnBeforeMountCbs=[];let e=n._nuxtOnBeforeMountCbs;a(()=>{e.forEach(e=>{e()}),e.splice(0,e.length)}),u(()=>e.splice(0,e.length))}let o=n&&(n._nuxtClientOnly||e(Nr,!1));w&&y.isHydrating&&(C.error.value||C.data.value!==void 0)?C.status.value=C.error.value?`error`:`success`:n&&(!o&&y.payload.serverRendered&&y.isHydrating||d.lazy)&&d.immediate?n._nuxtOnBeforeMountCbs.push(S):d.immediate&&C.status.value!==`success`&&S();let s=v(),c=()=>{},m=p?te(h,(e,n)=>{if((e||n)&&e!==n){f=!0;let r=y._asyncData[n]?.data.value!==void 0,a=y._asyncDataPromises[n]!==void 0,o={cause:`initial`,dedupe:d.dedupe};if(!y._asyncData[e]?._init){let t;n&&r?t=y._asyncData[n].data.value:(t=d.getCachedData(e,y,{cause:`initial`}),o.cachedData=t),y._asyncData[e]=Ur(y,e,l,d,t)}y._asyncData[e]._deps++,n&&t(n),d._keyTriggersExecute!==!1&&(d.immediate||r||a)&&y._asyncData[e].execute(o),i(()=>{f=!1})}},{flush:`sync`}):c,g=d.watch?te(d.watch,()=>{f||(y._asyncData[h.value]?._execute.isPending()&&i(()=>{y._asyncData[h.value]?._execute.flush()}),y._asyncData[h.value]?._execute({cause:`watch`,dedupe:d.dedupe}))}):c;s&&ee(()=>{m(),g(),t(h.value)})}let T={data:H(()=>y._asyncData[h.value]?.data),pending:H(()=>y._asyncData[h.value]?.pending),status:H(()=>y._asyncData[h.value]?.status),error:H(()=>y._asyncData[h.value]?.error),refresh:(...e)=>y._asyncData[h.value]?._init?y._asyncData[h.value].execute(...e):x()(),execute:(...e)=>T.refresh(...e),clear:()=>{let e=y._asyncData[h.value];if(e?._abortController)try{e._abortController.abort(new DOMException(`AsyncData aborted by user.`,`AbortError`))}finally{e._abortController=void 0}Vr(y,h.value)}},E=Promise.resolve(y._asyncDataPromises[h.value]).then(()=>T);return Object.assign(E,T),Object.defineProperties(E,{then:{enumerable:!0,value:E.then.bind(E)},catch:{enumerable:!0,value:E.catch.bind(E)},finally:{enumerable:!0,value:E.finally.bind(E)}}),E}return o}}),zr=Rr.__nuxt_factory();Rr.__nuxt_factory({lazy:!0,_functionName:`useLazyAsyncData`});function H(e){return g({get(){return e()?.value},set(t){let n=e();n&&(n.value=t)}})}function Br(e,t){return!(typeof e==`string`||typeof e==`object`&&e||typeof e==`function`&&typeof t==`function`)}function Vr(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=void 0),e._asyncData[t]&&(e._asyncData[t].data.value=l(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value=`idle`,e._asyncData[t]._initialCachedData=void 0),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function Hr(e,t){let n={};for(let r of t)n[r]=e[r];return n}function Ur(e,t,n,r,i){e.payload._errors[t]??=void 0;let a=r.getCachedData!==Gr,o=n,c=r.deep?h:w,u=i!==void 0,d=e.hook(`app:data:refresh`,async e=>{(!e||e.includes(t))&&await f.execute({cause:`refresh:hook`})}),f={data:c(u?i:r.default()),pending:g(()=>f.status.value===`pending`),error:S(e.payload._errors,t),status:w(`idle`),execute:(...n)=>{let[i,a=void 0]=n,s=i&&a===void 0&&typeof i==`object`?i:{};if(e._asyncDataPromises[t]&&(s.dedupe??r.dedupe)===`defer`)return e._asyncDataPromises[t];{let n=`cachedData`in s?s.cachedData:r.getCachedData(t,e,{cause:s.cause??`refresh:manual`});if(n!==void 0)return e.payload.data[t]=f.data.value=n,f.error.value=void 0,f.status.value=`success`,Promise.resolve(n)}f._abortController&&f._abortController.abort(new DOMException(`AsyncData request cancelled by deduplication`,`AbortError`)),f._abortController=new AbortController,f.status.value=`pending`;let c=new AbortController,u=new Promise((t,n)=>{try{let i=s.timeout??r.timeout,a=Kr([f._abortController?.signal,s?.signal],c.signal,i);if(a.aborted){let e=a.reason;n(e instanceof Error?e:new DOMException(String(e??`Aborted`),`AbortError`));return}return a.addEventListener(`abort`,()=>{let e=a.reason;n(e instanceof Error?e:new DOMException(String(e??`Aborted`),`AbortError`))},{once:!0,signal:c.signal}),Promise.resolve(o(e,{signal:a})).then(t,n)}catch(e){n(e)}}).then(async n=>{if(e._asyncDataPromises[t]!==u)return;let i=n;r.transform&&(i=await r.transform(n)),r.pick&&(i=Hr(i,r.pick)),e.payload.data[t]=i,f.data.value=i,f.error.value=void 0,f.status.value=`success`}).catch(n=>{if(e._asyncDataPromises[t]!==u||f._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<`u`&&n instanceof DOMException&&n.name===`AbortError`)return f.status.value=`idle`,e._asyncDataPromises[t];f.error.value=tn(n),f.data.value=l(r.default()),f.status.value=`error`}).finally(()=>{c.abort(),e._asyncDataPromises[t]===u&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=u,e._asyncDataPromises[t]},_execute:fn((...e)=>f.execute(...e),0,{leading:!0}),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{d(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),a||s(()=>{e._asyncData[t]?._init||(Vr(e,t),f.execute=()=>Promise.resolve())})}};return f}var Wr=()=>void 0,Gr=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!==`refresh:manual`&&n.cause!==`refresh:hook`)return t.static.data[e]};function Kr(e,t,n){let r=e.filter(e=>!!e);if(typeof n==`number`&&n>=0){let e=AbortSignal.timeout?.(n);e&&r.push(e)}if(AbortSignal.any)return AbortSignal.any(r);let i=new AbortController;for(let e of r)if(e.aborted){let t=e.reason??new DOMException(`Aborted`,`AbortError`);try{i.abort(t)}catch{i.abort()}return i.signal}let a=()=>{let e=r.find(e=>e.aborted)?.reason??new DOMException(`Aborted`,`AbortError`);try{i.abort(e)}catch{i.abort()}};for(let e of r)e.addEventListener?.(`abort`,a,{once:!0,signal:t});return i.signal}var qr=Pt({ui:{colors:{primary:`green`,neutral:`neutral`},button:{defaultVariants:{color:`neutral`,variant:`ghost`,size:`sm`}},badge:{defaultVariants:{color:`neutral`,variant:`subtle`,size:`xs`}},tooltip:{defaultVariants:{delayDuration:0}}}},{nuxt:{},ui:{colors:{primary:`green`,secondary:`blue`,success:`green`,info:`blue`,warning:`yellow`,error:`red`,neutral:`slate`},icons:{arrowDown:`i-lucide-arrow-down`,arrowLeft:`i-lucide-arrow-left`,arrowRight:`i-lucide-arrow-right`,arrowUp:`i-lucide-arrow-up`,caution:`i-lucide-circle-alert`,check:`i-lucide-check`,chevronDoubleLeft:`i-lucide-chevrons-left`,chevronDoubleRight:`i-lucide-chevrons-right`,chevronDown:`i-lucide-chevron-down`,chevronLeft:`i-lucide-chevron-left`,chevronRight:`i-lucide-chevron-right`,chevronUp:`i-lucide-chevron-up`,close:`i-lucide-x`,copy:`i-lucide-copy`,copyCheck:`i-lucide-copy-check`,dark:`i-lucide-moon`,drag:`i-lucide-grip-vertical`,ellipsis:`i-lucide-ellipsis`,error:`i-lucide-circle-x`,external:`i-lucide-arrow-up-right`,eye:`i-lucide-eye`,eyeOff:`i-lucide-eye-off`,file:`i-lucide-file`,folder:`i-lucide-folder`,folderOpen:`i-lucide-folder-open`,hash:`i-lucide-hash`,info:`i-lucide-info`,light:`i-lucide-sun`,loading:`i-lucide-loader-circle`,menu:`i-lucide-menu`,minus:`i-lucide-minus`,panelClose:`i-lucide-panel-left-close`,panelOpen:`i-lucide-panel-left-open`,plus:`i-lucide-plus`,reload:`i-lucide-rotate-ccw`,search:`i-lucide-search`,stop:`i-lucide-square`,success:`i-lucide-circle-check`,system:`i-lucide-monitor`,tip:`i-lucide-lightbulb`,upload:`i-lucide-upload`,warning:`i-lucide-triangle-alert`},tv:{twMergeConfig:{}}},icon:{provider:`iconify`,class:``,aliases:{},iconifyApiEndpoint:`https://api.iconify.design`,localApiEndpoint:`/api/_nuxt_icon`,fallbackToApi:!0,cssSelectorPrefix:`i-`,cssWherePseudo:!0,cssLayer:`base`,mode:`css`,attrs:{"aria-hidden":!0},collections:`academicons.akar-icons.ant-design.arcticons.basil.bi.bitcoin-icons.bpmn.brandico.bx.bxl.bxs.bytesize.carbon.catppuccin.cbi.charm.ci.cib.cif.cil.circle-flags.circum.clarity.codex.codicon.covid.cryptocurrency.cryptocurrency-color.cuida.dashicons.devicon.devicon-plain.dinkie-icons.duo-icons.ei.el.emojione.emojione-monotone.emojione-v1.entypo.entypo-social.eos-icons.ep.et.eva.f7.fa.fa-brands.fa-regular.fa-solid.fa6-brands.fa6-regular.fa6-solid.fa7-brands.fa7-regular.fa7-solid.fad.famicons.fe.feather.file-icons.flag.flagpack.flat-color-icons.flat-ui.flowbite.fluent.fluent-color.fluent-emoji.fluent-emoji-flat.fluent-emoji-high-contrast.fluent-mdl2.fontelico.fontisto.formkit.foundation.fxemoji.gala.game-icons.garden.geo.gg.gis.gravity-ui.gridicons.grommet-icons.guidance.healthicons.heroicons.heroicons-outline.heroicons-solid.hugeicons.humbleicons.ic.icomoon-free.icon-park.icon-park-outline.icon-park-solid.icon-park-twotone.iconamoon.iconoir.icons8.il.ion.iwwa.ix.jam.la.lets-icons.line-md.lineicons.logos.ls.lsicon.lucide.lucide-lab.mage.majesticons.maki.map.marketeq.material-icon-theme.material-symbols.material-symbols-light.mdi.mdi-light.medical-icon.memory.meteocons.meteor-icons.mi.mingcute.mono-icons.mynaui.nimbus.nonicons.noto.noto-v1.nrk.octicon.oi.ooui.openmoji.oui.pajamas.pepicons.pepicons-pencil.pepicons-pop.pepicons-print.ph.picon.pixel.pixelarticons.prime.proicons.ps.qlementine-icons.quill.radix-icons.raphael.ri.rivet-icons.roentgen.si.si-glyph.sidekickicons.simple-icons.simple-line-icons.skill-icons.solar.stash.streamline.streamline-block.streamline-color.streamline-cyber.streamline-cyber-color.streamline-emojis.streamline-flex.streamline-flex-color.streamline-freehand.streamline-freehand-color.streamline-kameleon-color.streamline-logos.streamline-pixel.streamline-plump.streamline-plump-color.streamline-sharp.streamline-sharp-color.streamline-stickies-color.streamline-ultimate.streamline-ultimate-color.subway.svg-spinners.system-uicons.tabler.tdesign.teenyicons.temaki.token.token-branded.topcoat.twemoji.typcn.uil.uim.uis.uit.uiw.unjs.vaadin.vs.vscode-icons.websymbol.weui.whh.wi.wpf.zmdi.zondicons`.split(`.`),fetchTimeout:1500}});function Jr(){let e=N();return e._appConfig||=b(qr),e._appConfig}var Yr=/^[a-z0-9]+(-[a-z0-9]+)*$/,U=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!W(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!W(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!W(e,n)?null:e}return null},W=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function Xr(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}var Zr=Object.freeze({left:0,top:0,width:16,height:16}),G=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),K=Object.freeze({...Zr,...G}),Qr=Object.freeze({...K,body:``,hidden:!1});function $r(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function ei(e,t){let n=$r(e,t);for(let r in Qr)r in G?r in e&&!(r in n)&&(n[r]=G[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function ti(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=ei(r[e]||i[e],a)}return o(t),n.forEach(o),ei(e,a)}function ni(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=Xr(e);for(let i in r){let a=r[i];a&&(t(i,ti(e,i,a)),n.push(i))}return n}var ri={provider:``,aliases:{},not_found:{},...Zr};function ii(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function ai(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!ii(e,ri))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!ii(t,Qr))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!ii(t,Qr))return null}return t}var oi=Object.create(null);function si(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function q(e,t){let n=oi[e]||(oi[e]=Object.create(null));return n[t]||(n[t]=si(e,t))}function ci(e,t){return ai(t)?ni(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function li(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}var J=!1;function ui(e){return typeof e==`boolean`&&(J=e),J}function di(e){let t=typeof e==`string`?U(e,!0,J):e;if(t){let e=q(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function fi(e,t){let n=U(e,!0,J);if(!n)return!1;let r=q(n.provider,n.prefix);return t?li(r,n.name,t):(r.missing.add(n.name),!0)}function pi(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),J&&!t&&!e.prefix){let t=!1;return ai(e)&&(e.prefix=``,ni(e,(e,n)=>{fi(e,n)&&(t=!0)})),t}let n=e.prefix;return W({prefix:n,name:`a`})?!!ci(q(t,n),e):!1}function mi(e){let t=di(e);return t&&{...K,...t}}var hi=Object.freeze({width:null,height:null}),gi=Object.freeze({...hi,...G}),_i=/(-?[0-9.]*[0-9]+[0-9.]*)/g,vi=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function yi(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(_i);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=vi.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function bi(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function xi(e,t){return e?`<defs>`+e+`</defs>`+t:t}function Si(e,t,n){let r=bi(e);return xi(r.defs,t+r.content+n)}var Ci=e=>e===`unset`||e===`undefined`||e===`none`;function wi(e,t){let n={...K,...e},r={...gi,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=Si(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=yi(d,c/l)):(u=o===`auto`?c:o,d=s===null?yi(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{Ci(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}var Ti=/\sid="(\S+)"/g,Ei=new Map;function Di(e){e=e.replace(/[0-9]+$/,``)||`a`;let t=Ei.get(e)||0;return Ei.set(e,t+1),t?`${e}${t}`:e}function Oi(e){let t=[],n;for(;n=Ti.exec(e);)t.push(n[1]);if(!t.length)return e;let r=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(t=>{let n=Di(t),i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+i+`)([")]|\\.[a-z])`,`g`),`$1`+n+r+`$3`)}),e=e.replace(new RegExp(r,`g`),``),e}var ki=Object.create(null);function Ai(e,t){ki[e]=t}function ji(e){return ki[e]||ki[``]}function Mi(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var Y=Object.create(null),X=[`https://api.simplesvg.com`,`https://api.unisvg.com`],Ni=[];X.length>0;)X.length===1||Math.random()>.5?Ni.push(X.shift()):Ni.push(X.pop());Y[``]=Mi({resources:[`https://api.iconify.design`].concat(Ni)});function Pi(e,t){let n=Mi(t);return n===null?!1:(Y[e]=n,!0)}function Z(e){return Y[e]}function Fi(){return Object.keys(Y)}var Ii=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function Li(e){Ii=e}function Ri(){return Ii}function zi(e,t){let n=Z(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{e=Math.max(e,t.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function Bi(e){return e===404}var Vi=(e,t,n)=>{let r=[],i=zi(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function Hi(e){if(typeof e==`string`){let t=Z(e);if(t)return t.path}return`/`}var Ui={prepare:Vi,send:(e,t,n)=>{if(!Ii){n(`abort`,424);return}let r=Hi(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;Ii(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n(Bi(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function Wi(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function Gi(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||Wi([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var Ki=0;function qi(e,t,n){let r=Ki++,i=Wi.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function Ji(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=q(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}function Yi(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?U(e,t,n):e;i&&r.push(i)}),r}var Xi={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Zi(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function y(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function b(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?x():v());return}if(m(),y(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function x(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(y(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{b(i,e,t)}};f.push(i),l++,d=setTimeout(x,e.rotate),n(r,t,i.callback)}return setTimeout(x),_}function Qi(e){let t={...Xi,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=Zi(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function $i(){}var ea=Object.create(null);function ta(e){if(!ea[e]){let t=Z(e);if(!t)return;ea[e]={config:t,redundancy:Qi(t)}}return ea[e]}function na(e,t,n){let r,i;if(typeof e==`string`){let t=ji(e);if(!t)return n(void 0,424),$i;i=t.send;let a=ta(e);a&&(r=a.redundancy)}else{let t=Mi(e);if(t){r=Qi(t);let n=ji(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),$i):r.query(t,i,n)().abort}function ra(){}function ia(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Gi(e)}))}function aa(e){let t=[],n=[];return e.forEach(e=>{(e.match(Yr)?t:n).push(e)}),{valid:t,invalid:n}}function Q(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!ci(e,n).length){r();return}}catch(e){console.error(e)}r(),ia(e)}function oa(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function sa(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){oa(e.loadIcons(r,n,t),t=>{Q(e,r,t)});return}if(i){r.forEach(r=>{oa(i(r,n,t),t=>{Q(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=aa(r);if(o.length&&Q(e,o,null),!a.length)return;let s=n.match(Yr)?ji(t):null;if(!s){Q(e,a,null);return}s.prepare(t,n,a).forEach(n=>{na(t,n,t=>{Q(e,n.icons,t)})})}))}var ca=(e,t)=>{let n=Ji(Yi(e,!0,ui()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,ra)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(q(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=q(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&sa(e,t)}),t?qi(t,n,i):ra},la=e=>new Promise((t,n)=>{let r=typeof e==`string`?U(e,!0):e;if(!r){n(e);return}ca([r||e],i=>{if(i.length&&r){let e=di(r);if(e){t({...K,...e});return}}n(e)})});function ua(e,t,n){q(n||``,t).loadIcons=e}function da(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in hi?(r===null||r&&(i===`string`||i===`number`))&&(n[e]=r):i===typeof n[e]&&(n[e]=e===`rotate`?r%4:r)}return n}var fa=/[\s,]+/;function pa(e,t){t.split(fa).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0;break}})}function ma(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}else if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}function ha(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function ga(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function _a(e){return`data:image/svg+xml,`+ga(e)}function va(e){return`url("`+_a(e)+`")`}var ya={...gi,inline:!1},ba={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,"aria-hidden":!0,role:`img`},xa={display:`inline-block`},Sa={backgroundColor:`currentColor`},Ca={backgroundColor:`transparent`},wa={Image:`var(--svg)`,Repeat:`no-repeat`,Size:`100% 100%`},Ta={webkitMask:Sa,mask:Sa,background:Ca};for(let e in Ta){let t=Ta[e];for(let n in wa)t[e+n]=wa[n]}var $={};[`horizontal`,`vertical`].forEach(e=>{let t=e.slice(0,1)+`Flip`;$[e+`-flip`]=t,$[e.slice(0,1)+`-flip`]=t,$[e+`Flip`]=t});function Ea(e){return e+(e.match(/^[-0-9.]+$/)?`px`:``)}var Da=(e,t)=>{let n=da(ya,t),r={...ba},i=t.mode||`svg`,a={},s=t.style,c=typeof s==`object`&&!(s instanceof Array)?s:{};for(let e in t){let i=t[e];if(i!==void 0)switch(e){case`icon`:case`style`:case`onLoad`:case`mode`:case`ssr`:case`customise`:break;case`inline`:case`hFlip`:case`vFlip`:n[e]=i===!0||i===`true`||i===1;break;case`flip`:typeof i==`string`&&pa(n,i);break;case`color`:a.color=i;break;case`rotate`:typeof i==`string`?n[e]=ma(i):typeof i==`number`&&(n[e]=i);break;case`ariaHidden`:case`aria-hidden`:i!==!0&&i!==`true`&&delete r[`aria-hidden`];break;default:{let t=$[e];t?(i===!0||i===`true`||i===1)&&(n[t]=!0):ya[e]===void 0&&(r[e]=i)}}}let l=wi(e,n),u=l.attributes;if(n.inline&&(a.verticalAlign=`-0.125em`),i===`svg`)return r.style={...a,...c},Object.assign(r,u),r.innerHTML=Oi(l.body),o(`svg`,r);let{body:d,width:f,height:p}=e,m=i===`mask`||(i===`bg`?!1:d.indexOf(`currentColor`)!==-1),h=ha(d,{...u,width:f+``,height:p+``});return r.style={...a,"--svg":va(h),width:Ea(u.width),height:Ea(u.height),...xa,...m?Sa:Ca,...c},o(`span`,r)};if(ui(!0),Ai(``,Ui),typeof document<`u`&&typeof window<`u`){let e=window;if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!pi(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;Pi(e,r)||console.error(n)}catch{console.error(n)}}}}var Oa={...K,body:``},ka=c((e,{emit:n})=>{let r=h(null);function i(){r.value&&=(r.value.abort?.(),null)}let a=h(!!e.ssr),o=h(``),c=w(null);function l(){let t=e.icon;if(typeof t==`object`&&t&&typeof t.body==`string`)return o.value=``,{data:t};let a;if(typeof t!=`string`||(a=U(t,!1,!0))===null)return null;let c=di(a);if(!c){let e=r.value;return(!e||e.name!==t)&&(c===null?r.value={name:t}:r.value={name:t,abort:ca([a],d)}),null}i(),o.value!==t&&(o.value=t,s(()=>{n(`load`,t)}));let l=e.customise;if(l){c=Object.assign({},c);let e=l(c.body,a.name,a.prefix,a.provider);typeof e==`string`&&(c.body=e)}let u=[`iconify`];return a.prefix!==``&&u.push(`iconify--`+a.prefix),a.provider!==``&&u.push(`iconify--`+a.provider),{data:c,classes:u}}function d(){let e=l();e?e.data!==c.value?.data&&(c.value=e):c.value=null}return a.value?d():t(()=>{a.value=!0,d()}),te(()=>e.icon,d),u(i),()=>{let t=c.value;if(!t)return Da(Oa,e);let n=e;return t.classes&&(n={...e,class:t.classes.join(` `)}),Da({...K,...t.data},n)}},{props:[`icon`,`mode`,`ssr`,`width`,`height`,`style`,`color`,`inline`,`rotate`,`hFlip`,`horizontalFlip`,`vFlip`,`verticalFlip`,`flip`,`id`,`ariaHidden`,`customise`,`title`],emits:[`load`]}),Aa={getAPIConfig:Z,setAPIModule:Ai,sendAPIQuery:na,setFetch:Li,getFetch:Ri,listAPIProviders:Fi},ja=Object.freeze({left:0,top:0,width:16,height:16}),Ma=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Na=Object.freeze({...ja,...Ma});Object.freeze({...Na,body:``,hidden:!1});function Pa(e){let[t,n,r,i]=e;if(r!==i){let e=Math.max(r,i);return[t-(e-r)/2,n-(e-i)/2,e,e]}return e}var Fa=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Ia=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function La(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(Fa);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=Ia.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}var Ra=Object.freeze({width:null,height:null}),za=Object.freeze({...Ra,...Ma});function Ba(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function Va(e,t){return e?`<defs>`+e+`</defs>`+t:t}function Ha(e,t,n){let r=Ba(e);return Va(r.defs,t+r.content+n)}var Ua=e=>e===`unset`||e===`undefined`||e===`none`;function Wa(e,t){let n={...Na,...e},r={...za,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=Ha(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=La(d,c/l)):(u=o===`auto`?c:o,d=s===null?La(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{Ua(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}function Ga(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function Ka(e){return`data:image/svg+xml,`+Ga(e)}function qa(e){return`url("`+Ka(e)+`")`}function Ja(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function Ya(e){let t={display:`inline-block`,width:`1em`,height:`1em`},n=e.varName;switch(e.pseudoSelector&&(t.content=`''`),e.mode){case`background`:n&&(t[`background-image`]=`var(--`+n+`)`),t[`background-repeat`]=`no-repeat`,t[`background-size`]=`100% 100%`;break;case`mask`:t[`background-color`]=`currentColor`,n&&(t[`mask-image`]=t[`-webkit-mask-image`]=`var(--`+n+`)`),t[`mask-repeat`]=t[`-webkit-mask-repeat`]=`no-repeat`,t[`mask-size`]=t[`-webkit-mask-size`]=`100% 100%`;break}return t}function Xa(e,t){let n={},r=t.varName,i=Wa(e),a=i.viewBox;a[2]!==a[3]&&(t.forceSquare?a=Pa(a):n.width=La(`1em`,a[2]/a[3]));let o=qa(Ja(i.body.replace(/currentColor/g,t.color||`black`),{viewBox:`${a[0]} ${a[1]} ${a[2]} ${a[3]}`,width:`${a[2]}`,height:`${a[3]}`}));if(r)n[`--`+r]=o;else switch(t.mode){case`background`:n[`background-image`]=o;break;case`mask`:n[`mask-image`]=n[`-webkit-mask-image`]=o;break}return n}var Za={selectorStart:{compressed:`{`,compact:` {`,expanded:` {`},selectorEnd:{compressed:`}`,compact:`; }
|
|
2
|
-
`,expanded:`;
|
|
3
|
-
}
|
|
4
|
-
`},rule:{compressed:`{key}:`,compact:` {key}: `,expanded:`
|
|
5
|
-
{key}: `}};function Qa(e,t=`expanded`){let n=[];for(let r=0;r<e.length;r++){let{selector:i,rules:a}=e[r],o=(i instanceof Array?i.join(t===`compressed`?`,`:`, `):i)+Za.selectorStart[t],s=!0;for(let e in a)s||(o+=`;`),o+=Za.rule[t].replace(`{key}`,e)+a[e],s=!1;o+=Za.selectorEnd[t],n.push(o)}return n.join(t===`compressed`?``:`
|
|
6
|
-
`)}function $a(e,t={}){let n=t.customise?t.customise(e.body):e.body,r=t.mode||(t.color||!n.includes(`currentColor`)?`background`:`mask`),i=t.varName;i===void 0&&r===`mask`&&(i=`svg`);let a={...t,mode:r,varName:i};r===`background`&&delete a.varName;let o={...t.rules,...Ya(a),...Xa({...Na,...e,body:n},a)};return Qa([{selector:t.iconSelector||`.icon`,rules:o}],a.format)}function eo(){}export{yn as $,Sr as A,vt as At,dr as B,j as Bt,B as C,Et as Ct,Cr as D,ft as Dt,wr as E,_t as Et,or as F,Ge as Ft,vn as G,Le as Gt,Qn as H,Ue as Ht,br as I,Ne as It,z as J,_n as K,A as Kt,vr as L,He as Lt,er as M,dt as Mt,tr as N,rt as Nt,hr as O,ht as Ot,V as P,k as Pt,bn as Q,Zn as R,Ve as Rt,cr as S,St,Jn as T,kt as Tt,$n as U,Re as Ut,yr as V,Ie as Vt,xr as W,Fe as Wt,Cn as X,mn as Y,wn as Z,Mr as _,F as _t,Pi as a,rn as at,ar as b,Nt as bt,la as c,tn as ct,qr as d,Zt as dt,Dn as et,zr as f,Gt as ft,Pr as g,Wt as gt,Fr as h,Jt as ht,Aa as i,un as it,_r as j,gt as jt,fr as k,pt as kt,ua as l,en as lt,Ir as m,qt as mt,$a as n,On as nt,fi as o,I as ot,Lr as p,Yt as pt,Sn as q,ae as qt,ka as r,Tn as rt,mi as s,$t as st,eo as t,En as tt,Jr as u,Qt as ut,Tr as v,Ht as vt,Wn as w,N as wt,ur as x,Tt as xt,Ar as y,Ut as yt,mr as z,we as zt};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,T as t,h as n,tt as r}from"./CqjbkMN9.js";import{c as i,it as a,n as o,o as s,r as c,s as l,u,wt as d}from"./D4EkL0XJ.js";async function f(e,t){if(!e)return null;let n=l(e);if(n)return n;let r,a=i(e).catch(()=>(console.warn(`[Icon] failed to load icon \`${e}\``),null));return t>0?await Promise.race([a,new Promise(n=>{r=setTimeout(()=>{console.warn(`[Icon] loading icon \`${e}\` timed out after ${t}ms`),n()},t)})]).finally(()=>clearTimeout(r)):await a,l(e)}function p(e){let t=u().icon,r=(t.collections||[]).sort((e,t)=>t.length-e.length);return n(()=>{let n=e(),i=n.startsWith(t.cssSelectorPrefix)?n.slice(t.cssSelectorPrefix.length):n,a=t.aliases?.[i]||i;if(!a.includes(`:`)){let e=r.find(e=>a.startsWith(e+`-`));return e?e+`:`+a.slice(e.length+1):a}return a})}function m(e,t){if(e!==!1)return e===!0||e===null?t:e}var h;function g(e){return e.replace(/([^\w-])/g,`\\$1`)}function _(){if(h)return h;h=new Set;let e=e=>{if(e=e.replace(/^:where\((.*)\)$/,`$1`).trim(),e.startsWith(`.`))return e},t=n=>{if(n?.length)for(let r of n){r?.cssRules&&t(r.cssRules);let n=r?.selectorText;if(typeof n==`string`){let t=e(n);t&&h.add(t)}}};if(typeof document<`u`)for(let e of document.styleSheets)try{t(e.cssRules||e.rules)}catch{}return h}var v=t({name:`NuxtIconCss`,props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(t){let i=d(),c=u().icon,p=n(()=>{if(!t.name)return``;let e=c.cssSelectorPrefix+t.name;return typeof t.customize==`function`?e+`--customized-`+a(t.customize.toString()):e});function h(e){if(!e)return;let t=l(e);if(t)return t;let n=i.payload?.data?.[e];if(n)return s(e,n),n}let v=n(()=>`.`+g(p.value));function y(e,n=!0){let r=v.value;c.cssWherePseudo&&(r=`:where(${r})`);let i=o(e,{iconSelector:r,format:`compressed`,customise:m(t.customize,c.customize)});return c.cssLayer&&n?`@layer ${c.cssLayer} { ${i} }`:i}{let e=_();async function n(t){if(e.has(v.value)||typeof document>`u`)return;let n=document.createElement(`style`);n.textContent=y(t);let r=document.head.querySelector(`style, link[rel="stylesheet"]`);r?document.head.insertBefore(n,r):document.head.appendChild(n),e.add(v.value)}r(()=>t.name,()=>{if(e.has(v.value))return;let r=h(t.name);r?n(r):f(t.name,-1).then(e=>{e&&n(e)}).catch(()=>null)},{immediate:!0})}return()=>e(`span`,{class:[`iconify`,p.value]})}}),y=t({name:`NuxtIconSvg`,props:{name:{type:String,required:!0},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(t,{slots:n}){let r=d(),i=u().icon,a=p(()=>t.name),o=`i-`+a.value;if(a.value){let e=r.payload.data[o];e&&s(a.value,e)}return()=>e(c,{icon:a.value,ssr:!0,customise:m(t.customize,i.customize)},n)}}),b=t({name:`NuxtIcon`,props:{name:{type:String,required:!0},mode:{type:String,required:!1,default:null},size:{type:[Number,String],required:!1,default:null},customize:{type:[Function,Boolean,null],default:null,required:!1}},setup(t,{slots:r}){let i=d(),a=u().icon,o=p(()=>t.name),s=n(()=>i.vueApp?.component(o.value)||((t.mode||a.mode)===`svg`?y:v)),c=n(()=>{let e=t.size||a.size;return e?{fontSize:Number.isNaN(+e)?e:e+`px`}:null});return()=>e(s.value,{...a.attrs,name:o.value,class:a.class,style:c.value,customize:t.customize},r)}});export{b as default};
|