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.
Files changed (51) hide show
  1. package/dist/chunks/tw4.cjs +1 -1
  2. package/dist/chunks/tw4.mjs +1 -1
  3. package/dist/chunks/uno.cjs +1 -1
  4. package/dist/chunks/uno.mjs +1 -1
  5. package/dist/devtools/200.html +1 -1
  6. package/dist/devtools/404.html +1 -1
  7. package/dist/devtools/_nuxt/{BWKJ0Uxb.js → BZ_CG9ll.js} +8 -8
  8. package/dist/devtools/_nuxt/{Bdtz4ZK9.js → BdMalyEU.js} +1 -1
  9. package/dist/devtools/_nuxt/{BOEXnX7x.js → BhkGaWEe.js} +1 -1
  10. package/dist/devtools/_nuxt/Bm4Q-nTW.js +3 -0
  11. package/dist/devtools/_nuxt/{DSl3mlLY.js → CBcJg2GG.js} +1 -1
  12. package/dist/devtools/_nuxt/{CdmciVPJ.js → CXAM78_A.js} +1 -1
  13. package/dist/devtools/_nuxt/{BA-4cUNc.js → CYDI7SLa.js} +1 -1
  14. package/dist/devtools/_nuxt/CkbDfutK.js +152 -0
  15. package/dist/devtools/_nuxt/{B9jrmesR.js → Co8Tk_C2.js} +1 -1
  16. package/dist/devtools/_nuxt/{C_JnDlx-.js → D49I50CU.js} +1 -1
  17. package/dist/devtools/_nuxt/DevtoolsSection.DkT2bJJh.css +1 -0
  18. package/dist/devtools/_nuxt/DevtoolsSnippet.zV_SDojn.css +1 -0
  19. package/dist/devtools/_nuxt/builds/latest.json +1 -1
  20. package/dist/devtools/_nuxt/builds/meta/0f3dbc15-8308-4956-81b9-5507cac7018c.json +1 -0
  21. package/dist/devtools/_nuxt/{entry.CcrXpo2y.css → entry.D7u2asd2.css} +1 -1
  22. package/dist/devtools/_nuxt/pO9PmtPW.js +6 -0
  23. package/dist/devtools/_nuxt/{pages.Ci_xvfJ8.css → pages.0Jk10xlb.css} +1 -1
  24. package/dist/devtools/_nuxt/renderer-select.CN5IWe60.css +1 -0
  25. package/dist/devtools/debug/index.html +1 -1
  26. package/dist/devtools/docs/index.html +1 -1
  27. package/dist/devtools/index.html +1 -1
  28. package/dist/devtools/templates/index.html +1 -1
  29. package/dist/module.cjs +1 -1
  30. package/dist/module.json +1 -1
  31. package/dist/module.mjs +1 -1
  32. package/dist/runtime/server/og-image/core/style-attr.d.ts +8 -0
  33. package/dist/runtime/server/og-image/core/style-attr.js +34 -0
  34. package/dist/runtime/server/og-image/core/vnodes.d.ts +2 -1
  35. package/dist/runtime/server/og-image/core/vnodes.js +3 -27
  36. package/dist/shared/{nuxt-og-image.CgPzmzQY.cjs → nuxt-og-image.CfTPCtaS.cjs} +38 -24
  37. package/dist/shared/{nuxt-og-image.DGAMxBol.mjs → nuxt-og-image.DdbTs-xp.mjs} +37 -23
  38. package/package.json +5 -5
  39. package/dist/devtools/_nuxt/D4EkL0XJ.js +0 -6
  40. package/dist/devtools/_nuxt/DKaW7clv.js +0 -1
  41. package/dist/devtools/_nuxt/DYta7Mdi.js +0 -3
  42. package/dist/devtools/_nuxt/DevtoolsSection.CcOMr_vO.css +0 -1
  43. package/dist/devtools/_nuxt/DevtoolsSnippet.BhrTdbXn.css +0 -1
  44. package/dist/devtools/_nuxt/builds/meta/a36bc212-7179-4aa2-a534-6366229bd7b1.json +0 -1
  45. package/dist/devtools/_nuxt/renderer-select.COGJ4ZQe.css +0 -1
  46. package/dist/devtools/_nuxt/wMBdlVF-.js +0 -152
  47. /package/dist/devtools/_nuxt/{CuJezOxb.js → BsRKQH5X.js} +0 -0
  48. /package/dist/devtools/_nuxt/{E8AZ6HoH.js → CDaXKRRu.js} +0 -0
  49. /package/dist/devtools/_nuxt/{C5jzcy9i.js → CM-t-6ZT.js} +0 -0
  50. /package/dist/devtools/_nuxt/{CCTv7mmB.js → HWyD49jH.js} +0 -0
  51. /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, htmlDecodeQuotes } from "../../util/encoding.js";
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
- const RE_KEBAB_SEGMENT = /-([a-z])/g;
13
- const RE_AMP_ENTITY = /&amp;/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 templateMatch = code.match(RE_TEMPLATE_CONTENT);
3363
- if (!templateMatch)
3375
+ const bounds = getOuterTemplateBounds(code);
3376
+ if (!bounds)
3364
3377
  return;
