nuxt-schema-org 5.0.9 → 6.0.0

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 (82) hide show
  1. package/README.md +7 -1
  2. package/dist/content.cjs +18 -10
  3. package/dist/content.d.cts +10 -8
  4. package/dist/content.d.mts +10 -8
  5. package/dist/content.d.ts +10 -8
  6. package/dist/content.mjs +14 -7
  7. package/dist/devtools/200.html +1 -0
  8. package/dist/devtools/404.html +1 -0
  9. package/dist/devtools/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  10. package/dist/devtools/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  11. package/dist/devtools/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  12. package/dist/devtools/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  13. package/dist/devtools/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  14. package/dist/devtools/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  15. package/dist/devtools/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  16. package/dist/devtools/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  17. package/dist/devtools/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  18. package/dist/devtools/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  19. package/dist/devtools/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  20. package/dist/devtools/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  21. package/dist/devtools/_nuxt/A3M--oru.js +1 -0
  22. package/dist/devtools/_nuxt/BIi0-Fow.js +1 -0
  23. package/dist/devtools/_nuxt/BTlHZeWO.js +1 -0
  24. package/dist/devtools/_nuxt/BZheUF1L.js +1 -0
  25. package/dist/devtools/_nuxt/BbQlJU1L.js +22 -0
  26. package/dist/devtools/_nuxt/BhsdrBQs.js +1 -0
  27. package/dist/devtools/_nuxt/CCrJkJ1j.js +1 -0
  28. package/dist/devtools/_nuxt/CIEfanjm.js +1 -0
  29. package/dist/devtools/_nuxt/CJmImwBy.js +1 -0
  30. package/dist/devtools/_nuxt/CQP4jmfd.js +1 -0
  31. package/dist/devtools/_nuxt/CoKXVz3j.js +3 -0
  32. package/dist/devtools/_nuxt/CxmWPGFh.js +1 -0
  33. package/dist/devtools/_nuxt/DLVD3PFC.js +1 -0
  34. package/dist/devtools/_nuxt/DMPry4-2.js +6 -0
  35. package/dist/devtools/_nuxt/DQVti1CA.js +3 -0
  36. package/dist/devtools/_nuxt/DTA0NTEc.js +1 -0
  37. package/dist/devtools/_nuxt/DVnX3Z-O.js +1 -0
  38. package/dist/devtools/_nuxt/DYeRUPw-.js +1 -0
  39. package/dist/devtools/_nuxt/DevtoolsSection.DAh4iUmh.css +1 -0
  40. package/dist/devtools/_nuxt/DevtoolsSnippet.DFZll8Oa.css +1 -0
  41. package/dist/devtools/_nuxt/DsMBYBcg.js +1 -0
  42. package/dist/devtools/_nuxt/H2IWgfJ2.js +1 -0
  43. package/dist/devtools/_nuxt/builds/latest.json +1 -0
  44. package/dist/devtools/_nuxt/builds/meta/505caeb5-7810-4155-b0b8-fdbac938904b.json +1 -0
  45. package/dist/devtools/_nuxt/dDPVCnhr.js +1 -0
  46. package/dist/devtools/_nuxt/entry.DlkMOrEc.css +2 -0
  47. package/dist/devtools/_nuxt/error-404.DhYSvyOs.css +1 -0
  48. package/dist/devtools/_nuxt/error-500.D8lASBk7.css +1 -0
  49. package/dist/devtools/_nuxt/pages.CPg4sNo-.css +1 -0
  50. package/dist/devtools/_nuxt/qYovGSZi.js +1 -0
  51. package/dist/devtools/_nuxt/schema-validation.CS82HmAK.css +1 -0
  52. package/dist/devtools/_nuxt/wobFGCFs.js +154 -0
  53. package/dist/devtools/debug/index.html +1 -0
  54. package/dist/devtools/docs/index.html +1 -0
  55. package/dist/devtools/index.html +1 -0
  56. package/dist/devtools/nodes/index.html +1 -0
  57. package/dist/devtools/raw/index.html +1 -0
  58. package/dist/module.cjs +14 -66
  59. package/dist/module.json +2 -2
  60. package/dist/module.mjs +16 -68
  61. package/dist/runtime/app/composables/useSchemaOrg.d.ts +2 -1
  62. package/dist/runtime/app/composables/useSchemaOrg.js +5 -1
  63. package/dist/runtime/app/utils/shared.js +26 -21
  64. package/dist/runtime/server/plugins/nuxt-content-v2.d.ts +1 -1
  65. package/dist/runtime/server/routes/__schema-org__/debug.d.ts +3 -0
  66. package/dist/runtime/server/routes/__schema-org__/debug.js +8 -3
  67. package/package.json +36 -28
  68. package/dist/client/200.html +0 -1
  69. package/dist/client/404.html +0 -1
  70. package/dist/client/_nuxt/3mPCgC9T.js +0 -1
  71. package/dist/client/_nuxt/B3Z8rEby.js +0 -1
  72. package/dist/client/_nuxt/BMMyXqK5.js +0 -1
  73. package/dist/client/_nuxt/BpdejJ-Z.js +0 -174
  74. package/dist/client/_nuxt/CVO1_9PV.js +0 -1
  75. package/dist/client/_nuxt/Cp-IABpG.js +0 -1
  76. package/dist/client/_nuxt/D0r3Knsf.js +0 -1
  77. package/dist/client/_nuxt/builds/latest.json +0 -1
  78. package/dist/client/_nuxt/builds/meta/8a772054-fdc3-4341-9461-52f13effa2ab.json +0 -1
  79. package/dist/client/_nuxt/entry.BVcYdedQ.css +0 -1
  80. package/dist/client/_nuxt/error-404.C93bBBKL.css +0 -1
  81. package/dist/client/_nuxt/error-500.zofSQbXz.css +0 -1
  82. package/dist/client/index.html +0 -1