3365
3378
  const s = new MagicString__default(code);
3366
- const templateStart = code.indexOf("<template>") + "<template>".length;
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 newTemplateStart = result.code.indexOf("<template>") + "<template>".length;
3555
- const newTemplateEnd = result.code.indexOf("</template>");
3556
- template = result.code.slice(newTemplateStart, newTemplateEnd);
3557
- hasChanges = true;
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: `${attr}="${resolved}"` });
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
- const attrMatch = r.to.match(RE_QUOTED_ATTR);
3587
- if (attrMatch?.[1] && attrMatch[2] !== void 0 && RE_COLOR_ATTR_NAME.test(attrMatch[1])) {
3588
- const downleveled = await downlevelColor(attrMatch[1], attrMatch[2]);
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, to: `style="${resolved}"` });
3612
+ styleReplacements.push({ from: match, content: resolved });
3600
3613
  return match;
3601
3614
  });
3602
3615
  for (const r of styleReplacements) {
3603
- const styleContent = r.to.slice('style="'.length, -1);
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
- r.to = `style="${downleveled.join("; ")}"`;
3622
- template = template.replace(r.from, r.to);
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 = Object.entries(merged).map(([p, v]) => `${p}:${v}`).join(";");
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.CgPzmzQY.cjs', document.baseURI).href)));
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 templateMatch = code.match(RE_TEMPLATE_CONTENT);
3343
- if (!templateMatch)
3355
+ const bounds = getOuterTemplateBounds(code);
3356
+ if (!bounds)
3344
3357
  return;
3345
3358
  const s = new MagicString(code);
3346
- const templateStart = code.indexOf("<template>") + "<template>".length;
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 newTemplateStart = result.code.indexOf("<template>") + "<template>".length;
3535
- const newTemplateEnd = result.code.indexOf("</template>");
3536
- template = result.code.slice(newTemplateStart, newTemplateEnd);
3537
- hasChanges = true;
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: `${attr}="${resolved}"` });
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
- const attrMatch = r.to.match(RE_QUOTED_ATTR);
3567
- if (attrMatch?.[1] && attrMatch[2] !== void 0 && RE_COLOR_ATTR_NAME.test(attrMatch[1])) {
3568
- const downleveled = await downlevelColor(attrMatch[1], attrMatch[2]);
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, to: `style="${resolved}"` });
3592
+ styleReplacements.push({ from: match, content: resolved });
3580
3593
  return match;
3581
3594
  });
3582
3595
  for (const r of styleReplacements) {
3583
- const styleContent = r.to.slice('style="'.length, -1);
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
- r.to = `style="${downleveled.join("; ")}"`;
3602
- template = template.replace(r.from, r.to);
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 = Object.entries(merged).map(([p, v]) => `${p}:${v}`).join(";");
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.2",
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.22",
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.1",
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.1",
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.97.0",
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};