package/README.md CHANGED
@@ -35,6 +35,12 @@ Install `nuxt-schema-org` dependency to your project:
35
35
  npx nuxi@latest module add schema-org
36
36
  ```
37
37
 
38
+ > [!TIP]
39
+ > Generate an Agent Skill for this package using [skilld](https://github.com/harlan-zw/skilld):
40
+ > ```bash
41
+ > npx skilld add nuxt-schema-org
42
+ > ```
43
+
38
44
  💡 Need a complete SEO solution for Nuxt? Check out [Nuxt SEO](https://nuxtseo.com).
39
45
 
40
46
  ## Documentation
@@ -67,5 +73,5 @@ Licensed under the [MIT license](https://github.com/harlan-zw/nuxt-schema-org/bl
67
73
  [license-src]: https://img.shields.io/github/license/harlan-zw/nuxt-schema-org.svg?style=flat&colorA=18181B&colorB=28CF8D
68
74
  [license-href]: https://github.com/harlan-zw/nuxt-schema-org/blob/main/LICENSE.md
69
75
 
70
- [nuxt-src]: https://img.shields.io/badge/Nuxt-18181B?logo=nuxt.js
76
+ [nuxt-src]: https://img.shields.io/badge/Nuxt-18181B?logo=nuxt
71
77
  [nuxt-href]: https://nuxt.com
package/dist/content.cjs CHANGED
@@ -1,19 +1,26 @@
1
1
  'use strict';
2
2
 
3
- const content = require('@nuxt/content');
3
+ const content = require('nuxtseo-shared/content');
4
+ const zod = require('zod');
4
5
 
5
- const SchemaOrgNode = content.z.record(content.z.string(), content.z.any());
6
- const schemaOrgSchema = content.z.union([SchemaOrgNode, content.z.array(SchemaOrgNode).optional()]).optional();
7
- const schema = content.z.object({
8
- schemaOrg: schemaOrgSchema
9
- });
10
- const headSchema = content.z.object({
11
- head: content.z.object({
12
- meta: content.z.array(content.z.record(content.z.string(), content.z.any()).optional()),
13
- script: content.z.array(content.z.record(content.z.string(), content.z.any()).optional())
6
+ const { defineSchema: defineSchemaOrgSchema, schema } = content.createContentSchemaFactory({
7
+ fieldName: "schemaOrg",
8
+ label: "schema-org",
9
+ docsUrl: "https://nuxtseo.com/schema-org/guides/content",
10
+ buildSchema: (_z) => {
11
+ const node = _z.record(_z.string(), _z.any());
12
+ return _z.union([node, _z.array(node).optional()]).optional();
13
+ }
14
+ }, zod.z);
15
+ const schemaOrgSchema = schema.shape.schemaOrg;
16
+ const headSchema = zod.z.object({
17
+ head: zod.z.object({
18
+ meta: zod.z.array(zod.z.record(zod.z.string(), zod.z.any()).optional()),
19
+ script: zod.z.array(zod.z.record(zod.z.string(), zod.z.any()).optional())
14
20
  }).optional()
15
21
  });
16
22
  function asSchemaOrgCollection(collection) {
23
+ console.warn("[schema-org] `asSchemaOrgCollection()` is deprecated. Use `defineSchemaOrgSchema()` in your collection schema instead. See https://nuxtseo.com/schema-org/guides/content");
17
24
  if (collection.type === "page") {
18
25
  collection.schema = collection.schema ? schema.extend(collection.schema.shape) : schema;
19
26
  if (!("head" in collection.schema.shape)) {
@@ -24,5 +31,6 @@ function asSchemaOrgCollection(collection) {
24
31
  }
25
32
 
26
33
  exports.asSchemaOrgCollection = asSchemaOrgCollection;
34
+ exports.defineSchemaOrgSchema = defineSchemaOrgSchema;
27
35
  exports.schema = schema;
28
36
  exports.schemaOrgSchema = schemaOrgSchema;
@@ -1,14 +1,16 @@
1
- import * as zod from 'zod';
1
+ import * as nuxtseo_shared_content from 'nuxtseo-shared/content';
2
2
  import { Collection } from '@nuxt/content';
3
+ import { z } from 'zod';
3
4
 
4
- declare const schemaOrgSchema: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodAny>, zod.ZodOptional<zod.ZodArray<zod.ZodRecord<zod.ZodString, zod.ZodAny>, "many">>]>>;
5
- declare const schema: zod.ZodObject<{
6
- schemaOrg: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodAny>, zod.ZodOptional<zod.ZodArray<zod.ZodRecord<zod.ZodString, zod.ZodAny>, "many">>]>>;
7
- }, "strip", zod.ZodTypeAny, {
8
- schemaOrg?: Record<string, any> | Record<string, any>[] | undefined;
5
+ declare const defineSchemaOrgSchema: (options?: nuxtseo_shared_content.ContentSchemaOptions) => z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>]>>;
6
+ declare const schema: z.ZodObject<z.ZodRawShape, "strip", z.ZodTypeAny, {
7
+ [x: string]: any;
9
8
  }, {
10
- schemaOrg?: Record<string, any> | Record<string, any>[] | undefined;
9
+ [x: string]: any;
11
10
  }>;
11
+
12
+ declare const schemaOrgSchema: z.ZodTypeAny;
13
+ /** @deprecated Use `defineSchemaOrgSchema()` in your collection schema instead. See https://nuxtseo.com/schema-org/guides/content */
12
14
  declare function asSchemaOrgCollection<T>(collection: Collection<T>): Collection<T>;
13
15
 
14
- export { asSchemaOrgCollection, schema, schemaOrgSchema };
16
+ export { asSchemaOrgCollection, defineSchemaOrgSchema, schema, schemaOrgSchema };
@@ -1,14 +1,16 @@
1
- import * as zod from 'zod';
1
+ import * as nuxtseo_shared_content from 'nuxtseo-shared/content';
2
2
  import { Collection } from '@nuxt/content';
3
+ import { z } from 'zod';
3
4
 
4
- declare const schemaOrgSchema: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodAny>, zod.ZodOptional<zod.ZodArray<zod.ZodRecord<zod.ZodString, zod.ZodAny>, "many">>]>>;
5
- declare const schema: zod.ZodObject<{
6
- schemaOrg: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodAny>, zod.ZodOptional<zod.ZodArray<zod.ZodRecord<zod.ZodString, zod.ZodAny>, "many">>]>>;
7
- }, "strip", zod.ZodTypeAny, {
8
- schemaOrg?: Record<string, any> | Record<string, any>[] | undefined;
5
+ declare const defineSchemaOrgSchema: (options?: nuxtseo_shared_content.ContentSchemaOptions) => z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>]>>;
6
+ declare const schema: z.ZodObject<z.ZodRawShape, "strip", z.ZodTypeAny, {
7
+ [x: string]: any;
9
8
  }, {
10
- schemaOrg?: Record<string, any> | Record<string, any>[] | undefined;
9
+ [x: string]: any;
11
10
  }>;
11
+
12
+ declare const schemaOrgSchema: z.ZodTypeAny;
13
+ /** @deprecated Use `defineSchemaOrgSchema()` in your collection schema instead. See https://nuxtseo.com/schema-org/guides/content */
12
14
  declare function asSchemaOrgCollection<T>(collection: Collection<T>): Collection<T>;
13
15
 
14
- export { asSchemaOrgCollection, schema, schemaOrgSchema };
16
+ export { asSchemaOrgCollection, defineSchemaOrgSchema, schema, schemaOrgSchema };
package/dist/content.d.ts CHANGED
@@ -1,14 +1,16 @@
1
- import * as zod from 'zod';
1
+ import * as nuxtseo_shared_content from 'nuxtseo-shared/content';
2
2
  import { Collection } from '@nuxt/content';
3
+ import { z } from 'zod';
3
4
 
4
- declare const schemaOrgSchema: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodAny>, zod.ZodOptional<zod.ZodArray<zod.ZodRecord<zod.ZodString, zod.ZodAny>, "many">>]>>;
5
- declare const schema: zod.ZodObject<{
6
- schemaOrg: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodAny>, zod.ZodOptional<zod.ZodArray<zod.ZodRecord<zod.ZodString, zod.ZodAny>, "many">>]>>;
7
- }, "strip", zod.ZodTypeAny, {
8
- schemaOrg?: Record<string, any> | Record<string, any>[] | undefined;
5
+ declare const defineSchemaOrgSchema: (options?: nuxtseo_shared_content.ContentSchemaOptions) => z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>, "many">>]>>;
6
+ declare const schema: z.ZodObject<z.ZodRawShape, "strip", z.ZodTypeAny, {
7
+ [x: string]: any;
9
8
  }, {
10
- schemaOrg?: Record<string, any> | Record<string, any>[] | undefined;
9
+ [x: string]: any;
11
10
  }>;
11
+
12
+ declare const schemaOrgSchema: z.ZodTypeAny;
13
+ /** @deprecated Use `defineSchemaOrgSchema()` in your collection schema instead. See https://nuxtseo.com/schema-org/guides/content */
12
14
  declare function asSchemaOrgCollection<T>(collection: Collection<T>): Collection<T>;
13
15
 
14
- export { asSchemaOrgCollection, schema, schemaOrgSchema };
16
+ export { asSchemaOrgCollection, defineSchemaOrgSchema, schema, schemaOrgSchema };
package/dist/content.mjs CHANGED
@@ -1,10 +1,16 @@
1
- import { z } from '@nuxt/content';
1
+ import { createContentSchemaFactory } from 'nuxtseo-shared/content';
2
+ import { z } from 'zod';
2
3
 
3
- const SchemaOrgNode = z.record(z.string(), z.any());
4
- const schemaOrgSchema = z.union([SchemaOrgNode, z.array(SchemaOrgNode).optional()]).optional();
5
- const schema = z.object({
6
- schemaOrg: schemaOrgSchema
7
- });
4
+ const { defineSchema: defineSchemaOrgSchema, schema } = createContentSchemaFactory({
5
+ fieldName: "schemaOrg",
6
+ label: "schema-org",
7
+ docsUrl: "https://nuxtseo.com/schema-org/guides/content",
8
+ buildSchema: (_z) => {
9
+ const node = _z.record(_z.string(), _z.any());
10
+ return _z.union([node, _z.array(node).optional()]).optional();
11
+ }
12
+ }, z);
13
+ const schemaOrgSchema = schema.shape.schemaOrg;
8
14
  const headSchema = z.object({
9
15
  head: z.object({
10
16
  meta: z.array(z.record(z.string(), z.any()).optional()),
@@ -12,6 +18,7 @@ const headSchema = z.object({
12
18
  }).optional()
13
19
  });
14
20
  function asSchemaOrgCollection(collection) {
21
+ console.warn("[schema-org] `asSchemaOrgCollection()` is deprecated. Use `defineSchemaOrgSchema()` in your collection schema instead. See https://nuxtseo.com/schema-org/guides/content");
15
22
  if (collection.type === "page") {
16
23
  collection.schema = collection.schema ? schema.extend(collection.schema.shape) : schema;
17
24
  if (!("head" in collection.schema.shape)) {
@@ -21,4 +28,4 @@ function asSchemaOrgCollection(collection) {
21
28
  return collection;
22
29
  }
23
30
 
24
- export { asSchemaOrgCollection, schema, schemaOrgSchema };
31
+ export { asSchemaOrgCollection, defineSchemaOrgSchema, schema, schemaOrgSchema };
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-schema-org/_nuxt/BbQlJU1L.js"}}</script><link rel="stylesheet" href="/__nuxt-schema-org/_nuxt/entry.DlkMOrEc.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BbQlJU1L.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/DQVti1CA.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/wobFGCFs.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/DMPry4-2.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BTlHZeWO.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/DsMBYBcg.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CJmImwBy.js"><script type="module" src="/__nuxt-schema-org/_nuxt/BbQlJU1L.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT_SITE_CONFIG__={_priority:{env:-15},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-schema-org",buildId:"505caeb5-7810-4155-b0b8-fdbac938904b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774366949378,false]</script></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-schema-org/_nuxt/BbQlJU1L.js"}}</script><link rel="stylesheet" href="/__nuxt-schema-org/_nuxt/entry.DlkMOrEc.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BbQlJU1L.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/DQVti1CA.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/wobFGCFs.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/DMPry4-2.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/BTlHZeWO.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/DsMBYBcg.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-schema-org/_nuxt/CJmImwBy.js"><script type="module" src="/__nuxt-schema-org/_nuxt/BbQlJU1L.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT_SITE_CONFIG__={_priority:{env:-15},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-schema-org",buildId:"505caeb5-7810-4155-b0b8-fdbac938904b",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774366949378,false]</script></body></html>
@@ -0,0 +1 @@
1
+ import{At as e,Dt as t,H as n,K as r,S as i,_ as a,g as o,h as s,it as c,m as l,v as u,w as d,wt as f}from"./DQVti1CA.js";import{c as p,n as m,o as h,q as g}from"./wobFGCFs.js";import{i as _}from"#entry";function v(e=2e3){let{copy:t,copied:n}=g({legacy:!0,copiedDuring:e});return{copy:t,copied:n}}var y=Object.assign(d({__name:`DevtoolsCopyButton`,props:{text:{}},setup(e){let{copy:r,copied:a}=v();return(s,l)=>{let u=h,d=p;return n(),o(d,{text:f(a)?`Copied!`:`Copy`},{default:c(()=>[i(u,{icon:f(a)?`carbon:checkmark`:`carbon:copy`,"aria-label":f(a)?`Copied`:`Copy to clipboard`,class:t(f(a)?`text-[var(--seo-green)]`:``),onClick:l[0]||=t=>f(r)(e.text)},null,8,[`icon`,`aria-label`,`class`])]),_:1},8,[`text`])}}}),{__name:`DevtoolsCopyButton`}),b=[`innerHTML`],x=Object.assign(d({__name:`OCodeBlock`,props:{code:{},lang:{},lines:{type:Boolean,default:!1},transformRendered:{type:Function}},setup(e){let r=l(()=>{let t=m(e.code,e.lang);return e.transformRendered?e.transformRendered(t.value||``):t.value});return(i,a)=>(n(),u(`pre`,{class:t([`code-block p-5`,e.lines?`code-block-lines`:``]),innerHTML:f(r)},null,10,b))}}),{__name:`OCodeBlock`}),S={class:`devtools-snippet`},C={key:0,class:`devtools-snippet-header`},w={class:`devtools-snippet-label`},T=Object.assign(_(d({__name:`DevtoolsSnippet`,props:{label:{},code:{},lang:{default:`js`}},setup(t){return(o,c)=>{let l=y,d=x;return n(),u(`div`,S,[t.label||o.$slots.header?(n(),u(`div`,C,[r(o.$slots,`header`,{},()=>[s(`code`,w,e(t.label),1)],!0),i(l,{text:t.code},null,8,[`text`])])):a(``,!0),i(d,{code:t.code,lang:t.lang,class:`devtools-snippet-block`},null,8,[`code`,`lang`])])}}}),[[`__scopeId`,`data-v-640b6e6e`]]),{__name:`DevtoolsSnippet`});export{T as t};
@@ -0,0 +1 @@
1
+ import"./BTlHZeWO.js";import{t as e}from"./DMPry4-2.js";export{e as default};
@@ -0,0 +1 @@
1
+ import{D as e,O as t,bt as n,k as r,n as i}from"./DQVti1CA.js";import{i as a}from"./DsMBYBcg.js";var o=/"(?:_|\\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*:/,s=/"(?: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*:/,c=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function l(e,t){if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){u(e);return}return t}function u(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function d(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(!c.test(e)){if(t.strict)throw SyntaxError(`[destr] Invalid JSON`);return e}try{if(o.test(e)||s.test(e)){if(t.strict)throw Error(`[destr] Possible prototype pollution`);return JSON.parse(e,l)}return JSON.parse(e)}catch(n){if(t.strict)throw n;return e}}String.fromCharCode;var f=/#/g,ee=/&/g,te=/\//g,ne=/=/g,re=/\?/g,p=/\+/g,ie=/%5e/gi,ae=/%60/gi,oe=/%7c/gi,se=/%20/gi,ce=/%2f/gi,le=/%252f/gi;function m(e){return encodeURI(``+e).replace(oe,`|`)}function h(e){return m(typeof e==`string`?e:JSON.stringify(e)).replace(p,`%2B`).replace(se,`+`).replace(f,`%23`).replace(ee,`%26`).replace(ae,"`").replace(ie,`^`).replace(te,`%2F`)}function g(e){return h(e).replace(ne,`%3D`)}function ue(e){return m(e).replace(f,`%23`).replace(re,`%3F`).replace(le,`%2F`).replace(ee,`%26`).replace(p,`%2B`)}function _(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}function de(e){return _(e.replace(ce,`%252F`))}function fe(e){return _(e.replace(p,` `))}function pe(e){return _(e.replace(p,` `))}function v(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=fe(e[1]);if(r===`__proto__`||r===`constructor`)continue;let i=pe(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 me(e,t){return(typeof t==`number`||typeof t==`boolean`)&&(t=String(t)),t?Array.isArray(t)?t.map(t=>`${g(e)}=${h(t)}`).join(`&`):`${g(e)}=${h(t)}`:g(e)}function he(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>me(t,e[t])).filter(Boolean).join(`&`)}var ge=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,y=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,_e=/^([/\\]\s*){2,}[^/\\]/,ve=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ye=/\/$|\/\?|\/#/,be=/^\.?\//;function b(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?ge.test(e):y.test(e)||(t.acceptRelative?_e.test(e):!1)}function xe(e){return!!e&&ve.test(e)}function x(e=``,t){return t?ye.test(e):e.endsWith(`/`)}function S(e=``,t){if(!t)return(x(e)?e.slice(0,-1):e)||`/`;if(!x(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 C(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(x(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 Se(e,t){if(we(t)||b(e))return e;let n=S(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Ee(n,e)}function Ce(e,t){if(we(t))return e;let n=S(t);if(!e.startsWith(n))return e;let r=e[n.length];if(r&&r!==`/`&&r!==`?`)return e;let i=e.slice(n.length);return i[0]===`/`?i:`/`+i}function w(e,t){let n=E(e);return n.search=he({...v(n.search),...t}),je(n)}function we(e){return!e||e===`/`}function Te(e){return e&&e!==`/`}function Ee(e,...t){let n=e||``;for(let e of t.filter(e=>Te(e)))if(n){let t=e.replace(be,``);n=C(n)+t}else n=e;return n}function De(...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&&b(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 Oe(e){return ke(e,`https://`)}function ke(e,t){let n=e.match(y);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}function Ae(e,t){return _(S(e))===_(S(t))}var T=Symbol.for(`ufo:protocolRelative`);function E(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(!b(e,{acceptRelative:!0}))return t?E(t+e):D(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}=D(s);return{protocol:r.toLowerCase(),auth:i?i.slice(0,Math.max(0,i.length-1)):``,host:o,pathname:c,search:l,hash:u,[T]:!r}}function D(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[T]?(e.protocol||``)+`//`:``)+i+a+t+n+r}function O(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 k(e,t,n=`.`,r){if(!O(t))return k(e,{},n,r);let i=Object.assign({},t);for(let t in 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]]:O(a)&&O(i[t])?i[t]=k(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Me(e){return(...t)=>t.reduce((t,n)=>k(t,n,``,e),{})}var Ne=Me(),Pe=Me((e,t,n)=>{if(e[t]!==void 0&&typeof n==`function`)return e[t]=n(e[t]),!0});function Fe(e,t){try{return t in e}catch{return!1}}var Ie=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:A(this.statusCode,500)};return this.statusMessage&&(e.statusMessage=Be(this.statusMessage)),this.data!==void 0&&(e.data=this.data),e}};function Le(e){if(typeof e==`string`)return new Ie(e);if(Re(e))return e;let t=new Ie(e.message??e.statusMessage??``,{cause:e.cause||e});if(Fe(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=A(e.statusCode,t.statusCode):e.status&&(t.statusCode=A(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){let e=t.statusMessage;Be(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 Re(e){return e?.constructor?.__h3_error__===!0}var ze=/[^\u0009\u0020-\u007E]/g;function Be(e=``){return e.replace(ze,``)}function A(e,t=200){return!e||(typeof e==`string`&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}globalThis.Headers,globalThis.Response;var Ve=Symbol(`layout-meta`),He=Symbol(`route`);import.meta.url.replace(/\/app\/.*$/,`/`);var j=()=>a()?.$router,Ue=()=>t()?r(He,a()._route):a()._route;function We(e){return e}var Ge=()=>{try{if(a()._processingMiddleware)return!0}catch{return!1}return!1},Ke=(e,t)=>{e||=`/`;let n=typeof e==`string`?e:`path`in e?M(e):j().resolve(e).href;if(t?.open){let{target:e=`_blank`,windowFeatures:r={}}=t.open,i=[];for(let[e,t]of Object.entries(r))t!==void 0&&i.push(`${e.toLowerCase()}=${t}`);return open(n,e,i.join(`, `)),Promise.resolve()}let r=b(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&&xe(e))throw Error(`Cannot navigate to a URL with '${e}' protocol.`)}let o=Ge();if(!i&&o){if(t?.replace){if(typeof e==`string`){let{pathname:t,search:n,hash:r}=E(e);return{path:t,...n&&{query:v(n)},...r&&{hash:r},replace:!0}}return{...e,replace:!0}}return e}let s=j(),c=a();if(i)return c._scope.stop(),t?.replace?location.replace(n):location.href=n,o?c.isHydrating?new Promise(()=>{}):!1:Promise.resolve();let l=typeof e==`string`?N(e):e;return t?.replace?s.replace(l):s.push(l)};function M(e){return w(e.path||``,e.query||{})+(e.hash||``)}function N(e){let t=E(e);return ue(de(t.pathname))+t.search+t.hash}var qe=`__nuxt_error`,P=()=>n(a().payload,`error`),Je=e=>{let t=F(e);try{let e=P();a().hooks.callHook(`app:error`,t),e.value||=t}catch{throw t}return t},Ye=async(e={})=>{let t=a(),n=P();t.callHook(`app:error:cleared`,e),e.redirect&&await j().replace(e.redirect),n.value=void 0},Xe=e=>!!e&&typeof e==`object`&&`__nuxt_error`in e,F=e=>{typeof e!=`string`&&e.statusText&&(e.message??=e.statusText);let t=Le(e);return Object.defineProperty(t,qe,{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},I=typeof document<`u`;function L(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Ze(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&L(e.default)}var R=Object.assign;function Qe(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 $e=()=>{},z=Array.isArray;function et(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var B=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),V=Symbol(``);B.MATCHER_NOT_FOUND,B.NAVIGATION_GUARD_REDIRECT,B.NAVIGATION_ABORTED,B.NAVIGATION_CANCELLED,B.NAVIGATION_DUPLICATED;function H(e,t){return R(Error(),{type:e,[V]:!0},t)}function tt(e,t){return e instanceof Error&&V in e&&(t==null||!!(e.type&t))}var nt=Symbol(``),rt=Symbol(``),it=Symbol(``),at=Symbol(``),ot=Symbol(``),U=/#/g,st=/&/g,ct=/\//g,lt=/=/g,ut=/\?/g,W=/\+/g,dt=/%5B/g,ft=/%5D/g,G=/%5E/g,pt=/%60/g,K=/%7B/g,mt=/%7C/g,ht=/%7D/g,gt=/%20/g;function q(e){return e==null?``:encodeURI(``+e).replace(mt,`|`).replace(dt,`[`).replace(ft,`]`)}function _t(e){return q(e).replace(K,`{`).replace(ht,`}`).replace(G,`^`)}function J(e){return q(e).replace(W,`%2B`).replace(gt,`+`).replace(U,`%23`).replace(st,`%26`).replace(pt,"`").replace(K,`{`).replace(ht,`}`).replace(G,`^`)}function vt(e){return J(e).replace(lt,`%3D`)}function yt(e){return q(e).replace(U,`%23`).replace(ut,`%3F`)}function bt(e){return yt(e).replace(ct,`%2F`)}function Y(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var xt=/\/$/,St=e=>e.replace(xt,``);function Ct(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=At(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Y(o)}}function wt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Tt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Et(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&X(t.matched[r],n.matched[i])&&Dt(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function X(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Dt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ot(e[n],t[n]))return!1;return!0}function Ot(e,t){return z(e)?kt(e,t):z(t)?kt(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function kt(e,t){return z(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function At(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 jt={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Mt=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Nt=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Pt(e){if(!e)if(I){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),St(e)}var Ft=/^[^#]+#/;function It(e,t){return e.replace(Ft,`#`)+t}function Lt(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 Rt=()=>({left:window.scrollX,top:window.scrollY});function zt(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=Lt(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 Bt(e,t){return(history.state?history.state.position-t:-1)+e}var Z=new Map;function Vt(e,t){Z.set(e,t)}function Ht(e){let t=Z.get(e);return Z.delete(e),t}function Ut(e){return typeof e==`string`||e&&typeof e==`object`}function Wt(e){return typeof e==`string`||typeof e==`symbol`}function Gt(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(W,` `),i=r.indexOf(`=`),a=Y(i<0?r:r.slice(0,i)),o=i<0?null:Y(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 Kt(e){let t=``;for(let n in e){let r=e[n];if(n=vt(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(z(r)?r.map(e=>e&&J(e)):[r&&J(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function qt(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 Jt(){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 Q(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(H(B.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):Ut(e)?c(H(B.NAVIGATION_GUARD_REDIRECT,{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 Yt(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(L(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Q(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=Ze(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Q(c,n,r,o,e,i)()}))}}return a}function Xt(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=>X(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>X(e,s))||i.push(s))}return[n,r,i]}var Zt=(t,n)=>({default:()=>t?e(i,t===!0?{}:t,n):n.default?.()}),Qt=/(:\w+)\([^)]+\)/g,$t=/(:\w+)[?+*]/g,en=/:\w+/g;function tn(e){let t=e?.meta.key??e.path.replace(Qt,`$1`).replace($t,`$1`).replace(en,t=>e.params[t.slice(1)]?.toString()||``);return typeof t==`function`?t(e):t}function nn(e,t){return e===t||t===jt?!1:tn(e)===tn(t)?!e.matched.every((e,n)=>e.components&&e.components.default===t.matched[n]?.components?.default):!0}function rn(e){return Array.isArray(e)?e:[e]}function an(e){let t=[];for(let n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?rn(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?rn(n.onBeforeLeave):void 0});return Ne(...t)}var $=globalThis.requestIdleCallback||(e=>{let t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),on=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),sn=e=>{let t=a();t.isHydrating?t.hooks.hookOnce(`app:suspense:resolve`,()=>{$(()=>e())}):$(()=>e())};export{We as $,Kt as A,tt as B,X as C,Ct as D,Gt as E,Qe as F,it as G,et as H,R as I,Ye as J,ot as K,H as L,Tt as M,Jt as N,Vt as O,B as P,P as Q,z as R,Dt as S,qt as T,$e as U,nt as V,at as W,Xe as X,F as Y,Je as Z,Ht as _,C as _t,Zt as a,Ve as at,Wt as b,d as bt,Mt as c,Pe as ct,It as d,De as dt,N as et,Y as f,Ee as ft,Yt as g,w as gt,Xt as h,Oe as ht,an as i,j as it,wt as j,zt as k,jt as l,b as lt,bt as m,Se as mt,on as n,M as nt,nn as o,He as ot,_t as p,v as pt,rt as q,$ as r,Ue as rt,Nt as s,Ne as st,sn as t,Ke as tt,Rt as u,Ae as ut,Bt as v,Ce as vt,Pt as w,Et as x,Q as y,S as yt,I as z};
@@ -0,0 +1 @@
1
+ import{At as e,Dt as t,G as n,H as r,K as i,S as a,_ as o,g as s,h as c,it as l,l as u,m as d,v as f,w as p,wt as m,x as h,y as g}from"./DQVti1CA.js";import"./BTlHZeWO.js";import{y as _}from"./wobFGCFs.js";import"./DMPry4-2.js";import"./CJmImwBy.js";import{i as v,n as y,r as b}from"#entry";import{t as ee}from"./A3M--oru.js";import{t as te}from"./CIEfanjm.js";import{a as x,c as S,d as C,f as w,i as T,l as E,o as D,r as O,s as ne,t as k}from"./dDPVCnhr.js";var A=[`role`],j={class:`devtools-alert-content`},M={key:0,class:`devtools-alert-action`},N=Object.assign(v(p({__name:`DevtoolsAlert`,props:{icon:{},variant:{default:`info`}},setup(e){let n={info:`carbon:information`,warning:`carbon:warning`,error:`carbon:close-outline`,success:`carbon:checkmark-outline`,production:`carbon:cloud`};return(s,l)=>{let u=_;return r(),f(`div`,{class:t([`devtools-alert`,`devtools-alert-${e.variant}`]),role:e.variant===`error`?`alert`:`status`},[a(u,{name:e.icon||n[e.variant],class:`devtools-alert-icon`,"aria-hidden":`true`},null,8,[`name`]),c(`div`,j,[i(s.$slots,`default`,{},void 0,!0)]),s.$slots.action?(r(),f(`div`,M,[i(s.$slots,`action`,{},void 0,!0)])):o(``,!0)],10,A)}}}),[[`__scopeId`,`data-v-4b5a194f`]]),{__name:`DevtoolsAlert`}),P={class:`space-y-4 stagger-children`},F={class:`font-medium`},I={class:`flex items-center gap-2`},L={class:`flex items-start justify-between mb-3`},R={class:`flex items-center gap-2`},z={class:`font-semibold text-sm`},B=[`href`],V={key:0,class:`text-xs text-[var(--color-text-muted)] mb-3 truncate`},H={class:`ml-1 opacity-80`},U={class:`ml-1 opacity-80`},W={class:`space-y-3`},G={key:0},K={class:`space-y-1.5`},q={class:`font-mono text-[var(--seo-green)]`},J={key:0,class:`text-[var(--color-text-subtle)] truncate`},Y={key:1,class:`text-red-500`},X={class:`space-y-1.5`},re={class:`font-mono text-[var(--seo-green)] opacity-70`},ie={key:0,class:`text-[var(--color-text-subtle)] truncate`},ae={key:1,class:`text-[var(--color-text-subtle)] opacity-50`},Z=Object.assign(v(p({__name:`SchemaValidator`,props:{graph:{}},setup(i){let p=d(()=>{try{return JSON.parse(i.graph)}catch{return null}}),v=d(()=>p.value?C(p.value):null),y=d(()=>{if(!v.value)return null;let{summary:e}=v.value;return e.totalNodes===0?{variant:`warning`,icon:`carbon:warning`,message:`No structured data nodes detected on this page.`}:e.totalErrors>0?{variant:`error`,icon:`carbon:close-filled`,message:`Found ${e.totalErrors} missing required property${e.totalErrors>1?`ies`:`y`} across ${e.totalNodes} node${e.totalNodes>1?`s`:``}`}:e.totalWarnings>0?{variant:`warning`,icon:`carbon:warning`,message:`${e.totalWarnings} missing recommended property${e.totalWarnings>1?`ies`:`y`}, but all required fields present`}:{variant:`success`,icon:`carbon:checkmark-filled`,message:`All ${e.totalNodes} node${e.totalNodes>1?`s`:``} validated successfully.`}}),A=d(()=>v.value?v.value.nodes.filter(e=>D(e)!==`Unknown`):[]);function j(e){let t=D(e),n=S[t],r=k(e);return n?.recommended?.length&&r.missingRecommended.length===0&&r.missingRequired.length===0?`node-card-success`:E(t)&&(r.missingRecommended.length>0||r.missingRequired.length>0)?`node-card-active`:``}let M=new Set([`WebSite`,`WebPage`,`ImageObject`]),Z=d(()=>A.value.length>0&&A.value.every(e=>M.has(D(e))));return(i,d)=>{let p=b,C=N,M=w,Q=_,$=te,oe=ee;return r(),f(`div`,P,[m(y)?(r(),s(C,{key:0,variant:m(y).variant,icon:m(y).icon},g({default:l(()=>[c(`span`,F,e(m(y).message),1)]),_:2},[m(v)?{name:`action`,fn:l(()=>[c(`div`,I,[a(p,null,{default:l(()=>[h(e(m(v).summary.totalNodes)+` nodes `,1)]),_:1}),m(v).summary.richResultNodes>0?(r(),s(p,{key:0,color:`primary`},{default:l(()=>[h(e(m(v).summary.richResultNodes)+` rich result eligible `,1)]),_:1})):o(``,!0)])]),key:`0`}:void 0]),1032,[`variant`,`icon`])):o(``,!0),m(Z)?(r(),s(M,{key:1,title:`Only foundation schemas detected`,description:`Only WebSite, WebPage, and ImageObject found. Consider adding rich result schemas for better search visibility.`,icon:`carbon:information`})):o(``,!0),(r(!0),f(u,null,n(m(A),(i,g)=>(r(),f(`div`,{key:g,class:t([`node-card`,j(i)])},[c(`div`,L,[c(`div`,R,[a(Q,{name:m(ne)(m(D)(i)),class:t(m(E)(m(D)(i))?`text-[var(--seo-green)]`:`text-[var(--color-text-muted)]`)},null,8,[`name`,`class`]),c(`span`,z,e(m(D)(i)),1),m(E)(m(D)(i))?(r(),s(p,{key:0,color:`primary`},{default:l(()=>[...d[0]||=[h(` Rich Result `,-1)]]),_:1})):o(``,!0)]),m(S)[m(D)(i)]?(r(),f(`a`,{key:0,href:m(S)[m(D)(i)].documentationUrl,target:`_blank`,class:`text-xs text-[var(--color-text-muted)] hover:text-[var(--seo-green)] transition-colors flex items-center gap-1`},[a(Q,{name:`carbon:launch`,class:`text-[10px]`}),d[1]||=h(` Docs `,-1)],8,B)):o(``,!0)]),m(x)(i)?(r(),f(`p`,V,e(m(x)(i)),1)):o(``,!0),m(k)(i).missingRequired.length>0?(r(),s(C,{key:1,variant:`error`,class:`mb-3`},{default:l(()=>[d[2]||=c(`span`,{class:`font-medium`},`Missing required:`,-1),c(`span`,H,e(m(k)(i).missingRequired.join(`, `)),1)]),_:2},1024)):m(S)[m(D)(i)]?.recommended?.length>0&&m(k)(i).missingRecommended.length===0?(r(),s(C,{key:2,variant:`success`,class:`mb-3`},{default:l(()=>[...d[3]||=[c(`span`,{class:`font-medium`},`Excellent!`,-1),c(`span`,{class:`ml-1 opacity-80`},`All recommended properties present`,-1)]]),_:1})):m(k)(i).missingRecommended.length>0&&m(k)(i).missingRecommended.length<=5?(r(),s(C,{key:3,variant:`warning`,class:`mb-3`},{default:l(()=>[d[4]||=c(`span`,{class:`font-medium`},`Missing recommended:`,-1),c(`span`,U,e(m(k)(i).missingRecommended.slice(0,5).join(`, `)),1)]),_:2},1024)):o(``,!0),c(`div`,W,[m(S)[m(D)(i)]?.required?.length>0?(r(),f(`div`,G,[d[5]||=c(`h5`,{class:`text-xs font-medium mb-2`},` Required Properties `,-1),c(`div`,K,[(r(!0),f(u,null,n(m(S)[m(D)(i)].required,n=>(r(),f(`div`,{key:n,class:`flex items-center gap-2 text-xs`},[a(Q,{name:m(T)(i,n)?`carbon:checkmark-filled`:`carbon:close-filled`,class:t(m(T)(i,n)?`text-green-500`:`text-red-500`)},null,8,[`name`,`class`]),c(`span`,q,e(n)+`:`,1),m(T)(i,n)?(r(),f(`span`,J,e(m(O)(m(T)(i,n))),1)):(r(),f(`span`,Y,`missing`))]))),128))])])):o(``,!0),m(S)[m(D)(i)]?.recommended?.length>0?(r(),s($,{key:1,text:`Recommended Properties (${Object.keys(m(k)(i).presentProperties).filter(e=>m(S)[m(D)(i)]?.recommended.includes(e)).length}/${m(S)[m(D)(i)]?.recommended.length})`,open:!1},{default:l(()=>[c(`div`,X,[(r(!0),f(u,null,n(m(S)[m(D)(i)].recommended,n=>(r(),f(`div`,{key:n,class:`flex items-center gap-2 text-xs`},[a(Q,{name:m(T)(i,n)?`carbon:checkmark`:`carbon:subtract`,class:t(m(T)(i,n)?`text-green-500`:`text-[var(--color-text-subtle)]`)},null,8,[`name`,`class`]),c(`span`,re,e(n)+`:`,1),m(T)(i,n)?(r(),f(`span`,ie,e(m(O)(m(T)(i,n))),1)):(r(),f(`span`,ae,`not set`))]))),128))])]),_:2},1032,[`text`])):o(``,!0),a($,{text:`View all properties (${Object.keys(i).length})`,open:!1},{default:l(()=>[a(oe,{code:JSON.stringify(i,null,2),lang:`json`},null,8,[`code`])]),_:2},1032,[`text`])])],2))),128))])}}}),[[`__scopeId`,`data-v-03662b0d`]]),{__name:`SchemaValidator`}),Q=p({__name:`index`,setup(e){return(e,t)=>{let n=Z;return r(),s(n,{graph:m(y)},null,8,[`graph`])}}});export{Q as default};